aboutsummaryrefslogtreecommitdiffstats
path: root/java/res/values
diff options
context:
space:
mode:
Diffstat (limited to 'java/res/values')
-rw-r--r--java/res/values/attrs.xml103
-rw-r--r--java/res/values/colors.xml41
-rw-r--r--java/res/values/config-auto-correction-thresholds.xml57
-rw-r--r--java/res/values/config-common.xml147
-rw-r--r--java/res/values/config-dictionary-pack.xml30
-rw-r--r--java/res/values/config-per-form-factor.xml32
-rw-r--r--java/res/values/config-screen-metrics.xml (renamed from java/res/values/urls.xml)6
-rw-r--r--java/res/values/config-spellchecker-thresholds.xml25
-rw-r--r--java/res/values/config.xml172
-rw-r--r--java/res/values/dimens.xml132
-rw-r--r--java/res/values/donottranslate-config-important-notice.xml30
-rw-r--r--java/res/values/donottranslate-config-spacing-and-punctuations.xml41
-rw-r--r--java/res/values/donottranslate.xml88
-rw-r--r--java/res/values/keyboard-heights.xml2
-rw-r--r--java/res/values/keyboard-icons-holo.xml4
-rw-r--r--java/res/values/keyboard-icons-lxx-dark.xml47
-rw-r--r--java/res/values/keyboard-themes.xml35
-rw-r--r--java/res/values/keypress-vibration-durations.xml2
-rw-r--r--java/res/values/keypress-volumes.xml2
-rw-r--r--java/res/values/phantom-sudden-move-event-device-list.xml2
-rw-r--r--java/res/values/platform-theme.xml24
-rw-r--r--java/res/values/research_strings.xml41
-rw-r--r--java/res/values/strings-action-keys.xml2
-rw-r--r--java/res/values/strings-config-important-notice.xml25
-rw-r--r--java/res/values/strings-emoji-descriptions.xml1671
-rw-r--r--java/res/values/strings-letter-descriptions.xml384
-rw-r--r--java/res/values/strings-production.xml24
-rw-r--r--java/res/values/strings-talkback-descriptions.xml152
-rw-r--r--java/res/values/strings.xml333
-rw-r--r--java/res/values/themes-common.xml95
-rw-r--r--java/res/values/themes-gb.xml146
-rw-r--r--java/res/values/themes-ics.xml66
-rw-r--r--java/res/values/themes-klp.xml66
-rw-r--r--java/res/values/themes-lxx-dark.xml139
-rw-r--r--java/res/values/touch-position-correction.xml20
35 files changed, 3240 insertions, 946 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 31945d020..396c166ab 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -32,8 +32,6 @@
<attr name="moreKeysKeyboardStyle" format="reference" />
<!-- MoreKeysKeyboardView style -->
<attr name="moreKeysKeyboardViewStyle" format="reference" />
- <!-- MoreKeysKeyboardView container style -->
- <attr name="moreKeysKeyboardContainerStyle" format="reference" />
<!-- Suggestions strip style -->
<attr name="suggestionStripViewStyle" format="reference" />
<!-- Suggestion word style -->
@@ -41,13 +39,17 @@
</declare-styleable>
<declare-styleable name="KeyboardView">
- <!-- Image for the key. This image needs to be a StateListDrawable, with the following
- possible states: normal, pressed, checkable, checkable+pressed, checkable+checked,
- checkable+checked+pressed. -->
+ <!-- Background image for the key. This image needs to be a {@link StateListDrawable},
+ with the following possible states: normal, pressed, checkable, checkable+pressed,
+ checkable+checked, checkable+checked+pressed. -->
<attr name="keyBackground" format="reference" />
- <!-- Image for the functional key used in Emoji layout. -->
- <attr name="keyBackgroundEmojiFunctional" format="reference" />
-
+ <!-- Background image for the functional key. This image needs to be a
+ {@link StateListDrawable}, with the following possible states: normal, pressed. -->
+ <attr name="functionalKeyBackground" format="reference" />
+ <!-- Background image for the spacebar. This image needs to be a
+ {@link StateListDrawable}, with the following possible states: normal, pressed. -->
+ <attr name="spacebarBackground" format="reference" />
+ <attr name="spacebarIconWidthRatio" format="float" />
<!-- Horizontal padding of left/right aligned key label to the edge of the key. -->
<attr name="keyLabelHorizontalPadding" format="dimension" />
<!-- Right padding of hint letter to the edge of the key.-->
@@ -69,12 +71,11 @@
</declare-styleable>
<declare-styleable name="MainKeyboardView">
- <attr name="autoCorrectionSpacebarLedEnabled" format="boolean" />
- <attr name="autoCorrectionSpacebarLedIcon" format="reference" />
<!-- Size of the text for spacebar language label, in the proportion of key height. -->
- <attr name="spacebarTextRatio" format="fraction" />
- <attr name="spacebarTextColor" format="color" />
- <attr name="spacebarTextShadowColor" format="color" />
+ <attr name="languageOnSpacebarTextRatio" format="fraction" />
+ <attr name="languageOnSpacebarTextColor" format="color" />
+ <attr name="languageOnSpacebarTextShadowRadius" format="float" />
+ <attr name="languageOnSpacebarTextShadowColor" format="color" />
<!-- Fadeout animator for spacebar language label. -->
<attr name="languageOnSpacebarFinalAlpha" format="integer" />
<attr name="languageOnSpacebarFadeoutAnimator" format="reference" />
@@ -89,8 +90,8 @@
<attr name="touchNoiseThresholdTime" format="integer" />
<!-- Touch noise threshold distance in millimeter -->
<attr name="touchNoiseThresholdDistance" format="dimension" />
- <!-- Sliding key input enable -->
- <attr name="slidingKeyInputEnable" format="boolean" />
+ <!-- Enable key selection by dragging finger -->
+ <attr name="keySelectionByDraggingFinger" format="boolean" />
<attr name="slidingKeyInputPreviewColor" format="color" />
<attr name="slidingKeyInputPreviewWidth" format="dimension" />
<attr name="slidingKeyInputPreviewBodyRatio" format="integer" />
@@ -103,12 +104,13 @@
<attr name="longPressShiftLockTimeout" format="integer" />
<!-- Ignore special key timeout while typing in millisecond. -->
<attr name="ignoreAltCodeKeyTimeout" format="integer" />
- <!-- Layout resource for key press feedback.-->
- <attr name="keyPreviewLayout" format="reference" />
+ <!-- Background resource for key press feedback.-->
+ <attr name="keyPreviewBackground" format="reference" />
<!-- Vertical offset of the key press feedback from the key. -->
<attr name="keyPreviewOffset" format="dimension" />
<!-- Height of the key press feedback popup. -->
<attr name="keyPreviewHeight" format="dimension" />
+ <!-- TODO: consolidate key preview linger timeout with the key preview animation parameters. -->
<!-- Delay after key releasing and key press feedback dismissing in millisecond -->
<attr name="keyPreviewLingerTimeout" format="integer" />
<!-- Layout resource for more keys keyboard -->
@@ -168,11 +170,22 @@
</declare-styleable>
<declare-styleable name="EmojiPalettesView">
- <attr name="emojiTabLabelColor" format="reference" />
+ <attr name="categoryIndicatorEnabled" format="boolean" />
+ <attr name="categoryIndicatorDrawable" format="reference" />
+ <attr name="categoryIndicatorBackground" format="reference" />
+ <attr name="categoryPageIndicatorColor" format="color" />
+ <attr name="categoryPageIndicatorBackground" format="color" />
+ <attr name="iconEmojiRecentsTab" format="reference" />
+ <attr name="iconEmojiCategory1Tab" format="reference" />
+ <attr name="iconEmojiCategory2Tab" format="reference" />
+ <attr name="iconEmojiCategory3Tab" format="reference" />
+ <attr name="iconEmojiCategory4Tab" format="reference" />
+ <attr name="iconEmojiCategory5Tab" format="reference" />
+ <attr name="iconEmojiCategory6Tab" format="reference" />
</declare-styleable>
<declare-styleable name="SuggestionStripView">
- <attr name="suggestionStripOption" format="integer">
+ <attr name="suggestionStripOptions" format="integer">
<!-- This should be aligned with SuggestionStripLayoutHelper.AUTO_CORRECT_* and etc. -->
<flag name="autoCorrectBold" value="0x01" />
<flag name="autoCorrectUnderline" value="0x02" />
@@ -214,10 +227,14 @@
<attr name="iconSettingsKey" format="reference" />
<attr name="iconSpaceKey" format="reference" />
<attr name="iconEnterKey" format="reference" />
+ <attr name="iconGoKey" format="reference" />
<attr name="iconSearchKey" format="reference" />
+ <attr name="iconSendKey" format="reference" />
+ <attr name="iconNextKey" format="reference" />
+ <attr name="iconDoneKey" format="reference" />
+ <attr name="iconPreviousKey" format="reference" />
<attr name="iconTabKey" format="reference" />
<attr name="iconShortcutKey" format="reference" />
- <attr name="iconShortcutForLabel" format="reference" />
<attr name="iconSpaceKeyForNumberLayout" format="reference" />
<attr name="iconShiftKeyShifted" format="reference" />
<attr name="iconShortcutKeyDisabled" format="reference" />
@@ -235,10 +252,6 @@
</declare-styleable>
<declare-styleable name="Keyboard_Key">
- <!-- The unicode value that this key outputs.
- Code value represented in hexadecimal prefixed with "0x" or code value reference using
- "!code/<code_name>" notation. -->
- <attr name="code" format="string" />
<!-- The alternate unicode value that this key outputs while typing.
Code value represented in hexadecimal prefixed with "0x" or code value reference using
"!code/<code_name>" notation. -->
@@ -270,20 +283,22 @@
<flag name="altCodeWhileTyping" value="0x04" />
<flag name="enableLongPress" value="0x08" />
</attr>
- <!-- The string of characters to output when this key is pressed. -->
- <attr name="keyOutputText" format="string" />
- <!-- The label to display on the key. -->
- <attr name="keyLabel" format="string" />
+ <!-- The label, icon to display on the key. And code, outputText of the key. -->
+ <attr name="keySpec" format="string" />
<!-- The hint label to display on the key in conjunction with the label. -->
<attr name="keyHintLabel" format="string" />
+ <!-- The vertical adjustment of key hint label in proportion to its height. -->
+ <attr name="keyHintLabelVerticalAdjustment" format="fraction" />
<!-- The key label flags. -->
<attr name="keyLabelFlags" format="integer">
<!-- This should be aligned with Key.LABEL_FLAGS__* -->
<flag name="alignLeft" value="0x01" />
<flag name="alignRight" value="0x02" />
+ <flag name="alignButtom" value="0x04" />
<flag name="alignLeftOfCenter" value="0x08" />
<flag name="fontNormal" value="0x10" />
<flag name="fontMonoSpace" value="0x20" />
+ <flag name="fontDefault" value="0x30" />
<flag name="followKeyLargeLetterRatio" value="0x40" />
<flag name="followKeyLetterRatio" value="0x80" />
<flag name="followKeyLabelRatio" value="0xC0" />
@@ -292,24 +307,28 @@
<flag name="hasPopupHint" value="0x200" />
<flag name="hasShiftedLetterHint" value="0x400" />
<flag name="hasHintLabel" value="0x800" />
+ <!-- These two flags are currently unused. Leave these for possible future use. -->
<flag name="withIconLeft" value="0x1000" />
<flag name="withIconRight" value="0x2000" />
<flag name="autoXScale" value="0x4000" />
+ <!-- The autoScale value implies autoXScale bit on to optimize scaling code path. -->
+ <flag name="autoScale" value="0xc000" />
<!-- If true, character case of code, altCode, moreKeys, keyOutputText, keyLabel,
or keyHintLabel will never be subject to change. -->
- <flag name="preserveCase" value="0x8000" />
+ <flag name="preserveCase" value="0x10000" />
<!-- If true, use keyShiftedLetterHintActivatedColor for the shifted letter hint and
keyTextInactivatedColor for the primary key top label. -->
- <flag name="shiftedLetterActivated" value="0x10000" />
+ <flag name="shiftedLetterActivated" value="0x20000" />
<!-- If true, use EditorInfo.actionLabel for the key label. -->
- <flag name="fromCustomActionLabel" value="0x20000" />
+ <flag name="fromCustomActionLabel" value="0x40000" />
+ <!-- If true, use functionalTextColor instead of ketTextColor to drawing the label on
+ the key -->
+ <flag name="followFunctionalTextColor" value="0x80000" />
<!-- If true, disable keyHintLabel. -->
<flag name="disableKeyHintLabel" value="0x40000000" />
<!-- If true, disable additionalMoreKeys. -->
<flag name="disableAdditionalMoreKeys" value="0x80000000" />
</attr>
- <!-- The icon to display on the key instead of the label. -->
- <attr name="keyIcon" format="string" />
<!-- The icon for disabled key -->
<attr name="keyIconDisabled" format="string" />
<!-- The icon to show in the popup preview. -->
@@ -361,6 +380,8 @@
<attr name="keyTextShadowColor" format="color" />
<!-- Color to use for the label in a key when in inactivated state. -->
<attr name="keyTextInactivatedColor" format="color" />
+ <!-- Color to use for the label in a key that has followFunctionalTextColor keyLabelFlags. -->
+ <attr name="functionalTextColor" format="color" />
<!-- Key hint letter (= one character hint label) color -->
<attr name="keyHintLetterColor" format="color" />
<!-- Key hint label color -->
@@ -415,8 +436,6 @@
<attr name="navigatePrevious" format="boolean" />
<attr name="passwordInput" format="boolean" />
<attr name="clobberSettingsKey" format="boolean" />
- <attr name="shortcutKeyEnabled" format="boolean" />
- <attr name="shortcutKeyOnSymbols" format="boolean" />
<attr name="hasShortcutKey" format="boolean" />
<attr name="languageSwitchKeyEnabled" format="boolean" />
<attr name="isMultiLine" format="boolean" />
@@ -433,6 +452,7 @@
<!-- This should be aligned with KeyboardId.IME_ACTION_* -->
<enum name="actionCustomLabel" value="0x100" />
</attr>
+ <attr name="isIconDefined" format="string" />
<attr name="localeCode" format="string" />
<attr name="languageCode" format="string" />
<attr name="countryCode" format="string" />
@@ -469,6 +489,19 @@
<attr name="enableProximityCharsCorrection" format="boolean" />
</declare-styleable>
+ <declare-styleable name="KeyboardLayoutSet_Feature">
+ <!-- This should be aligned with ScriptUtils.SCRIPT_* -->
+ <attr name="supportedScript" format="enum">
+ <enum name="latin" value="0" />
+ <enum name="cyrillic" value="1" />
+ <enum name="greek" value="2" />
+ <enum name="arabic" value="3" />
+ <enum name="hebrew" value="4" />
+ <enum name="armenian" value="5" />
+ <enum name="georgian" value="6" />
+ </attr>
+ </declare-styleable>
+
<declare-styleable name="SeekBarDialogPreference">
<attr name="maxValue" format="integer" />
<attr name="minValue" format="integer" />
diff --git a/java/res/values/colors.xml b/java/res/values/colors.xml
index 93f25a7f6..0eee08de2 100644
--- a/java/res/values/colors.xml
+++ b/java/res/values/colors.xml
@@ -19,27 +19,13 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- Color resources for Gingerbread theme. -->
- <color name="highlight_color_gb">#FFFCAE00</color>
- <color name="typed_word_color_gb">@android:color/white</color>
- <color name="highlight_translucent_color_gb">#99FCAE00</color>
- <color name="key_text_color_gb">@android:color/white</color>
- <color name="key_text_shadow_color_gb">#BB000000</color>
- <color name="key_text_inactivated_color_gb">#66E0E4E5</color>
- <color name="key_hint_letter_color_gb">#80000000</color>
- <color name="key_hint_label_color_gb">#E0E0E4E5</color>
- <color name="key_shifted_letter_hint_inactivated_color_gb">#66E0E4E5</color>
- <color name="key_shifted_letter_hint_activated_color_gb">#CCE0E4E5</color>
- <color name="spacebar_text_color_gb">#FFC0C0C0</color>
- <color name="spacebar_text_shadow_color_gb">#80000000</color>
- <color name="gesture_floating_preview_color_gb">#C0000000</color>
<!-- Color resources for IceCreamSandwich theme. Base color = 33B5E5 -->
<!-- android:color/holo_blue_light value is #FF33B5E5 -->
<color name="highlight_color_ics">#FF33B5E5</color>
<color name="typed_word_color_ics">#D833B5E5</color>
<color name="suggested_word_color_ics">#B233B5E5</color>
<color name="highlight_translucent_color_ics">#9933B5E5</color>
- <color name="key_text_shadow_color_holo">@android:color/transparent</color>
+ <color name="key_text_color_holo">@android:color/white</color>
<color name="key_text_inactivated_color_holo">#66E0E4E5</color>
<color name="key_hint_letter_color_holo">#80000000</color>
<color name="key_hint_label_color_holo">#A0FFFFFF</color>
@@ -48,24 +34,31 @@
<color name="spacebar_text_color_holo">#FFC0C0C0</color>
<color name="spacebar_text_shadow_color_holo">#80000000</color>
<color name="gesture_floating_preview_color_holo">#C0000000</color>
+ <color name="emoji_tab_page_indicator_background_holo">#111111</color>
<!-- Color resources for KLP theme. Base color = F0F0F0 -->
<color name="highlight_color_klp">#FFF0F0F0</color>
<color name="typed_word_color_klp">#D8F0F0F0</color>
<color name="suggested_word_color_klp">#B2F0F0F0</color>
<color name="highlight_translucent_color_klp">#99E0E0E0</color>
+ <!-- Color resources for LXX theme. Base color = F0F0F0 -->
+ <color name="key_text_color_lxx_dark">#FFFFFF</color>
+ <color name="key_text_inactive_color_lxx_dark">#808184</color>
+ <color name="key_hint_letter_color_lxx_dark">#808184</color>
+ <color name="highlight_color_lxx_dark">#7FCAC3</color>
+ <color name="typed_word_color_lxx_dark">#D87FCAC3</color>
+ <color name="suggested_word_color_lxx_dark">#B27FCAC3</color>
+ <color name="highlight_translucent_color_lxx_dark">#997FCAC3</color>
+ <color name="keyboard_background_lxx_dark">#384248</color>
+ <color name="key_background_lxx_dark">#384248</color>
+ <color name="key_background_pressed_lxx_dark">#546872</color>
+ <color name="suggestions_strip_background_lxx_dark">#263238</color>
+ <color name="suggested_word_background_selected_lxx_dark">#384248</color>
+ <color name="gesture_floating_preview_color_lxx_dark">#C0000000</color>
+ <color name="emoji_tab_page_indicator_background_lxx_dark">#263238</color>
<!-- Color resources for setup wizard and tutorial -->
<color name="setup_background">#FFEBEBEB</color>
<color name="setup_text_dark">#FF707070</color>
<color name="setup_text_action">@android:color/holo_blue_light</color>
<color name="setup_step_background">@android:color/background_light</color>
<color name="setup_welcome_video_margin_color">#FFCCCCCC</color>
- <color name="emoji_category_page_id_view_background">#FF000000</color>
- <color name="emoji_category_page_id_view_foreground">#80FFFFFF</color>
-
- <!-- TODO: Color which should be included in the theme -->
- <color name="emoji_key_background_color">#00000000</color>
- <color name="emoji_key_pressed_background_color">#30FFFFFF</color>
-
- <color name="key_text_color_normal_holo">@android:color/white</color>
- <color name="key_text_color_functional_holo">@android:color/white</color>
</resources>
diff --git a/java/res/values/config-auto-correction-thresholds.xml b/java/res/values/config-auto-correction-thresholds.xml
new file mode 100644
index 000000000..7d94a42a4
--- /dev/null
+++ b/java/res/values/config-auto-correction-thresholds.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+ <!-- The array of auto correction threshold values. -->
+ <string-array name="auto_correction_threshold_values" translatable="false">
+ <!-- Off, When auto correction setting is Off, this value is not used. -->
+ <item>floatMaxValue</item>
+ <!-- Modest : Suggestion whose normalized score is greater than this value
+ will be subject to auto-correction. -->
+ <item>0.185</item>
+ <!-- Aggressive -->
+ <item>0.067</item>
+ <!-- Very Aggressive : Suggestion whose normalized score is greater than this value
+ will be subject to auto-correction. "floatNegativeInfinity" is a special marker
+ string for Float.NEGATIVE_INFINITY -->
+ <item>floatNegativeInfinity</item>
+ </string-array>
+
+ <!-- The index of the auto correction threshold values array. -->
+ <string name="auto_correction_threshold_mode_index_off" translatable="false">0</string>
+ <string name="auto_correction_threshold_mode_index_modest" translatable="false">1</string>
+ <string name="auto_correction_threshold_mode_index_aggressive" translatable="false">2</string>
+ <string name="auto_correction_threshold_mode_index_very_aggressive" translatable="false">3</string>
+
+ <!-- The array of the auto correction threshold settings values. -->
+ <string-array name="auto_correction_threshold_mode_indexes" translatable="false">
+ <item>@string/auto_correction_threshold_mode_index_off</item>
+ <item>@string/auto_correction_threshold_mode_index_modest</item>
+ <item>@string/auto_correction_threshold_mode_index_aggressive</item>
+ <item>@string/auto_correction_threshold_mode_index_very_aggressive</item>
+ </string-array>
+ <!-- The array of the human readable auto correction threshold settings entries. -->
+ <string-array name="auto_correction_threshold_modes" translatable="false">
+ <item>@string/auto_correction_threshold_mode_off</item>
+ <item>@string/auto_correction_threshold_mode_modest</item>
+ <item>@string/auto_correction_threshold_mode_aggressive</item>
+ <item>@string/auto_correction_threshold_mode_very_aggressive</item>
+ </string-array>
+</resources>
diff --git a/java/res/values/config-common.xml b/java/res/values/config-common.xml
new file mode 100644
index 000000000..063fbfb37
--- /dev/null
+++ b/java/res/values/config-common.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+ <bool name="config_block_potentially_offensive">true</bool>
+ <!-- Default value for next word prediction: after entering a word and a space only, should we look
+ at input history to suggest a hopefully helpful suggestions for the next word? -->
+ <bool name="config_default_next_word_prediction">true</bool>
+
+ <integer name="config_delay_update_shift_state">100</integer>
+ <integer name="config_double_space_period_timeout">1100</integer>
+
+ <integer name="config_key_repeat_start_timeout">400</integer>
+ <integer name="config_key_repeat_interval">50</integer>
+
+ <integer name="config_ignore_alt_code_key_timeout">350</integer>
+
+ <integer name="config_key_preview_show_up_duration">17</integer>
+ <integer name="config_key_preview_dismiss_duration">53</integer>
+ <fraction name="config_key_preview_show_up_start_scale">98%</fraction>
+ <fraction name="config_key_preview_dismiss_end_scale">94%</fraction>
+ <!-- TODO: consolidate key preview linger timeout with the above animation parameters. -->
+ <integer name="config_key_preview_linger_timeout">70</integer>
+ <!-- Suppress showing key preview duration after batch input in millisecond -->
+ <integer name="config_suppress_key_preview_after_batch_input_duration">1000</integer>
+
+ <bool name="config_default_vibration_enabled">true</bool>
+ <integer name="config_max_vibration_duration">100</integer>
+
+ <integer name="config_default_longpress_key_timeout">300</integer>
+ <integer name="config_max_longpress_timeout">700</integer>
+ <integer name="config_min_longpress_timeout">100</integer>
+ <integer name="config_longpress_timeout_step">10</integer>
+ <integer name="config_accessibility_long_press_key_timeout">3000</integer>
+ <integer name="config_max_more_keys_column">5</integer>
+ <integer name="config_more_keys_keyboard_fadein_anim_time">0</integer>
+ <integer name="config_more_keys_keyboard_fadeout_anim_time">100</integer>
+
+ <!-- Long pressing shift will invoke caps-lock if > 0, never invoke caps-lock if == 0 -->
+ <integer name="config_longpress_shift_lock_timeout">1200</integer>
+
+ <!-- Sliding key input preview parameters -->
+ <dimen name="config_sliding_key_input_preview_width">8.0dp</dimen>
+ <!-- Percentages of sliding key input preview body and shadow, in proportion to the width.
+ A negative value of the shadow ratio disables drawing shadow. -->
+ <!-- TODO: May use the shadow to alleviate rugged trail drawing. -->
+ <integer name="config_sliding_key_input_preview_body_ratio">100</integer>
+ <integer name="config_sliding_key_input_preview_shadow_ratio">-1</integer>
+ <dimen name="config_key_hysteresis_distance_for_sliding_modifier">8.0dp</dimen>
+
+ <integer name="config_language_on_spacebar_final_alpha">128</integer>
+ <dimen name="config_language_on_spacebar_horizontal_margin">1dp</dimen>
+
+ <integer name="config_gesture_floating_preview_text_linger_timeout">200</integer>
+ <integer name="config_gesture_trail_fadeout_start_delay">100</integer>
+ <integer name="config_gesture_trail_fadeout_duration">800</integer>
+ <integer name="config_gesture_trail_update_interval">20</integer>
+ <!-- Static threshold for gesture after fast typing (msec) -->
+ <integer name="config_gesture_static_time_threshold_after_fast_typing">500</integer>
+ <!-- Static threshold for starting gesture detection (keyWidth%/sec) -->
+ <fraction name="config_gesture_detect_fast_move_speed_threshold">150%</fraction>
+ <!-- Dynamic threshold for gesture after fast typing (msec) -->
+ <integer name="config_gesture_dynamic_threshold_decay_duration">450</integer>
+ <!-- Time based threshold values for gesture detection (msec) -->
+ <integer name="config_gesture_dynamic_time_threshold_from">300</integer>
+ <integer name="config_gesture_dynamic_time_threshold_to">20</integer>
+ <!-- Distance based threshold values for gesture detection (keyWidth%/sec) -->
+ <fraction name="config_gesture_dynamic_distance_threshold_from">600%</fraction>
+ <fraction name="config_gesture_dynamic_distance_threshold_to">50%</fraction>
+ <!-- Parameter for gesture sampling (keyWidth%/sec) -->
+ <fraction name="config_gesture_sampling_minimum_distance">16.6666%</fraction>
+ <!-- Parameters for gesture recognition (msec) and (keyWidth%/sec) -->
+ <integer name="config_gesture_recognition_minimum_time">100</integer>
+ <integer name="config_gesture_recognition_update_time">100</integer>
+ <fraction name="config_gesture_recognition_speed_threshold">550%</fraction>
+
+ <integer name="config_keyboard_grid_width">32</integer>
+ <integer name="config_keyboard_grid_height">16</integer>
+ <dimen name="config_touch_noise_threshold_distance">12.6dp</dimen>
+ <integer name="config_touch_noise_threshold_time">40</integer>
+
+ <!-- Common keyboard configuration. -->
+ <fraction name="config_keyboard_left_padding">0%p</fraction>
+ <fraction name="config_keyboard_right_padding">0%p</fraction>
+ <dimen name="config_keyboard_vertical_correction">0.0dp</dimen>
+
+ <!-- Common key top visual configuration. -->
+ <dimen name="config_key_popup_hint_letter_padding">2dp</dimen>
+
+ <!-- Common suggestion strip configuration. -->
+ <integer name="config_suggestions_count_in_strip">3</integer>
+ <fraction name="config_center_suggestion_percentile">36%</fraction>
+ <integer name="config_delay_update_suggestions">100</integer>
+ <integer name="config_delay_update_old_suggestions">300</integer>
+
+ <!-- Common more suggestions configuraion. -->
+ <dimen name="config_more_suggestions_key_horizontal_padding">12dp</dimen>
+ <dimen name="config_more_suggestions_bottom_gap">6dp</dimen>
+ <dimen name="config_more_suggestions_modal_tolerance">32.0dp</dimen>
+ <fraction name="config_more_suggestions_info_ratio">18%</fraction>
+
+ <!-- Common gesture trail parameters -->
+ <!-- Minimum distance between gesture trail sampling points. -->
+ <dimen name="config_gesture_trail_min_sampling_distance">9.6dp</dimen>
+ <!-- Maximum angular threshold between gesture trails interpolation segments in degree. -->
+ <integer name="config_gesture_trail_max_interpolation_angular_threshold">15</integer>
+ <!-- Maximum distance threshold between gesture trails interpolation segments. -->
+ <dimen name="config_gesture_trail_max_interpolation_distance_threshold">16.0dp</dimen>
+ <!-- Maximum number of gesture trail interpolation segments. -->
+ <integer name="config_gesture_trail_max_interpolation_segments">6</integer>
+ <dimen name="config_gesture_trail_start_width">10.0dp</dimen>
+ <dimen name="config_gesture_trail_end_width">2.5dp</dimen>
+ <!-- Percentages of gesture preview taril body and shadow, in proportion to the trail width.
+ A negative value of the shadow ratio disables drawing shadow. -->
+ <!-- TODO: May use the shadow to alleviate rugged trail drawing. -->
+ <integer name="config_gesture_trail_body_ratio">100</integer>
+ <integer name="config_gesture_trail_shadow_ratio">-1</integer>
+
+ <!-- Common configuration of Emoji keyboard -->
+ <dimen name="config_emoji_category_page_id_height">2dp</dimen>
+
+ <!-- Inset used in Accessibility mode to avoid accidental key presses when a finger slides off the screen. -->
+ <dimen name="config_accessibility_edge_slop">8dp</dimen>
+
+ <integer name="config_user_dictionary_max_word_length">48</integer>
+
+ <!-- Personalization configuration -->
+ <!-- -1 means periocical wipe of the personalization dict is disabled. -->
+ <integer name="config_personalization_dict_wipe_interval_in_days">-1</integer>
+</resources>
diff --git a/java/res/values/config-dictionary-pack.xml b/java/res/values/config-dictionary-pack.xml
new file mode 100644
index 000000000..d076af452
--- /dev/null
+++ b/java/res/values/config-dictionary-pack.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Configuration values for Dictionary pack. -->
+<resources>
+ <!-- Settings for the dictionary pack -->
+ <bool name="allow_over_metered">false</bool>
+ <bool name="allow_over_roaming">false</bool>
+ <bool name="dict_downloads_visible_in_download_UI">false</bool>
+ <bool name="metadata_downloads_visible_in_download_UI">false</bool>
+ <bool name="display_notification_for_auto_update">false</bool>
+ <bool name="display_notification_for_user_requested_update">false</bool>
+</resources>
diff --git a/java/res/values/config-per-form-factor.xml b/java/res/values/config-per-form-factor.xml
new file mode 100644
index 000000000..67fc75134
--- /dev/null
+++ b/java/res/values/config-per-form-factor.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Configuration values for Small Phone. -->
+<resources>
+ <bool name="config_enable_show_key_preview_popup_option">true</bool>
+ <!-- Whether or not Popup on key press is enabled by default -->
+ <bool name="config_default_key_preview_popup">true</bool>
+ <bool name="config_default_sound_enabled">false</bool>
+ <bool name="config_enable_show_voice_key_option">true</bool>
+ <bool name="config_key_selection_by_dragging_finger">true</bool>
+ <!-- Showing more keys keyboard, just above the touched point if true, aligned to the key if
+ false -->
+ <bool name="config_show_more_keys_keyboard_at_touched_point">false</bool>
+</resources>
diff --git a/java/res/values/urls.xml b/java/res/values/config-screen-metrics.xml
index a8e9ad7d3..99629944a 100644
--- a/java/res/values/urls.xml
+++ b/java/res/values/config-screen-metrics.xml
@@ -2,7 +2,7 @@
<!--
/*
**
-** Copyright 2012, The Android Open Source Project
+** 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.
@@ -17,6 +17,8 @@
** limitations under the License.
*/
-->
+
<resources>
- <string name="research_logger_upload_url" translatable="false"></string>
+ <!-- Must be aligned with {@link Constants#SCREEN_METRICS_SMALL_PHONE}. -->
+ <integer name="config_screen_metrics">0</integer>
</resources>
diff --git a/java/res/values/config-spellchecker-thresholds.xml b/java/res/values/config-spellchecker-thresholds.xml
new file mode 100644
index 000000000..e99ba6621
--- /dev/null
+++ b/java/res/values/config-spellchecker-thresholds.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+ <!-- Threshold of the normalized score of the best suggestion for the spell checker to declare
+ a word to be "recommended" -->
+ <string name="spellchecker_recommended_threshold_value" translatable="false">0.11</string>
+</resources>
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index 61779d4b5..709121392 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -18,120 +18,72 @@
*/
-->
+<!-- Configuration values for Small Phone Portrait. -->
<resources>
<bool name="config_use_fullscreen_mode">false</bool>
- <bool name="config_enable_show_voice_key_option">true</bool>
- <bool name="config_enable_show_option_of_key_preview_popup">true</bool>
- <!-- TODO: Disable the following configuration for production. -->
- <bool name="config_enable_usability_study_mode_option">true</bool>
- <!-- Whether or not Popup on key press is enabled by default -->
- <bool name="config_default_key_preview_popup">true</bool>
- <!-- Default value for next word prediction: after entering a word and a space only, should we look
- at input history to suggest a hopefully helpful suggestions for the next word? -->
- <bool name="config_default_next_word_prediction">true</bool>
- <bool name="config_default_sound_enabled">false</bool>
- <bool name="config_default_vibration_enabled">true</bool>
- <integer name="config_max_vibration_duration">100</integer> <!-- milliseconds -->
- <integer name="config_delay_update_suggestions">100</integer>
- <integer name="config_delay_update_old_suggestions">300</integer>
- <integer name="config_delay_update_shift_state">100</integer>
- <integer name="config_language_on_spacebar_final_alpha">128</integer>
- <integer name="config_more_keys_keyboard_fadein_anim_time">0</integer>
- <integer name="config_more_keys_keyboard_fadeout_anim_time">100</integer>
- <integer name="config_keyboard_grid_width">32</integer>
- <integer name="config_keyboard_grid_height">16</integer>
- <integer name="config_double_space_period_timeout">1100</integer>
- <!-- This configuration is an index of {@link KeyboardSwitcher#KEYBOARD_THEMES[]}. -->
- <string name="config_default_keyboard_theme_index" translatable="false">2</string>
- <integer name="config_max_more_keys_column">5</integer>
- <!--
- Configuration for MainKeyboardView
- -->
<dimen name="config_key_hysteresis_distance">8.0dp</dimen>
- <dimen name="config_key_hysteresis_distance_for_sliding_modifier">8.0dp</dimen>
- <integer name="config_touch_noise_threshold_time">40</integer>
- <dimen name="config_touch_noise_threshold_distance">12.6dp</dimen>
- <integer name="config_key_preview_linger_timeout">70</integer>
- <bool name="config_sliding_key_input_enabled">true</bool>
- <!-- Sliding key input preview parameters -->
- <dimen name="config_sliding_key_input_preview_width">8.0dp</dimen>
- <!-- Percentages of sliding key input preview body and shadow, in proportion to the width.
- A negative value of the shadow ratio disables drawing shadow. -->
- <!-- TODO: May use the shadow to alleviate rugged trail drawing. -->
- <integer name="config_sliding_key_input_preview_body_ratio">100</integer>
- <integer name="config_sliding_key_input_preview_shadow_ratio">-1</integer>
- <integer name="config_key_repeat_start_timeout">400</integer>
- <integer name="config_key_repeat_interval">50</integer>
- <integer name="config_default_longpress_key_timeout">300</integer> <!-- milliseconds -->
- <integer name="config_longpress_timeout_step">10</integer> <!-- milliseconds -->
- <integer name="config_min_longpress_timeout">100</integer> <!-- milliseconds -->
- <integer name="config_max_longpress_timeout">700</integer> <!-- milliseconds -->
- <!-- Long pressing shift will invoke caps-lock if > 0, never invoke caps-lock if == 0 -->
- <integer name="config_longpress_shift_lock_timeout">1200</integer> <!-- milliseconds -->
- <integer name="config_ignore_alt_code_key_timeout">350</integer> <!-- milliseconds -->
- <!-- Showing more keys keyboard, just above the touched point if true, aligned to the key if
- false -->
- <bool name="config_show_more_keys_keyboard_at_touched_point">false</bool>
- <bool name="config_block_potentially_offensive">true</bool>
- <integer name="config_gesture_floating_preview_text_linger_timeout">200</integer>
- <integer name="config_gesture_trail_fadeout_start_delay">100</integer>
- <integer name="config_gesture_trail_fadeout_duration">800</integer>
- <integer name="config_gesture_trail_update_interval">20</integer>
- <!-- Static threshold for gesture after fast typing (msec) -->
- <integer name="config_gesture_static_time_threshold_after_fast_typing">500</integer>
- <!-- Static threshold for starting gesture detection (keyWidth%/sec) -->
- <fraction name="config_gesture_detect_fast_move_speed_threshold">150%</fraction>
- <!-- Dynamic threshold for gesture after fast typing (msec) -->
- <integer name="config_gesture_dynamic_threshold_decay_duration">450</integer>
- <!-- Time based threshold values for gesture detection (msec) -->
- <integer name="config_gesture_dynamic_time_threshold_from">300</integer>
- <integer name="config_gesture_dynamic_time_threshold_to">20</integer>
- <!-- Distance based threshold values for gesture detection (keyWidth%/sec) -->
- <fraction name="config_gesture_dynamic_distance_threshold_from">600%</fraction>
- <fraction name="config_gesture_dynamic_distance_threshold_to">50%</fraction>
- <!-- Parameter for gesture sampling (keyWidth%/sec) -->
- <fraction name="config_gesture_sampling_minimum_distance">16.6666%</fraction>
- <!-- Parameters for gesture recognition (msec) and (keyWidth%/sec) -->
- <integer name="config_gesture_recognition_minimum_time">100</integer>
- <integer name="config_gesture_recognition_update_time">100</integer>
- <fraction name="config_gesture_recognition_speed_threshold">550%</fraction>
- <!-- Suppress showing key preview duration after batch input in millisecond -->
- <integer name="config_suppress_key_preview_after_batch_input_duration">1000</integer>
- <!--
- Configuration for auto correction
- -->
- <string-array name="auto_correction_threshold_values" translatable="false">
- <!-- Off, When auto correction setting is Off, this value is not used. -->
- <item>floatMaxValue</item>
- <!-- Modest : Suggestion whose normalized score is greater than this value
- will be subject to auto-correction. -->
- <item>0.185</item>
- <!-- Aggressive -->
- <item>0.067</item>
- <!-- Very Aggressive : Suggestion whose normalized score is greater than this value
- will be subject to auto-correction. "floatNegativeInfinity" is a special marker
- string for Float.NEGATIVE_INFINITY -->
- <item>floatNegativeInfinity</item>
- </string-array>
- <!-- Threshold of the normalized score of the best suggestion for the spell checker to declare
- a word to be "recommended" -->
- <string name="spellchecker_recommended_threshold_value" translatable="false">0.11</string>
- <!-- Screen metrics for logging.
- 0 = "mdpi phone screen"
- 1 = "hdpi phone screen"
- 2 = "mdpi 11 inch tablet screen"
- 3 = "xhdpi phone screen?"
- 4 = ?
- -->
- <integer name="log_screen_metrics">0</integer>
- <!-- Settings for the dictionary pack -->
- <bool name="allow_over_metered">false</bool>
- <bool name="allow_over_roaming">false</bool>
- <bool name="dict_downloads_visible_in_download_UI">false</bool>
- <bool name="metadata_downloads_visible_in_download_UI">false</bool>
- <bool name="display_notification_for_auto_update">false</bool>
- <bool name="display_notification_for_user_requested_update">false</bool>
+ <!-- Preferable keyboard height in absolute scale: 1.285in -->
+ <!-- This config_default_keyboard_height value should match with keyboard-heights.xml -->
+ <dimen name="config_default_keyboard_height">205.6dp</dimen>
+ <fraction name="config_max_keyboard_height">46%p</fraction>
+ <fraction name="config_min_keyboard_height">-61.8%p</fraction>
+ <dimen name="config_more_keys_keyboard_key_height">52.8dp</dimen>
+ <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
+ <!-- config_more_keys_keyboard_key_height x 1.2 -->
+ <dimen name="config_more_keys_keyboard_slide_allowance">63.36dp</dimen>
+ <dimen name="config_more_keys_keyboard_key_horizontal_padding">8dp</dimen>
+
+ <fraction name="config_keyboard_top_padding_holo">2.335%p</fraction>
+ <fraction name="config_keyboard_bottom_padding_holo">4.669%p</fraction>
+ <fraction name="config_key_vertical_gap_holo">6.127%p</fraction>
+ <fraction name="config_key_horizontal_gap_holo">1.739%p</fraction>
+ <!-- config_more_keys_keyboard_key_height x -0.5 -->
+ <dimen name="config_more_keys_keyboard_vertical_correction_holo">-26.4dp</dimen>
+ <dimen name="config_key_preview_offset_holo">8.0dp</dimen>
+
+ <dimen name="config_key_preview_height">80dp</dimen>
+ <fraction name="config_key_preview_text_ratio">82%</fraction>
+ <fraction name="config_key_letter_ratio">55%</fraction>
+ <fraction name="config_key_large_letter_ratio">65%</fraction>
+ <fraction name="config_key_label_ratio">34%</fraction>
+ <fraction name="config_key_large_label_ratio">40%</fraction>
+ <fraction name="config_key_hint_letter_ratio">25%</fraction>
+ <fraction name="config_key_hint_label_ratio">44%</fraction>
+ <fraction name="config_key_shifted_letter_hint_ratio">35%</fraction>
+ <fraction name="config_language_on_spacebar_text_ratio">33.735%</fraction>
+ <dimen name="config_key_label_horizontal_padding">4dp</dimen>
+ <dimen name="config_key_hint_letter_padding">1dp</dimen>
+ <dimen name="config_key_shifted_letter_hint_padding">2dp</dimen>
+
+ <!-- For 5-row keyboard -->
+ <fraction name="config_key_vertical_gap_5row">3.20%p</fraction>
+ <fraction name="config_key_letter_ratio_5row">55%</fraction>
+ <fraction name="config_key_shifted_letter_hint_ratio_5row">41%</fraction>
+
+ <dimen name="config_suggestions_strip_height">40dp</dimen>
+ <dimen name="config_suggestions_strip_horizontal_margin">36dp</dimen>
+ <dimen name="config_suggestions_strip_edge_key_width">36dp</dimen>
+ <dimen name="config_more_suggestions_row_height">40dp</dimen>
+ <integer name="config_max_more_suggestions_row">6</integer>
+ <fraction name="config_min_more_suggestions_width">90%</fraction>
+ <dimen name="config_suggestion_min_width">44dp</dimen>
+ <dimen name="config_suggestion_text_horizontal_padding">6dp</dimen>
+ <dimen name="config_suggestion_text_size">18dp</dimen>
+ <dimen name="config_more_suggestions_hint_text_size">27dp</dimen>
+
+ <!-- Gesture floating preview text parameters -->
+ <dimen name="config_gesture_floating_preview_text_size">24dp</dimen>
+ <dimen name="config_gesture_floating_preview_text_offset">73dp</dimen>
+ <dimen name="config_gesture_floating_preview_horizontal_padding">24dp</dimen>
+ <dimen name="config_gesture_floating_preview_vertical_padding">16dp</dimen>
+ <dimen name="config_gesture_floating_preview_round_radius">2dp</dimen>
+
+ <!-- Emoji keyboard -->
+ <fraction name="config_emoji_keyboard_key_width">14.2857%p</fraction>
+ <fraction name="config_emoji_keyboard_row_height">33%p</fraction>
+ <fraction name="config_emoji_keyboard_key_letter_size">68%p</fraction>
+ <integer name="config_emoji_keyboard_max_page_key_count">21</integer>
</resources>
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
deleted file mode 100644
index 4588b10eb..000000000
--- a/java/res/values/dimens.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Preferable keyboard height in absolute scale: 1.285in -->
- <!-- This keyboardHeight value should match with keyboard-heights.xml -->
- <dimen name="keyboardHeight">205.6dp</dimen>
- <fraction name="maxKeyboardHeight">46%p</fraction>
- <fraction name="minKeyboardHeight">-61.8%p</fraction>
-
- <dimen name="popup_key_height">52.8dp</dimen>
-
- <dimen name="more_keys_keyboard_key_horizontal_padding">8dp</dimen>
-
- <fraction name="keyboard_left_padding">0%p</fraction>
- <fraction name="keyboard_right_padding">0%p</fraction>
-
- <fraction name="keyboard_top_padding_gb">1.556%p</fraction>
- <fraction name="keyboard_bottom_padding_gb">4.669%p</fraction>
- <fraction name="key_bottom_gap_gb">6.495%p</fraction>
- <fraction name="key_horizontal_gap_gb">1.971%p</fraction>
-
- <fraction name="keyboard_top_padding_holo">2.335%p</fraction>
- <fraction name="keyboard_bottom_padding_holo">4.669%p</fraction>
- <fraction name="key_bottom_gap_holo">6.127%p</fraction>
- <fraction name="key_horizontal_gap_holo">1.739%p</fraction>
-
- <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
- <!-- popup_key_height x 1.2 -->
- <dimen name="more_keys_keyboard_slide_allowance">63.36dp</dimen>
- <!-- popup_key_height x -1.0 -->
- <dimen name="more_keys_keyboard_vertical_correction_gb">-52.8dp</dimen>
- <dimen name="keyboard_vertical_correction">0.0dp</dimen>
-
- <fraction name="key_letter_ratio">55%</fraction>
- <fraction name="key_large_letter_ratio">65%</fraction>
- <fraction name="key_label_ratio">34%</fraction>
- <fraction name="key_large_label_ratio">40%</fraction>
- <fraction name="key_hint_letter_ratio">25%</fraction>
- <fraction name="key_hint_label_ratio">44%</fraction>
- <fraction name="key_uppercase_letter_ratio">35%</fraction>
- <fraction name="key_preview_text_ratio">82%</fraction>
- <fraction name="spacebar_text_ratio">33.735%</fraction>
- <dimen name="key_preview_height">80dp</dimen>
- <dimen name="key_preview_offset_gb">-8.0dp</dimen>
-
- <dimen name="key_label_horizontal_padding">4dp</dimen>
- <dimen name="key_hint_letter_padding">1dp</dimen>
- <dimen name="key_popup_hint_letter_padding">2dp</dimen>
- <dimen name="key_uppercase_letter_padding">2dp</dimen>
-
- <!-- For 5-row keyboard -->
- <fraction name="key_bottom_gap_5row">3.20%p</fraction>
- <fraction name="key_letter_ratio_5row">64%</fraction>
- <fraction name="key_uppercase_letter_ratio_5row">41%</fraction>
-
- <dimen name="key_preview_offset_holo">8.0dp</dimen>
- <!-- popup_key_height x -0.5 -->
- <dimen name="more_keys_keyboard_vertical_correction_holo">-26.4dp</dimen>
-
- <dimen name="suggestions_strip_height">40dp</dimen>
- <dimen name="more_suggestions_key_horizontal_padding">12dp</dimen>
- <dimen name="more_suggestions_row_height">40dp</dimen>
- <dimen name="more_suggestions_bottom_gap">6dp</dimen>
- <dimen name="more_suggestions_modal_tolerance">32.0dp</dimen>
- <dimen name="more_suggestions_slide_allowance">16.0dp</dimen>
- <integer name="max_more_suggestions_row">6</integer>
- <fraction name="min_more_suggestions_width">90%</fraction>
- <fraction name="more_suggestions_info_ratio">18%</fraction>
- <dimen name="suggestions_strip_padding">0dp</dimen>
- <dimen name="suggestion_min_width">44dp</dimen>
- <dimen name="suggestion_padding">6dp</dimen>
- <dimen name="suggestion_text_size">18dp</dimen>
- <dimen name="more_suggestions_hint_text_size">27dp</dimen>
- <integer name="suggestions_count_in_strip">3</integer>
- <fraction name="center_suggestion_percentile">36%</fraction>
-
- <!-- Gesture trail parameters -->
- <!-- Minimum distance between gesture trail sampling points. -->
- <dimen name="gesture_trail_min_sampling_distance">9.6dp</dimen>
- <!-- Maximum angular threshold between gesture trails interpolation segments in degree. -->
- <integer name="gesture_trail_max_interpolation_angular_threshold">15</integer>
- <!-- Maximum distance threshold between gesture trails interpolation segments. -->
- <dimen name="gesture_trail_max_interpolation_distance_threshold">16.0dp</dimen>
- <!-- Maximum number of gesture trail interpolation segments. -->
- <integer name="gesture_trail_max_interpolation_segments">6</integer>
- <dimen name="gesture_trail_start_width">10.0dp</dimen>
- <dimen name="gesture_trail_end_width">2.5dp</dimen>
- <!-- Percentages of gesture preview taril body and shadow, in proportion to the trail width.
- A negative value of the shadow ratio disables drawing shadow. -->
- <!-- TODO: May use the shadow to alleviate rugged trail drawing. -->
- <integer name="gesture_trail_body_ratio">100</integer>
- <integer name="gesture_trail_shadow_ratio">-1</integer>
- <!-- Gesture floating preview text parameters -->
- <dimen name="gesture_floating_preview_text_size">24dp</dimen>
- <dimen name="gesture_floating_preview_text_offset">73dp</dimen>
- <dimen name="gesture_floating_preview_horizontal_padding">24dp</dimen>
- <dimen name="gesture_floating_preview_vertical_padding">16dp</dimen>
- <dimen name="gesture_floating_preview_round_radius">2dp</dimen>
-
- <!-- Emoji keyboard -->
- <fraction name="emoji_keyboard_key_width">14.2857%p</fraction>
- <fraction name="emoji_keyboard_row_height">33%p</fraction>
- <fraction name="emoji_keyboard_key_letter_size">68%p</fraction>
- <integer name="emoji_keyboard_max_key_count">21</integer>
- <dimen name="emoji_category_page_id_height">3dp</dimen>
-
- <!-- Inset used in Accessibility mode to avoid accidental key presses when a finger slides off the screen. -->
- <dimen name="accessibility_edge_slop">8dp</dimen>
-
- <integer name="user_dictionary_max_word_length" translatable="false">48</integer>
-
- <dimen name="language_on_spacebar_horizontal_margin">1dp</dimen>
-
-</resources>
diff --git a/java/res/values/donottranslate-config-important-notice.xml b/java/res/values/donottranslate-config-important-notice.xml
new file mode 100644
index 000000000..7c6527c28
--- /dev/null
+++ b/java/res/values/donottranslate-config-important-notice.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+ <!-- The array of the text of the important notices displayed on the suggestion strip. -->
+ <string-array name="important_notice_title_array" translatable="false">
+ <!-- empty -->
+ </string-array>
+ <!-- The array of the contents of the important notices. -->
+ <string-array name="important_notice_contents_array" translatable="false">
+ <!-- empty -->
+ </string-array>
+</resources>
diff --git a/java/res/values/donottranslate-config-spacing-and-punctuations.xml b/java/res/values/donottranslate-config-spacing-and-punctuations.xml
new file mode 100644
index 000000000..2faf578d2
--- /dev/null
+++ b/java/res/values/donottranslate-config-spacing-and-punctuations.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- TODO: these settings depend on the language. They should be put either in the dictionary
+ header, or in the subtype maybe? -->
+ <!-- Symbols that are suggested between words -->
+ <string name="suggested_punctuations">!,?,\\,,:,;,\",(,),\',-,/,@,_</string>
+ <!-- Symbols that are normally preceded by a space (used to add an auto-space before these) -->
+ <string name="symbols_preceded_by_space">([{&amp;</string>
+ <!-- Symbols that are normally followed by a space (used to add an auto-space after these) -->
+ <string name="symbols_followed_by_space">.,;:!?)]}&amp;</string>
+ <!-- Symbols that behave like a single punctuation when typed next to each other -->
+ <string name="symbols_clustering_together"></string>
+ <!-- Symbols that separate words -->
+ <!-- Don't remove the enclosing double quotes, they protect whitespace (not just U+0020) -->
+ <string name="symbols_word_separators">"&#x0009;&#x0020;&#x000A;&#x00A0;"()[]{}*&amp;&lt;&gt;+=|.,;:!?/_\"</string>
+ <!-- Word connectors -->
+ <string name="symbols_word_connectors">\'-</string>
+ <!-- The sentence separator code point, for capitalization -->
+ <!-- U+002E: "." FULL STOP ; 2Eh = 46d -->
+ <integer name="sentence_separator">46</integer>
+ <!-- Whether this language uses spaces between words -->
+ <bool name="current_language_has_spaces">true</bool>
+</resources>
diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml
index af5ec061b..83d082f82 100644
--- a/java/res/values/donottranslate.xml
+++ b/java/res/values/donottranslate.xml
@@ -18,25 +18,6 @@
*/
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- TODO: these settings depend on the language. They should be put either in the dictionary
- header, or in the subtype maybe? -->
- <!-- Symbols that are suggested between words -->
- <string name="suggested_punctuations">!,?,\\,,:,;,\",(,),\',-,/,@,_</string>
- <!-- Symbols that are normally preceded by a space (used to add an auto-space before these) -->
- <string name="symbols_preceded_by_space">([{&amp;</string>
- <!-- Symbols that are normally followed by a space (used to add an auto-space after these) -->
- <string name="symbols_followed_by_space">.,;:!?)]}&amp;</string>
- <!-- Symbols that separate words -->
- <!-- Don't remove the enclosing double quotes, they protect whitespace (not just U+0020) -->
- <string name="symbols_word_separators">"&#x0009;&#x0020;\n"()[]{}*&amp;&lt;&gt;+=|.,;:!?/_\"</string>
- <!-- Word connectors -->
- <string name="symbols_word_connectors">\'-</string>
- <!-- The sentence separator code point, for capitalization -->
- <!-- U+002E: "." FULL STOP ; 2Eh = 46d -->
- <integer name="sentence_separator">46</integer>
- <!-- Whether this language uses spaces between words -->
- <bool name="current_language_has_spaces">true</bool>
-
<!-- Always show the suggestion strip -->
<string name="prefs_suggestion_visibility_show_value">0</string>
<!-- Show the suggestion strip only on portrait mode -->
@@ -57,78 +38,15 @@
<item>@string/prefs_suggestion_visibility_hide_name</item>
</string-array>
- <string name="auto_correction_threshold_mode_index_off">0</string>
- <string name="auto_correction_threshold_mode_index_modest">1</string>
- <string name="auto_correction_threshold_mode_index_aggressive">2</string>
- <string name="auto_correction_threshold_mode_index_very_aggressive">3</string>
- <string-array name="auto_correction_threshold_mode_indexes">
- <item>@string/auto_correction_threshold_mode_index_off</item>
- <item>@string/auto_correction_threshold_mode_index_modest</item>
- <item>@string/auto_correction_threshold_mode_index_aggressive</item>
- <item>@string/auto_correction_threshold_mode_index_very_aggressive</item>
- </string-array>
- <string-array name="auto_correction_threshold_modes">
- <item>@string/auto_correction_threshold_mode_off</item>
- <item>@string/auto_correction_threshold_mode_modest</item>
- <item>@string/auto_correction_threshold_mode_aggressive</item>
- <item>@string/auto_correction_threshold_mode_very_aggressive</item>
- </string-array>
-
+ <!-- For backward compatibility.
+ See {@link SettingsValues#needsToShowVoiceInputKey(SharedPreferences,Resources)} -->
<string name="voice_mode_main">0</string>
- <string name="voice_mode_symbols">1</string>
- <string name="voice_mode_off">2</string>
- <string-array name="voice_input_modes_values">
- <item>@string/voice_mode_main</item>
- <item>@string/voice_mode_symbols</item>
- <item>@string/voice_mode_off</item>
- </string-array>
- <!-- Array of Voice Input modes -->
- <string-array name="voice_input_modes">
- <item>@string/voice_input_modes_main_keyboard</item>
- <item>@string/voice_input_modes_symbols_keyboard</item>
- <item>@string/voice_input_modes_off</item>
- </string-array>
- <!-- Array of Voice Input modes summary -->
- <string-array name="voice_input_modes_summary">
- <item>@string/voice_input_modes_summary_main_keyboard</item>
- <item>@string/voice_input_modes_summary_symbols_keyboard</item>
- <item>@string/voice_input_modes_summary_off</item>
- </string-array>
<!-- Title for Latin keyboard debug settings activity / dialog -->
<string name="english_ime_debug_settings">Android keyboard Debug settings</string>
<string name="prefs_debug_mode">Debug Mode</string>
<string name="prefs_force_non_distinct_multitouch">Force non-distinct multitouch</string>
- <!-- Keyboard theme names -->
- <string name="layout_gingerbread">Gingerbread</string>
- <string name="layout_ics">IceCreamSandwich</string>
- <string name="layout_klp">KeyLimePie</string>
-
- <!-- For keyboard theme switcher dialog -->
- <string-array name="keyboard_layout_modes">
- <item>@string/layout_ics</item>
- <item>@string/layout_gingerbread</item>
- <item>@string/layout_klp</item>
- </string-array>
- <!-- An element must be an index of {@link KeyboardSwitcher#KEYBOARD_THEMES[]}. -->
- <string-array name="keyboard_layout_modes_values">
- <item>0</item>
- <item>1</item>
- <item>2</item>
- </string-array>
-
- <!-- For keyboard color scheme option dialog. -->
- <string-array name="keyboard_color_schemes">
- <item>@string/keyboard_color_scheme_white</item>
- <item>@string/keyboard_color_scheme_blue</item>
- </string-array>
- <!-- An element must be an index of {@link KeyboardSwitcher#KEYBOARD_THEMES[]}. -->
- <string-array name="keyboard_color_schemes_values">
- <item>2</item>
- <item>0</item>
- </string-array>
-
<!-- Subtype locale display name exceptions.
For each exception, there should be related string resources for display name that may have
explicit keyboard layout. The string resource name must be "subtype_<locale>" or
@@ -219,6 +137,4 @@
<item>tr:AsciiCapable,SupportTouchPositionCorrection,EmojiCapable</item>
<item>qwerty</item>
</string-array>
-
- <string name="settings_warning_researcher_mode">Attention! You are using the special keyboard for research purposes.</string>
</resources>
diff --git a/java/res/values/keyboard-heights.xml b/java/res/values/keyboard-heights.xml
index c651a89b3..12dd51d9d 100644
--- a/java/res/values/keyboard-heights.xml
+++ b/java/res/values/keyboard-heights.xml
@@ -33,7 +33,5 @@
<!-- Preferable keyboard height in absolute scale: 48.0mm -->
<!-- Xoom -->
<item>HARDWARE=stingray,283.1337</item>
- <!-- Default value for unknown device: empty string -->
- <item>,</item>
</string-array>
</resources>
diff --git a/java/res/values/keyboard-icons-holo.xml b/java/res/values/keyboard-icons-holo.xml
index b49e1d10b..669d2c07d 100644
--- a/java/res/values/keyboard-icons-holo.xml
+++ b/java/res/values/keyboard-icons-holo.xml
@@ -21,9 +21,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="KeyboardIcons.Holo">
<!-- Keyboard icons -->
- <!-- TODO: The following holo icon for phone (drawable-hdpi and drawable-xhdpi) are missing.
- sym_keyboard_123_mic_holo
- -->
<item name="iconShiftKey">@drawable/sym_keyboard_shift_holo_dark</item>
<item name="iconDeleteKey">@drawable/sym_keyboard_delete_holo_dark</item>
<item name="iconSettingsKey">@drawable/sym_keyboard_settings_holo_dark</item>
@@ -32,7 +29,6 @@
<item name="iconSearchKey">@drawable/sym_keyboard_search_holo_dark</item>
<item name="iconTabKey">@drawable/sym_keyboard_tab_holo_dark</item>
<item name="iconShortcutKey">@drawable/sym_keyboard_voice_holo_dark</item>
- <item name="iconShortcutForLabel">@drawable/sym_keyboard_label_mic_holo_dark</item>
<item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space_holo_dark</item>
<item name="iconShiftKeyShifted">@drawable/sym_keyboard_shift_locked_holo_dark</item>
<item name="iconShortcutKeyDisabled">@drawable/sym_keyboard_voice_off_holo_dark</item>
diff --git a/java/res/values/keyboard-icons-lxx-dark.xml b/java/res/values/keyboard-icons-lxx-dark.xml
new file mode 100644
index 000000000..6e9c4d1c1
--- /dev/null
+++ b/java/res/values/keyboard-icons-lxx-dark.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+ <style name="KeyboardIcons.LXX_Dark">
+ <!-- Keyboard icons -->
+ <!-- TODO: Update those icons for LXX theme. -->
+ <item name="iconShiftKey">@drawable/sym_keyboard_shift_lxx_dark</item>
+ <item name="iconDeleteKey">@drawable/sym_keyboard_delete_lxx_dark</item>
+ <item name="iconSettingsKey">@drawable/sym_keyboard_settings_lxx_dark</item>
+ <item name="iconSpaceKey">@drawable/sym_keyboard_spacebar_lxx_dark</item>
+ <item name="iconEnterKey">@drawable/sym_keyboard_return_lxx_dark</item>
+ <item name="iconGoKey">@drawable/sym_keyboard_go_lxx_dark</item>
+ <item name="iconSearchKey">@drawable/sym_keyboard_search_lxx_dark</item>
+ <item name="iconSendKey">@drawable/sym_keyboard_send_lxx_dark</item>
+ <item name="iconNextKey">@drawable/sym_keyboard_next_lxx_dark</item>
+ <item name="iconDoneKey">@drawable/sym_keyboard_done_lxx_dark</item>
+ <item name="iconPreviousKey">@drawable/sym_keyboard_previous_lxx_dark</item>
+ <item name="iconTabKey">@drawable/sym_keyboard_tab_holo_dark</item>
+ <item name="iconShortcutKey">@drawable/sym_keyboard_voice_lxx_dark</item>
+ <item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space_holo_dark</item>
+ <item name="iconShiftKeyShifted">@drawable/sym_keyboard_shift_locked_lxx_dark</item>
+ <item name="iconShortcutKeyDisabled">@drawable/sym_keyboard_voice_off_lxx_dark</item>
+ <item name="iconTabKeyPreview">@drawable/sym_keyboard_feedback_tab</item>
+ <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_lxx_dark</item>
+ <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo_dark</item>
+ <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo_dark</item>
+ <item name="iconEmojiKey">@drawable/sym_keyboard_smiley_lxx_dark</item>
+ </style>
+</resources>
diff --git a/java/res/values/keyboard-themes.xml b/java/res/values/keyboard-themes.xml
new file mode 100644
index 000000000..28a34c315
--- /dev/null
+++ b/java/res/values/keyboard-themes.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- For keyboard color scheme option dialog. -->
+ <string-array name="keyboard_theme_names" translatable="false">
+ <!-- TODO: Implement Material Light theme. -->
+ <item>@string/keyboard_theme_material_dark</item>
+ <item>@string/keyboard_theme_holo_white</item>
+ <item>@string/keyboard_theme_holo_blue</item>
+ </string-array>
+ <!-- An element must be a keyboard theme id of {@link KeyboardTheme#THEME_ID_*}. -->
+ <string-array name="keyboard_theme_ids" translatable="false">
+ <!-- TODO: Implement Material Light theme. -->
+ <item>3</item>
+ <item>2</item>
+ <item>0</item>
+ </string-array>
+</resources>
diff --git a/java/res/values/keypress-vibration-durations.xml b/java/res/values/keypress-vibration-durations.xml
index cde4e4447..032b5fd91 100644
--- a/java/res/values/keypress-vibration-durations.xml
+++ b/java/res/values/keypress-vibration-durations.xml
@@ -59,7 +59,5 @@
<item>MODEL=XT1035:MANUFACTURER=motorola,18</item>
<!-- Sony Xperia Z, Z Ultra -->
<item>MODEL=C6603|C6806:MANUFACTURER=Sony,35</item>
- <!-- Default value for unknown device. The negative value means system default. -->
- <item>,-1</item>
</string-array>
</resources>
diff --git a/java/res/values/keypress-volumes.xml b/java/res/values/keypress-volumes.xml
index d359055c2..074581d00 100644
--- a/java/res/values/keypress-volumes.xml
+++ b/java/res/values/keypress-volumes.xml
@@ -26,7 +26,5 @@
<item>HARDWARE=grouper,0.3f</item>
<item>HARDWARE=mako,0.3f</item>
<item>HARDWARE=manta,0.2f</item>
- <!-- Default value for unknown device. The negative value means system default. -->
- <item>,-1.0f</item>
</string-array>
</resources>
diff --git a/java/res/values/phantom-sudden-move-event-device-list.xml b/java/res/values/phantom-sudden-move-event-device-list.xml
index 53002b31e..4f91cd389 100644
--- a/java/res/values/phantom-sudden-move-event-device-list.xml
+++ b/java/res/values/phantom-sudden-move-event-device-list.xml
@@ -23,7 +23,5 @@
See {@link com.android.inputmethod.keyboard.PointerTracker}. -->
<!-- Xoom -->
<item>HARDWARE=stingray,true</item>
- <!-- Default value for unknown device -->
- <item>,false</item>
</string-array>
</resources>
diff --git a/java/res/values/platform-theme.xml b/java/res/values/platform-theme.xml
new file mode 100644
index 000000000..8e131a2b0
--- /dev/null
+++ b/java/res/values/platform-theme.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+ <style name="platformActivityTheme" parent="@android:style/Theme.Holo" />
+ <style name="platformDialogTheme" parent="@android:style/Theme.Holo.Dialog" />
+</resources>
diff --git a/java/res/values/research_strings.xml b/java/res/values/research_strings.xml
deleted file mode 100644
index e73871109..000000000
--- a/java/res/values/research_strings.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?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.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- Contents of note explaining what data is collected and how. -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_splash_content" translatable="false"></string>
- <!-- Account type allowed for inclusion in user-invoked feedback logs [CHAR LIMIT=38] -->
- <string name="research_account_type" translatable="false"></string>
- <!-- Account domain allowed for inclusion in user-invoked feedback logs [CHAR LIMIT=38] -->
- <string name="research_allowed_account_domain" translatable="false"></string>
-
- <!-- Menu option that lets user send feedback for research purposes about the IME [CHAR LIMIT=38] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_menu_option" translatable="false">Send feedback</string>
- <!-- Title of dialog box that lets user send feedback for research purposes about the IME [CHAR LIMIT=38] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_dialog_title" translatable="false">Send feedback</string>
- <!-- Hint to user about the text entry field where they should enter research feedback [CHAR LIMIT=40] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_hint" translatable="false">Enter your feedback here.</string>
- <!-- Message informing the user that the feedback string must not be empty [CHAR LIMIT=100] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_empty_feedback_error_message" translatable="false">The feedback field must not be empty.</string>
-</resources>
diff --git a/java/res/values/strings-action-keys.xml b/java/res/values/strings-action-keys.xml
index 7003784c6..96b2e7dda 100644
--- a/java/res/values/strings-action-keys.xml
+++ b/java/res/values/strings-action-keys.xml
@@ -29,6 +29,8 @@
<string name="label_done_key">Done</string>
<!-- Label for soft enter key when it performs SEND action. Must be short to fit on key. 5 chars or less is preferable. [CHAR LIMIT=7] -->
<string name="label_send_key">Send</string>
+ <!-- Label for soft enter key when it performs SEARCH action. Must be short to fit on key. 5 chars or less is preferable. [CHAR LIMIT=7] -->
+ <string name="label_search_key">Search</string>
<!-- Label for "Pause" key of phone number keyboard. Must be short to fit on key. 5 chars or less is preferable. [CHAR LIMIT=7] -->
<string name="label_pause_key">Pause</string>
<!-- Label for "Wait" key of phone number keyboard. Must be short to fit on key. 5 chars or less is preferable. [CHAR LIMIT=7]-->
diff --git a/java/res/values/strings-config-important-notice.xml b/java/res/values/strings-config-important-notice.xml
new file mode 100644
index 000000000..aa3cd109c
--- /dev/null
+++ b/java/res/values/strings-config-important-notice.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+ <!-- Description for option enabling the use by the keyboards of sent/received messages, e-mail and typing history to improve suggestion accuracy [CHAR LIMIT=68] -->
+ <string name="use_personalized_dicts_summary">Learn from your communications and typed data to improve suggestions</string>
+</resources>
diff --git a/java/res/values/strings-emoji-descriptions.xml b/java/res/values/strings-emoji-descriptions.xml
new file mode 100644
index 000000000..8cbde264c
--- /dev/null
+++ b/java/res/values/strings-emoji-descriptions.xml
@@ -0,0 +1,1671 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<!--
+ These Emoji symbols are unsupported by TTS.
+ TODO: Remove this file when TTS/TalkBack support these Emoji symbols.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Spoken description for Unicode code point U+00A9: "©" COPYRIGHT SIGN -->
+ <string name="spoken_emoji_00A9">Copyright sign</string>
+ <!-- Spoken description for Unicode code point U+00AE: "®" REGISTERED SIGN -->
+ <string name="spoken_emoji_00AE">Registered sign</string>
+ <!-- Spoken description for Unicode code point U+203C: "‼" DOUBLE EXCLAMATION MARK -->
+ <string name="spoken_emoji_203C">Double exclamation mark</string>
+ <!-- Spoken description for Unicode code point U+2049: "⁉" EXCLAMATION QUESTION MARK -->
+ <string name="spoken_emoji_2049">Exclamation question mark</string>
+ <!-- Spoken description for Unicode code point U+2122: "™" TRADE MARK SIGN -->
+ <string name="spoken_emoji_2122">Trade mark sign</string>
+ <!-- Spoken description for Unicode code point U+2139: "ℹ" INFORMATION SOURCE -->
+ <string name="spoken_emoji_2139">Information source</string>
+ <!-- Spoken description for Unicode code point U+2194: "↔" LEFT RIGHT ARROW -->
+ <string name="spoken_emoji_2194">Left right arrow</string>
+ <!-- Spoken description for Unicode code point U+2195: "↕" UP DOWN ARROW -->
+ <string name="spoken_emoji_2195">Up down arrow</string>
+ <!-- Spoken description for Unicode code point U+2196: "↖" NORTH WEST ARROW -->
+ <string name="spoken_emoji_2196">North west arrow</string>
+ <!-- Spoken description for Unicode code point U+2197: "↗" NORTH EAST ARROW -->
+ <string name="spoken_emoji_2197">North east arrow</string>
+ <!-- Spoken description for Unicode code point U+2198: "↘" SOUTH EAST ARROW -->
+ <string name="spoken_emoji_2198">South east arrow</string>
+ <!-- Spoken description for Unicode code point U+2199: "↙" SOUTH WEST ARROW -->
+ <string name="spoken_emoji_2199">South west arrow</string>
+ <!-- Spoken description for Unicode code point U+21A9: "↩" LEFTWARDS ARROW WITH HOOK -->
+ <string name="spoken_emoji_21A9">Leftwards arrow with hook</string>
+ <!-- Spoken description for Unicode code point U+21AA: "↪" RIGHTWARDS ARROW WITH HOOK -->
+ <string name="spoken_emoji_21AA">Rightwards arrow with hook</string>
+ <!-- Spoken description for Unicode code point U+231A: "⌚" WATCH -->
+ <string name="spoken_emoji_231A">Watch</string>
+ <!-- Spoken description for Unicode code point U+231B: "⌛" HOURGLASS -->
+ <string name="spoken_emoji_231B">Hourglass</string>
+ <!-- Spoken description for Unicode code point U+23E9: "⏩" BLACK RIGHT-POINTING DOUBLE TRIANGLE -->
+ <string name="spoken_emoji_23E9">Black right-pointing double triangle</string>
+ <!-- Spoken description for Unicode code point U+23EA: "⏪" BLACK LEFT-POINTING DOUBLE TRIANGLE -->
+ <string name="spoken_emoji_23EA">Black left-pointing double triangle</string>
+ <!-- Spoken description for Unicode code point U+23EB: "⏫" BLACK UP-POINTING DOUBLE TRIANGLE -->
+ <string name="spoken_emoji_23EB">Black up-pointing double triangle</string>
+ <!-- Spoken description for Unicode code point U+23EC: "⏬" BLACK DOWN-POINTING DOUBLE TRIANGLE -->
+ <string name="spoken_emoji_23EC">Black down-pointing double triangle</string>
+ <!-- Spoken description for Unicode code point U+23F0: "⏰" ALARM CLOCK -->
+ <string name="spoken_emoji_23F0">Alarm clock</string>
+ <!-- Spoken description for Unicode code point U+23F3: "⏳" HOURGLASS WITH FLOWING SAND -->
+ <string name="spoken_emoji_23F3">Hourglass with flowing sand</string>
+ <!-- Spoken description for Unicode code point U+24C2: "Ⓜ" CIRCLED LATIN CAPITAL LETTER M -->
+ <string name="spoken_emoji_24C2">Circled latin capital letter m</string>
+ <!-- Spoken description for Unicode code point U+25AA: "▪" BLACK SMALL SQUARE -->
+ <string name="spoken_emoji_25AA">Black small square</string>
+ <!-- Spoken description for Unicode code point U+25AB: "▫" WHITE SMALL SQUARE -->
+ <string name="spoken_emoji_25AB">White small square</string>
+ <!-- Spoken description for Unicode code point U+25B6: "▶" BLACK RIGHT-POINTING TRIANGLE -->
+ <string name="spoken_emoji_25B6">Black right-pointing triangle</string>
+ <!-- Spoken description for Unicode code point U+25C0: "◀" BLACK LEFT-POINTING TRIANGLE -->
+ <string name="spoken_emoji_25C0">Black left-pointing triangle</string>
+ <!-- Spoken description for Unicode code point U+25FB: "◻" WHITE MEDIUM SQUARE -->
+ <string name="spoken_emoji_25FB">White medium square</string>
+ <!-- Spoken description for Unicode code point U+25FC: "◼" BLACK MEDIUM SQUARE -->
+ <string name="spoken_emoji_25FC">Black medium square</string>
+ <!-- Spoken description for Unicode code point U+25FD: "◽" WHITE MEDIUM SMALL SQUARE -->
+ <string name="spoken_emoji_25FD">White medium small square</string>
+ <!-- Spoken description for Unicode code point U+25FE: "◾" BLACK MEDIUM SMALL SQUARE -->
+ <string name="spoken_emoji_25FE">Black medium small square</string>
+ <!-- Spoken description for Unicode code point U+2600: "☀" BLACK SUN WITH RAYS -->
+ <string name="spoken_emoji_2600">Black sun with rays</string>
+ <!-- Spoken description for Unicode code point U+2601: "☁" CLOUD -->
+ <string name="spoken_emoji_2601">Cloud</string>
+ <!-- Spoken description for Unicode code point U+260E: "☎" BLACK TELEPHONE -->
+ <string name="spoken_emoji_260E">Black telephone</string>
+ <!-- Spoken description for Unicode code point U+2611: "☑" BALLOT BOX WITH CHECK -->
+ <string name="spoken_emoji_2611">Ballot box with check</string>
+ <!-- Spoken description for Unicode code point U+2614: "☔" UMBRELLA WITH RAIN DROPS -->
+ <string name="spoken_emoji_2614">Umbrella with rain drops</string>
+ <!-- Spoken description for Unicode code point U+2615: "☕" HOT BEVERAGE -->
+ <string name="spoken_emoji_2615">Hot beverage</string>
+ <!-- Spoken description for Unicode code point U+261D: "☝" WHITE UP POINTING INDEX -->
+ <string name="spoken_emoji_261D">White up pointing index</string>
+ <!-- Spoken description for Unicode code point U+263A: "☺" WHITE SMILING FACE -->
+ <string name="spoken_emoji_263A">White smiling face</string>
+ <!-- Spoken description for Unicode code point U+2648: "♈" ARIES -->
+ <string name="spoken_emoji_2648">Aries</string>
+ <!-- Spoken description for Unicode code point U+2649: "♉" TAURUS -->
+ <string name="spoken_emoji_2649">Taurus</string>
+ <!-- Spoken description for Unicode code point U+264A: "♊" GEMINI -->
+ <string name="spoken_emoji_264A">Gemini</string>
+ <!-- Spoken description for Unicode code point U+264B: "♋" CANCER -->
+ <string name="spoken_emoji_264B">Cancer</string>
+ <!-- Spoken description for Unicode code point U+264C: "♌" LEO -->
+ <string name="spoken_emoji_264C">Leo</string>
+ <!-- Spoken description for Unicode code point U+264D: "♍" VIRGO -->
+ <string name="spoken_emoji_264D">Virgo</string>
+ <!-- Spoken description for Unicode code point U+264E: "♎" LIBRA -->
+ <string name="spoken_emoji_264E">Libra</string>
+ <!-- Spoken description for Unicode code point U+264F: "♏" SCORPIUS -->
+ <string name="spoken_emoji_264F">Scorpius</string>
+ <!-- Spoken description for Unicode code point U+2650: "♐" SAGITTARIUS -->
+ <string name="spoken_emoji_2650">Sagittarius</string>
+ <!-- Spoken description for Unicode code point U+2651: "♑" CAPRICORN -->
+ <string name="spoken_emoji_2651">Capricorn</string>
+ <!-- Spoken description for Unicode code point U+2652: "♒" AQUARIUS -->
+ <string name="spoken_emoji_2652">Aquarius</string>
+ <!-- Spoken description for Unicode code point U+2653: "♓" PISCES -->
+ <string name="spoken_emoji_2653">Pisces</string>
+ <!-- Spoken description for Unicode code point U+2660: "♠" BLACK SPADE SUIT -->
+ <string name="spoken_emoji_2660">Black spade suit</string>
+ <!-- Spoken description for Unicode code point U+2663: "♣" BLACK CLUB SUIT -->
+ <string name="spoken_emoji_2663">Black club suit</string>
+ <!-- Spoken description for Unicode code point U+2665: "♥" BLACK HEART SUIT -->
+ <string name="spoken_emoji_2665">Black heart suit</string>
+ <!-- Spoken description for Unicode code point U+2666: "♦" BLACK DIAMOND SUIT -->
+ <string name="spoken_emoji_2666">Black diamond suit</string>
+ <!-- Spoken description for Unicode code point U+2668: "♨" HOT SPRINGS -->
+ <string name="spoken_emoji_2668">Hot springs</string>
+ <!-- Spoken description for Unicode code point U+267B: "♻" BLACK UNIVERSAL RECYCLING SYMBOL -->
+ <string name="spoken_emoji_267B">Black universal recycling symbol</string>
+ <!-- Spoken description for Unicode code point U+267F: "♿" WHEELCHAIR SYMBOL -->
+ <string name="spoken_emoji_267F">Wheelchair symbol</string>
+ <!-- Spoken description for Unicode code point U+2693: "⚓" ANCHOR -->
+ <string name="spoken_emoji_2693">Anchor</string>
+ <!-- Spoken description for Unicode code point U+26A0: "⚠" WARNING SIGN -->
+ <string name="spoken_emoji_26A0">Warning sign</string>
+ <!-- Spoken description for Unicode code point U+26A1: "⚡" HIGH VOLTAGE SIGN -->
+ <string name="spoken_emoji_26A1">High voltage sign</string>
+ <!-- Spoken description for Unicode code point U+26AA: "⚪" MEDIUM WHITE CIRCLE -->
+ <string name="spoken_emoji_26AA">Medium white circle</string>
+ <!-- Spoken description for Unicode code point U+26AB: "⚫" MEDIUM BLACK CIRCLE -->
+ <string name="spoken_emoji_26AB">Medium black circle</string>
+ <!-- Spoken description for Unicode code point U+26BD: "⚽" SOCCER BALL -->
+ <string name="spoken_emoji_26BD">Soccer ball</string>
+ <!-- Spoken description for Unicode code point U+26BE: "⚾" BASEBALL -->
+ <string name="spoken_emoji_26BE">Baseball</string>
+ <!-- Spoken description for Unicode code point U+26C4: "⛄" SNOWMAN WITHOUT SNOW -->
+ <string name="spoken_emoji_26C4">Snowman without snow</string>
+ <!-- Spoken description for Unicode code point U+26C5: "⛅" SUN BEHIND CLOUD -->
+ <string name="spoken_emoji_26C5">Sun behind cloud</string>
+ <!-- Spoken description for Unicode code point U+26CE: "⛎" OPHIUCHUS -->
+ <string name="spoken_emoji_26CE">Ophiuchus</string>
+ <!-- Spoken description for Unicode code point U+26D4: "⛔" NO ENTRY -->
+ <string name="spoken_emoji_26D4">No entry</string>
+ <!-- Spoken description for Unicode code point U+26EA: "⛪" CHURCH -->
+ <string name="spoken_emoji_26EA">Church</string>
+ <!-- Spoken description for Unicode code point U+26F2: "⛲" FOUNTAIN -->
+ <string name="spoken_emoji_26F2">Fountain</string>
+ <!-- Spoken description for Unicode code point U+26F3: "⛳" FLAG IN HOLE -->
+ <string name="spoken_emoji_26F3">Flag in hole</string>
+ <!-- Spoken description for Unicode code point U+26F5: "⛵" SAILBOAT -->
+ <string name="spoken_emoji_26F5">Sailboat</string>
+ <!-- Spoken description for Unicode code point U+26FA: "⛺" TENT -->
+ <string name="spoken_emoji_26FA">Tent</string>
+ <!-- Spoken description for Unicode code point U+26FD: "⛽" FUEL PUMP -->
+ <string name="spoken_emoji_26FD">Fuel pump</string>
+ <!-- Spoken description for Unicode code point U+2702: "✂" BLACK SCISSORS -->
+ <string name="spoken_emoji_2702">Black scissors</string>
+ <!-- Spoken description for Unicode code point U+2705: "✅" WHITE HEAVY CHECK MARK -->
+ <string name="spoken_emoji_2705">White heavy check mark</string>
+ <!-- Spoken description for Unicode code point U+2708: "✈" AIRPLANE -->
+ <string name="spoken_emoji_2708">Airplane</string>
+ <!-- Spoken description for Unicode code point U+2709: "✉" ENVELOPE -->
+ <string name="spoken_emoji_2709">Envelope</string>
+ <!-- Spoken description for Unicode code point U+270A: "✊" RAISED FIST -->
+ <string name="spoken_emoji_270A">Raised fist</string>
+ <!-- Spoken description for Unicode code point U+270B: "✋" RAISED HAND -->
+ <string name="spoken_emoji_270B">Raised hand</string>
+ <!-- Spoken description for Unicode code point U+270C: "✌" VICTORY HAND -->
+ <string name="spoken_emoji_270C">Victory hand</string>
+ <!-- Spoken description for Unicode code point U+270F: "✏" PENCIL -->
+ <string name="spoken_emoji_270F">Pencil</string>
+ <!-- Spoken description for Unicode code point U+2712: "✒" BLACK NIB -->
+ <string name="spoken_emoji_2712">Black nib</string>
+ <!-- Spoken description for Unicode code point U+2714: "✔" HEAVY CHECK MARK -->
+ <string name="spoken_emoji_2714">Heavy check mark</string>
+ <!-- Spoken description for Unicode code point U+2716: "✖" HEAVY MULTIPLICATION X -->
+ <string name="spoken_emoji_2716">Heavy multiplication x</string>
+ <!-- Spoken description for Unicode code point U+2728: "✨" SPARKLES -->
+ <string name="spoken_emoji_2728">Sparkles</string>
+ <!-- Spoken description for Unicode code point U+2733: "✳" EIGHT SPOKED ASTERISK -->
+ <string name="spoken_emoji_2733">Eight spoked asterisk</string>
+ <!-- Spoken description for Unicode code point U+2734: "✴" EIGHT POINTED BLACK STAR -->
+ <string name="spoken_emoji_2734">Eight pointed black star</string>
+ <!-- Spoken description for Unicode code point U+2744: "❄" SNOWFLAKE -->
+ <string name="spoken_emoji_2744">Snowflake</string>
+ <!-- Spoken description for Unicode code point U+2747: "❇" SPARKLE -->
+ <string name="spoken_emoji_2747">Sparkle</string>
+ <!-- Spoken description for Unicode code point U+274C: "❌" CROSS MARK -->
+ <string name="spoken_emoji_274C">Cross mark</string>
+ <!-- Spoken description for Unicode code point U+274E: "❎" NEGATIVE SQUARED CROSS MARK -->
+ <string name="spoken_emoji_274E">Negative squared cross mark</string>
+ <!-- Spoken description for Unicode code point U+2753: "❓" BLACK QUESTION MARK ORNAMENT -->
+ <string name="spoken_emoji_2753">Black question mark ornament</string>
+ <!-- Spoken description for Unicode code point U+2754: "❔" WHITE QUESTION MARK ORNAMENT -->
+ <string name="spoken_emoji_2754">White question mark ornament</string>
+ <!-- Spoken description for Unicode code point U+2755: "❕" WHITE EXCLAMATION MARK ORNAMENT -->
+ <string name="spoken_emoji_2755">White exclamation mark ornament</string>
+ <!-- Spoken description for Unicode code point U+2757: "❗" HEAVY EXCLAMATION MARK SYMBOL -->
+ <string name="spoken_emoji_2757">Heavy exclamation mark symbol</string>
+ <!-- Spoken description for Unicode code point U+2764: "❤" HEAVY BLACK HEART -->
+ <string name="spoken_emoji_2764">Heavy black heart</string>
+ <!-- Spoken description for Unicode code point U+2795: "➕" HEAVY PLUS SIGN -->
+ <string name="spoken_emoji_2795">Heavy plus sign</string>
+ <!-- Spoken description for Unicode code point U+2796: "➖" HEAVY MINUS SIGN -->
+ <string name="spoken_emoji_2796">Heavy minus sign</string>
+ <!-- Spoken description for Unicode code point U+2797: "➗" HEAVY DIVISION SIGN -->
+ <string name="spoken_emoji_2797">Heavy division sign</string>
+ <!-- Spoken description for Unicode code point U+27A1: "➡" BLACK RIGHTWARDS ARROW -->
+ <string name="spoken_emoji_27A1">Black rightwards arrow</string>
+ <!-- Spoken description for Unicode code point U+27B0: "➰" CURLY LOOP -->
+ <string name="spoken_emoji_27B0">Curly loop</string>
+ <!-- Spoken description for Unicode code point U+27BF: "➿" DOUBLE CURLY LOOP -->
+ <string name="spoken_emoji_27BF">Double curly loop</string>
+ <!-- Spoken description for Unicode code point U+2934: "⤴" ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS -->
+ <string name="spoken_emoji_2934">Arrow pointing rightwards then curving upwards</string>
+ <!-- Spoken description for Unicode code point U+2935: "⤵" ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS -->
+ <string name="spoken_emoji_2935">Arrow pointing rightwards then curving downwards</string>
+ <!-- Spoken description for Unicode code point U+2B05: "⬅" LEFTWARDS BLACK ARROW -->
+ <string name="spoken_emoji_2B05">Leftwards black arrow</string>
+ <!-- Spoken description for Unicode code point U+2B06: "⬆" UPWARDS BLACK ARROW -->
+ <string name="spoken_emoji_2B06">Upwards black arrow</string>
+ <!-- Spoken description for Unicode code point U+2B07: "⬇" DOWNWARDS BLACK ARROW -->
+ <string name="spoken_emoji_2B07">Downwards black arrow</string>
+ <!-- Spoken description for Unicode code point U+2B1B: "⬛" BLACK LARGE SQUARE -->
+ <string name="spoken_emoji_2B1B">Black large square</string>
+ <!-- Spoken description for Unicode code point U+2B1C: "⬜" WHITE LARGE SQUARE -->
+ <string name="spoken_emoji_2B1C">White large square</string>
+ <!-- Spoken description for Unicode code point U+2B50: "⭐" WHITE MEDIUM STAR -->
+ <string name="spoken_emoji_2B50">White medium star</string>
+ <!-- Spoken description for Unicode code point U+2B55: "⭕" HEAVY LARGE CIRCLE -->
+ <string name="spoken_emoji_2B55">Heavy large circle</string>
+ <!-- Spoken description for Unicode code point U+3030: "〰" WAVY DASH -->
+ <string name="spoken_emoji_3030">Wavy dash</string>
+ <!-- Spoken description for Unicode code point U+303D: "〽" PART ALTERNATION MARK -->
+ <string name="spoken_emoji_303D">Part alternation mark</string>
+ <!-- Spoken description for Unicode code point U+3297: "㊗" CIRCLED IDEOGRAPH CONGRATULATION -->
+ <string name="spoken_emoji_3297">Circled ideograph congratulation</string>
+ <!-- Spoken description for Unicode code point U+3299: "㊙" CIRCLED IDEOGRAPH SECRET -->
+ <string name="spoken_emoji_3299">Circled ideograph secret</string>
+ <!-- Spoken description for Unicode code point U+1F004: "🀄" MAHJONG TILE RED DRAGON -->
+ <string name="spoken_emoji_1F004">Mahjong tile red dragon</string>
+ <!-- Spoken description for Unicode code point U+1F0CF: "🃏" PLAYING CARD BLACK JOKER -->
+ <string name="spoken_emoji_1F0CF">Playing card black joker</string>
+ <!-- Spoken description for Unicode code point U+1F170: "🅰" NEGATIVE SQUARED LATIN CAPITAL LETTER A -->
+ <string name="spoken_emoji_1F170">Blood type A</string>
+ <!-- Spoken description for Unicode code point U+1F171: "🅱" NEGATIVE SQUARED LATIN CAPITAL LETTER B -->
+ <string name="spoken_emoji_1F171">Blood type B</string>
+ <!-- Spoken description for Unicode code point U+1F17E: "🅾" NEGATIVE SQUARED LATIN CAPITAL LETTER O -->
+ <string name="spoken_emoji_1F17E">Blood type O</string>
+ <!-- Spoken description for Unicode code point U+1F17F: "🅿" NEGATIVE SQUARED LATIN CAPITAL LETTER P -->
+ <string name="spoken_emoji_1F17F">Parking lot</string>
+ <!-- Spoken description for Unicode code point U+1F18E: "🆎" NEGATIVE SQUARED AB -->
+ <string name="spoken_emoji_1F18E">Blood type AB</string>
+ <!-- Spoken description for Unicode code point U+1F191: "🆑" SQUARED CL -->
+ <string name="spoken_emoji_1F191">Squared CL</string>
+ <!-- Spoken description for Unicode code point U+1F192: "🆒" SQUARED COOL -->
+ <string name="spoken_emoji_1F192">Squared cool</string>
+ <!-- Spoken description for Unicode code point U+1F193: "🆓" SQUARED FREE -->
+ <string name="spoken_emoji_1F193">Squared free</string>
+ <!-- Spoken description for Unicode code point U+1F194: "🆔" SQUARED ID -->
+ <string name="spoken_emoji_1F194">Squared ID</string>
+ <!-- Spoken description for Unicode code point U+1F195: "🆕" SQUARED NEW -->
+ <string name="spoken_emoji_1F195">Squared new</string>
+ <!-- Spoken description for Unicode code point U+1F196: "🆖" SQUARED NG -->
+ <string name="spoken_emoji_1F196">Squared N G</string>
+ <!-- Spoken description for Unicode code point U+1F197: "🆗" SQUARED OK -->
+ <string name="spoken_emoji_1F197">Squared OK</string>
+ <!-- Spoken description for Unicode code point U+1F198: "🆘" SQUARED SOS -->
+ <string name="spoken_emoji_1F198">Squared SOS</string>
+ <!-- Spoken description for Unicode code point U+1F199: "🆙" SQUARED UP WITH EXCLAMATION MARK -->
+ <string name="spoken_emoji_1F199">Squared up with exclamation mark</string>
+ <!-- Spoken description for Unicode code point U+1F19A: "🆚" SQUARED VS -->
+ <string name="spoken_emoji_1F19A">Squared vs</string>
+ <!-- Spoken description for Unicode code point U+1F201: "🈁" SQUARED KATAKANA KOKO -->
+ <string name="spoken_emoji_1F201">Squared katakana here</string>
+ <!-- Spoken description for Unicode code point U+1F202: "🈂" SQUARED KATAKANA SA -->
+ <string name="spoken_emoji_1F202">Squared katakana service</string>
+ <!-- Spoken description for Unicode code point U+1F21A: "🈚" SQUARED CJK UNIFIED IDEOGRAPH-7121 -->
+ <string name="spoken_emoji_1F21A">Squared ideograph charge-free</string>
+ <!-- Spoken description for Unicode code point U+1F22F: "🈯" SQUARED CJK UNIFIED IDEOGRAPH-6307 -->
+ <string name="spoken_emoji_1F22F">Squared ideograph reserved-seat</string>
+ <!-- Spoken description for Unicode code point U+1F232: "🈲" SQUARED CJK UNIFIED IDEOGRAPH-7981 -->
+ <string name="spoken_emoji_1F232">Squared ideograph prohibitation</string>
+ <!-- Spoken description for Unicode code point U+1F233: "🈳" SQUARED CJK UNIFIED IDEOGRAPH-7A7A -->
+ <string name="spoken_emoji_1F233">Squared ideograph vacancy</string>
+ <!-- Spoken description for Unicode code point U+1F234: "🈴" SQUARED CJK UNIFIED IDEOGRAPH-5408 -->
+ <string name="spoken_emoji_1F234">Squared ideograph acceptance</string>
+ <!-- Spoken description for Unicode code point U+1F235: "🈵" SQUARED CJK UNIFIED IDEOGRAPH-6E80 -->
+ <string name="spoken_emoji_1F235">Squared ideograph full occupancy</string>
+ <!-- Spoken description for Unicode code point U+1F236: "🈶" SQUARED CJK UNIFIED IDEOGRAPH-6709 -->
+ <string name="spoken_emoji_1F236">Squared ideograph paid</string>
+ <!-- Spoken description for Unicode code point U+1F237: "🈷" SQUARED CJK UNIFIED IDEOGRAPH-6708 -->
+ <string name="spoken_emoji_1F237">Squared ideograph monthly</string>
+ <!-- Spoken description for Unicode code point U+1F238: "🈸" SQUARED CJK UNIFIED IDEOGRAPH-7533 -->
+ <string name="spoken_emoji_1F238">Squared ideograph application</string>
+ <!-- Spoken description for Unicode code point U+1F239: "🈹" SQUARED CJK UNIFIED IDEOGRAPH-5272 -->
+ <string name="spoken_emoji_1F239">Squared ideograph discount</string>
+ <!-- Spoken description for Unicode code point U+1F23A: "🈺" SQUARED CJK UNIFIED IDEOGRAPH-55B6 -->
+ <string name="spoken_emoji_1F23A">Squared ideograph in business</string>
+ <!-- Spoken description for Unicode code point U+1F250: "🉐" CIRCLED IDEOGRAPH ADVANTAGE -->
+ <string name="spoken_emoji_1F250">Circled ideograph advantage</string>
+ <!-- Spoken description for Unicode code point U+1F251: "🉑" CIRCLED IDEOGRAPH ACCEPT -->
+ <string name="spoken_emoji_1F251">Circled ideograph accept</string>
+ <!-- Spoken description for Unicode code point U+1F300: "🌀" CYCLONE -->
+ <string name="spoken_emoji_1F300">Cyclone</string>
+ <!-- Spoken description for Unicode code point U+1F301: "🌁" FOGGY -->
+ <string name="spoken_emoji_1F301">Foggy</string>
+ <!-- Spoken description for Unicode code point U+1F302: "🌂" CLOSED UMBRELLA -->
+ <string name="spoken_emoji_1F302">Closed umbrella</string>
+ <!-- Spoken description for Unicode code point U+1F303: "🌃" NIGHT WITH STARS -->
+ <string name="spoken_emoji_1F303">Night with stars</string>
+ <!-- Spoken description for Unicode code point U+1F304: "🌄" SUNRISE OVER MOUNTAINS -->
+ <string name="spoken_emoji_1F304">Sunrise over mountains</string>
+ <!-- Spoken description for Unicode code point U+1F305: "🌅" SUNRISE -->
+ <string name="spoken_emoji_1F305">Sunrise</string>
+ <!-- Spoken description for Unicode code point U+1F306: "🌆" CITYSCAPE AT DUSK -->
+ <string name="spoken_emoji_1F306">Cityscape at dusk</string>
+ <!-- Spoken description for Unicode code point U+1F307: "🌇" SUNSET OVER BUILDINGS -->
+ <string name="spoken_emoji_1F307">Sunset over buildings</string>
+ <!-- Spoken description for Unicode code point U+1F308: "🌈" RAINBOW -->
+ <string name="spoken_emoji_1F308">Rainbow</string>
+ <!-- Spoken description for Unicode code point U+1F309: "🌉" BRIDGE AT NIGHT -->
+ <string name="spoken_emoji_1F309">Bridge at night</string>
+ <!-- Spoken description for Unicode code point U+1F30A: "🌊" WATER WAVE -->
+ <string name="spoken_emoji_1F30A">Water wave</string>
+ <!-- Spoken description for Unicode code point U+1F30B: "🌋" VOLCANO -->
+ <string name="spoken_emoji_1F30B">Volcano</string>
+ <!-- Spoken description for Unicode code point U+1F30C: "🌌" MILKY WAY -->
+ <string name="spoken_emoji_1F30C">Milky way</string>
+ <!-- Spoken description for Unicode code point U+1F30D: "🌍" EARTH GLOBE EUROPE-AFRICA -->
+ <string name="spoken_emoji_1F30D">Earth globe europe-africa</string>
+ <!-- Spoken description for Unicode code point U+1F30E: "🌎" EARTH GLOBE AMERICAS -->
+ <string name="spoken_emoji_1F30E">Earth globe americas</string>
+ <!-- Spoken description for Unicode code point U+1F30F: "🌏" EARTH GLOBE ASIA-AUSTRALIA -->
+ <string name="spoken_emoji_1F30F">Earth globe asia-australia</string>
+ <!-- Spoken description for Unicode code point U+1F310: "🌐" GLOBE WITH MERIDIANS -->
+ <string name="spoken_emoji_1F310">Globe with meridians</string>
+ <!-- Spoken description for Unicode code point U+1F311: "🌑" NEW MOON SYMBOL -->
+ <string name="spoken_emoji_1F311">New moon symbol</string>
+ <!-- Spoken description for Unicode code point U+1F312: "🌒" WAXING CRESCENT MOON SYMBOL -->
+ <string name="spoken_emoji_1F312">Waxing crescent moon symbol</string>
+ <!-- Spoken description for Unicode code point U+1F313: "🌓" FIRST QUARTER MOON SYMBOL -->
+ <string name="spoken_emoji_1F313">First quarter moon symbol</string>
+ <!-- Spoken description for Unicode code point U+1F314: "🌔" WAXING GIBBOUS MOON SYMBOL -->
+ <string name="spoken_emoji_1F314">Waxing gibbous moon symbol</string>
+ <!-- Spoken description for Unicode code point U+1F315: "🌕" FULL MOON SYMBOL -->
+ <string name="spoken_emoji_1F315">Full moon symbol</string>
+ <!-- Spoken description for Unicode code point U+1F316: "🌖" WANING GIBBOUS MOON SYMBOL -->
+ <string name="spoken_emoji_1F316">Waning gibbous moon symbol</string>
+ <!-- Spoken description for Unicode code point U+1F317: "🌗" LAST QUARTER MOON SYMBOL -->
+ <string name="spoken_emoji_1F317">Last quarter moon symbol</string>
+ <!-- Spoken description for Unicode code point U+1F318: "🌘" WANING CRESCENT MOON SYMBOL -->
+ <string name="spoken_emoji_1F318">Waning crescent moon symbol</string>
+ <!-- Spoken description for Unicode code point U+1F319: "🌙" CRESCENT MOON -->
+ <string name="spoken_emoji_1F319">Crescent moon</string>
+ <!-- Spoken description for Unicode code point U+1F31A: "🌚" NEW MOON WITH FACE -->
+ <string name="spoken_emoji_1F31A">New moon with face</string>
+ <!-- Spoken description for Unicode code point U+1F31B: "🌛" FIRST QUARTER MOON WITH FACE -->
+ <string name="spoken_emoji_1F31B">First quarter moon with face</string>
+ <!-- Spoken description for Unicode code point U+1F31C: "🌜" LAST QUARTER MOON WITH FACE -->
+ <string name="spoken_emoji_1F31C">Last quarter moon with face</string>
+ <!-- Spoken description for Unicode code point U+1F31D: "🌝" FULL MOON WITH FACE -->
+ <string name="spoken_emoji_1F31D">Full moon with face</string>
+ <!-- Spoken description for Unicode code point U+1F31E: "🌞" SUN WITH FACE -->
+ <string name="spoken_emoji_1F31E">Sun with face</string>
+ <!-- Spoken description for Unicode code point U+1F31F: "🌟" GLOWING STAR -->
+ <string name="spoken_emoji_1F31F">Glowing star</string>
+ <!-- Spoken description for Unicode code point U+1F320: "🌠" SHOOTING STAR -->
+ <string name="spoken_emoji_1F320">Shooting star</string>
+ <!-- Spoken description for Unicode code point U+1F330: "🌰" CHESTNUT -->
+ <string name="spoken_emoji_1F330">Chestnut</string>
+ <!-- Spoken description for Unicode code point U+1F331: "🌱" SEEDLING -->
+ <string name="spoken_emoji_1F331">Seedling</string>
+ <!-- Spoken description for Unicode code point U+1F332: "🌲" EVERGREEN TREE -->
+ <string name="spoken_emoji_1F332">Evergreen tree</string>
+ <!-- Spoken description for Unicode code point U+1F333: "🌳" DECIDUOUS TREE -->
+ <string name="spoken_emoji_1F333">Deciduous tree</string>
+ <!-- Spoken description for Unicode code point U+1F334: "🌴" PALM TREE -->
+ <string name="spoken_emoji_1F334">Palm tree</string>
+ <!-- Spoken description for Unicode code point U+1F335: "🌵" CACTUS -->
+ <string name="spoken_emoji_1F335">Cactus</string>
+ <!-- Spoken description for Unicode code point U+1F337: "🌷" TULIP -->
+ <string name="spoken_emoji_1F337">Tulip</string>
+ <!-- Spoken description for Unicode code point U+1F338: "🌸" CHERRY BLOSSOM -->
+ <string name="spoken_emoji_1F338">Cherry blossom</string>
+ <!-- Spoken description for Unicode code point U+1F339: "🌹" ROSE -->
+ <string name="spoken_emoji_1F339">Rose</string>
+ <!-- Spoken description for Unicode code point U+1F33A: "🌺" HIBISCUS -->
+ <string name="spoken_emoji_1F33A">Hibiscus</string>
+ <!-- Spoken description for Unicode code point U+1F33B: "🌻" SUNFLOWER -->
+ <string name="spoken_emoji_1F33B">Sunflower</string>
+ <!-- Spoken description for Unicode code point U+1F33C: "🌼" BLOSSOM -->
+ <string name="spoken_emoji_1F33C">Blossom</string>
+ <!-- Spoken description for Unicode code point U+1F33D: "🌽" EAR OF MAIZE -->
+ <string name="spoken_emoji_1F33D">Ear of maize</string>
+ <!-- Spoken description for Unicode code point U+1F33E: "🌾" EAR OF RICE -->
+ <string name="spoken_emoji_1F33E">Ear of rice</string>
+ <!-- Spoken description for Unicode code point U+1F33F: "🌿" HERB -->
+ <string name="spoken_emoji_1F33F">Herb</string>
+ <!-- Spoken description for Unicode code point U+1F340: "🍀" FOUR LEAF CLOVER -->
+ <string name="spoken_emoji_1F340">Four leaf clover</string>
+ <!-- Spoken description for Unicode code point U+1F341: "🍁" MAPLE LEAF -->
+ <string name="spoken_emoji_1F341">Maple leaf</string>
+ <!-- Spoken description for Unicode code point U+1F342: "🍂" FALLEN LEAF -->
+ <string name="spoken_emoji_1F342">Fallen leaf</string>
+ <!-- Spoken description for Unicode code point U+1F343: "🍃" LEAF FLUTTERING IN WIND -->
+ <string name="spoken_emoji_1F343">Leaf fluttering in wind</string>
+ <!-- Spoken description for Unicode code point U+1F344: "🍄" MUSHROOM -->
+ <string name="spoken_emoji_1F344">Mushroom</string>
+ <!-- Spoken description for Unicode code point U+1F345: "🍅" TOMATO -->
+ <string name="spoken_emoji_1F345">Tomato</string>
+ <!-- Spoken description for Unicode code point U+1F346: "🍆" AUBERGINE -->
+ <string name="spoken_emoji_1F346">Aubergine</string>
+ <!-- Spoken description for Unicode code point U+1F347: "🍇" GRAPES -->
+ <string name="spoken_emoji_1F347">Grapes</string>
+ <!-- Spoken description for Unicode code point U+1F348: "🍈" MELON -->
+ <string name="spoken_emoji_1F348">Melon</string>
+ <!-- Spoken description for Unicode code point U+1F349: "🍉" WATERMELON -->
+ <string name="spoken_emoji_1F349">Watermelon</string>
+ <!-- Spoken description for Unicode code point U+1F34A: "🍊" TANGERINE -->
+ <string name="spoken_emoji_1F34A">Tangerine</string>
+ <!-- Spoken description for Unicode code point U+1F34B: "🍋" LEMON -->
+ <string name="spoken_emoji_1F34B">Lemon</string>
+ <!-- Spoken description for Unicode code point U+1F34C: "🍌" BANANA -->
+ <string name="spoken_emoji_1F34C">Banana</string>
+ <!-- Spoken description for Unicode code point U+1F34D: "🍍" PINEAPPLE -->
+ <string name="spoken_emoji_1F34D">Pineapple</string>
+ <!-- Spoken description for Unicode code point U+1F34E: "🍎" RED APPLE -->
+ <string name="spoken_emoji_1F34E">Red apple</string>
+ <!-- Spoken description for Unicode code point U+1F34F: "🍏" GREEN APPLE -->
+ <string name="spoken_emoji_1F34F">Green apple</string>
+ <!-- Spoken description for Unicode code point U+1F350: "🍐" PEAR -->
+ <string name="spoken_emoji_1F350">Pear</string>
+ <!-- Spoken description for Unicode code point U+1F351: "🍑" PEACH -->
+ <string name="spoken_emoji_1F351">Peach</string>
+ <!-- Spoken description for Unicode code point U+1F352: "🍒" CHERRIES -->
+ <string name="spoken_emoji_1F352">Cherries</string>
+ <!-- Spoken description for Unicode code point U+1F353: "🍓" STRAWBERRY -->
+ <string name="spoken_emoji_1F353">Strawberry</string>
+ <!-- Spoken description for Unicode code point U+1F354: "🍔" HAMBURGER -->
+ <string name="spoken_emoji_1F354">Hamburger</string>
+ <!-- Spoken description for Unicode code point U+1F355: "🍕" SLICE OF PIZZA -->
+ <string name="spoken_emoji_1F355">Slice of pizza</string>
+ <!-- Spoken description for Unicode code point U+1F356: "🍖" MEAT ON BONE -->
+ <string name="spoken_emoji_1F356">Meat on bone</string>
+ <!-- Spoken description for Unicode code point U+1F357: "🍗" POULTRY LEG -->
+ <string name="spoken_emoji_1F357">Poultry leg</string>
+ <!-- Spoken description for Unicode code point U+1F358: "🍘" RICE CRACKER -->
+ <string name="spoken_emoji_1F358">Rice cracker</string>
+ <!-- Spoken description for Unicode code point U+1F359: "🍙" RICE BALL -->
+ <string name="spoken_emoji_1F359">Rice ball</string>
+ <!-- Spoken description for Unicode code point U+1F35A: "🍚" COOKED RICE -->
+ <string name="spoken_emoji_1F35A">Cooked rice</string>
+ <!-- Spoken description for Unicode code point U+1F35B: "🍛" CURRY AND RICE -->
+ <string name="spoken_emoji_1F35B">Curry and rice</string>
+ <!-- Spoken description for Unicode code point U+1F35C: "🍜" STEAMING BOWL -->
+ <string name="spoken_emoji_1F35C">Steaming bowl</string>
+ <!-- Spoken description for Unicode code point U+1F35D: "🍝" SPAGHETTI -->
+ <string name="spoken_emoji_1F35D">Spaghetti</string>
+ <!-- Spoken description for Unicode code point U+1F35E: "🍞" BREAD -->
+ <string name="spoken_emoji_1F35E">Bread</string>
+ <!-- Spoken description for Unicode code point U+1F35F: "🍟" FRENCH FRIES -->
+ <string name="spoken_emoji_1F35F">French fries</string>
+ <!-- Spoken description for Unicode code point U+1F360: "🍠" ROASTED SWEET POTATO -->
+ <string name="spoken_emoji_1F360">Roasted sweet potato</string>
+ <!-- Spoken description for Unicode code point U+1F361: "🍡" DANGO -->
+ <string name="spoken_emoji_1F361">Dango</string>
+ <!-- Spoken description for Unicode code point U+1F362: "🍢" ODEN -->
+ <string name="spoken_emoji_1F362">Oden</string>
+ <!-- Spoken description for Unicode code point U+1F363: "🍣" SUSHI -->
+ <string name="spoken_emoji_1F363">Sushi</string>
+ <!-- Spoken description for Unicode code point U+1F364: "🍤" FRIED SHRIMP -->
+ <string name="spoken_emoji_1F364">Fried shrimp</string>
+ <!-- Spoken description for Unicode code point U+1F365: "🍥" FISH CAKE WITH SWIRL DESIGN -->
+ <string name="spoken_emoji_1F365">Fish cake with swirl design</string>
+ <!-- Spoken description for Unicode code point U+1F366: "🍦" SOFT ICE CREAM -->
+ <string name="spoken_emoji_1F366">Soft ice cream</string>
+ <!-- Spoken description for Unicode code point U+1F367: "🍧" SHAVED ICE -->
+ <string name="spoken_emoji_1F367">Shaved ice</string>
+ <!-- Spoken description for Unicode code point U+1F368: "🍨" ICE CREAM -->
+ <string name="spoken_emoji_1F368">Ice cream</string>
+ <!-- Spoken description for Unicode code point U+1F369: "🍩" DOUGHNUT -->
+ <string name="spoken_emoji_1F369">Doughnut</string>
+ <!-- Spoken description for Unicode code point U+1F36A: "🍪" COOKIE -->
+ <string name="spoken_emoji_1F36A">Cookie</string>
+ <!-- Spoken description for Unicode code point U+1F36B: "🍫" CHOCOLATE BAR -->
+ <string name="spoken_emoji_1F36B">Chocolate bar</string>
+ <!-- Spoken description for Unicode code point U+1F36C: "🍬" CANDY -->
+ <string name="spoken_emoji_1F36C">Candy</string>
+ <!-- Spoken description for Unicode code point U+1F36D: "🍭" LOLLIPOP -->
+ <string name="spoken_emoji_1F36D">Lollipop</string>
+ <!-- Spoken description for Unicode code point U+1F36E: "🍮" CUSTARD -->
+ <string name="spoken_emoji_1F36E">Custard</string>
+ <!-- Spoken description for Unicode code point U+1F36F: "🍯" HONEY POT -->
+ <string name="spoken_emoji_1F36F">Honey pot</string>
+ <!-- Spoken description for Unicode code point U+1F370: "🍰" SHORTCAKE -->
+ <string name="spoken_emoji_1F370">Shortcake</string>
+ <!-- Spoken description for Unicode code point U+1F371: "🍱" BENTO BOX -->
+ <string name="spoken_emoji_1F371">Bento box</string>
+ <!-- Spoken description for Unicode code point U+1F372: "🍲" POT OF FOOD -->
+ <string name="spoken_emoji_1F372">Pot of food</string>
+ <!-- Spoken description for Unicode code point U+1F373: "🍳" COOKING -->
+ <string name="spoken_emoji_1F373">Cooking</string>
+ <!-- Spoken description for Unicode code point U+1F374: "🍴" FORK AND KNIFE -->
+ <string name="spoken_emoji_1F374">Fork and knife</string>
+ <!-- Spoken description for Unicode code point U+1F375: "🍵" TEACUP WITHOUT HANDLE -->
+ <string name="spoken_emoji_1F375">Teacup without handle</string>
+ <!-- Spoken description for Unicode code point U+1F376: "🍶" SAKE BOTTLE AND CUP -->
+ <string name="spoken_emoji_1F376">Sake bottle and cup</string>
+ <!-- Spoken description for Unicode code point U+1F377: "🍷" WINE GLASS -->
+ <string name="spoken_emoji_1F377">Wine glass</string>
+ <!-- Spoken description for Unicode code point U+1F378: "🍸" COCKTAIL GLASS -->
+ <string name="spoken_emoji_1F378">Cocktail glass</string>
+ <!-- Spoken description for Unicode code point U+1F379: "🍹" TROPICAL DRINK -->
+ <string name="spoken_emoji_1F379">Tropical drink</string>
+ <!-- Spoken description for Unicode code point U+1F37A: "🍺" BEER MUG -->
+ <string name="spoken_emoji_1F37A">Beer mug</string>
+ <!-- Spoken description for Unicode code point U+1F37B: "🍻" CLINKING BEER MUGS -->
+ <string name="spoken_emoji_1F37B">Clinking beer mugs</string>
+ <!-- Spoken description for Unicode code point U+1F37C: "🍼" BABY BOTTLE -->
+ <string name="spoken_emoji_1F37C">Baby bottle</string>
+ <!-- Spoken description for Unicode code point U+1F380: "🎀" RIBBON -->
+ <string name="spoken_emoji_1F380">Ribbon</string>
+ <!-- Spoken description for Unicode code point U+1F381: "🎁" WRAPPED PRESENT -->
+ <string name="spoken_emoji_1F381">Wrapped present</string>
+ <!-- Spoken description for Unicode code point U+1F382: "🎂" BIRTHDAY CAKE -->
+ <string name="spoken_emoji_1F382">Birthday cake</string>
+ <!-- Spoken description for Unicode code point U+1F383: "🎃" JACK-O-LANTERN -->
+ <string name="spoken_emoji_1F383">Jack-o-lantern</string>
+ <!-- Spoken description for Unicode code point U+1F384: "🎄" CHRISTMAS TREE -->
+ <string name="spoken_emoji_1F384">Christmas tree</string>
+ <!-- Spoken description for Unicode code point U+1F385: "🎅" FATHER CHRISTMAS -->
+ <string name="spoken_emoji_1F385">Father christmas</string>
+ <!-- Spoken description for Unicode code point U+1F386: "🎆" FIREWORKS -->
+ <string name="spoken_emoji_1F386">Fireworks</string>
+ <!-- Spoken description for Unicode code point U+1F387: "🎇" FIREWORK SPARKLER -->
+ <string name="spoken_emoji_1F387">Firework sparkler</string>
+ <!-- Spoken description for Unicode code point U+1F388: "🎈" BALLOON -->
+ <string name="spoken_emoji_1F388">Balloon</string>
+ <!-- Spoken description for Unicode code point U+1F389: "🎉" PARTY POPPER -->
+ <string name="spoken_emoji_1F389">Party popper</string>
+ <!-- Spoken description for Unicode code point U+1F38A: "🎊" CONFETTI BALL -->
+ <string name="spoken_emoji_1F38A">Confetti ball</string>
+ <!-- Spoken description for Unicode code point U+1F38B: "🎋" TANABATA TREE -->
+ <string name="spoken_emoji_1F38B">Tanabata tree</string>
+ <!-- Spoken description for Unicode code point U+1F38C: "🎌" CROSSED FLAGS -->
+ <string name="spoken_emoji_1F38C">Crossed flags</string>
+ <!-- Spoken description for Unicode code point U+1F38D: "🎍" PINE DECORATION -->
+ <string name="spoken_emoji_1F38D">Pine decoration</string>
+ <!-- Spoken description for Unicode code point U+1F38E: "🎎" JAPANESE DOLLS -->
+ <string name="spoken_emoji_1F38E">Japanese dolls</string>
+ <!-- Spoken description for Unicode code point U+1F38F: "🎏" CARP STREAMER -->
+ <string name="spoken_emoji_1F38F">Carp streamer</string>
+ <!-- Spoken description for Unicode code point U+1F390: "🎐" WIND CHIME -->
+ <string name="spoken_emoji_1F390">Wind chime</string>
+ <!-- Spoken description for Unicode code point U+1F391: "🎑" MOON VIEWING CEREMONY -->
+ <string name="spoken_emoji_1F391">Moon viewing ceremony</string>
+ <!-- Spoken description for Unicode code point U+1F392: "🎒" SCHOOL SATCHEL -->
+ <string name="spoken_emoji_1F392">School satchel</string>
+ <!-- Spoken description for Unicode code point U+1F393: "🎓" GRADUATION CAP -->
+ <string name="spoken_emoji_1F393">Graduation cap</string>
+ <!-- Spoken description for Unicode code point U+1F3A0: "🎠" CAROUSEL HORSE -->
+ <string name="spoken_emoji_1F3A0">Carousel horse</string>
+ <!-- Spoken description for Unicode code point U+1F3A1: "🎡" FERRIS WHEEL -->
+ <string name="spoken_emoji_1F3A1">Ferris wheel</string>
+ <!-- Spoken description for Unicode code point U+1F3A2: "🎢" ROLLER COASTER -->
+ <string name="spoken_emoji_1F3A2">Roller coaster</string>
+ <!-- Spoken description for Unicode code point U+1F3A3: "🎣" FISHING POLE AND FISH -->
+ <string name="spoken_emoji_1F3A3">Fishing pole and fish</string>
+ <!-- Spoken description for Unicode code point U+1F3A4: "🎤" MICROPHONE -->
+ <string name="spoken_emoji_1F3A4">Microphone</string>
+ <!-- Spoken description for Unicode code point U+1F3A5: "🎥" MOVIE CAMERA -->
+ <string name="spoken_emoji_1F3A5">Movie camera</string>
+ <!-- Spoken description for Unicode code point U+1F3A6: "🎦" CINEMA -->
+ <string name="spoken_emoji_1F3A6">Cinema</string>
+ <!-- Spoken description for Unicode code point U+1F3A7: "🎧" HEADPHONE -->
+ <string name="spoken_emoji_1F3A7">Headphone</string>
+ <!-- Spoken description for Unicode code point U+1F3A8: "🎨" ARTIST PALETTE -->
+ <string name="spoken_emoji_1F3A8">Artist palette</string>
+ <!-- Spoken description for Unicode code point U+1F3A9: "🎩" TOP HAT -->
+ <string name="spoken_emoji_1F3A9">Top hat</string>
+ <!-- Spoken description for Unicode code point U+1F3AA: "🎪" CIRCUS TENT -->
+ <string name="spoken_emoji_1F3AA">Circus tent</string>
+ <!-- Spoken description for Unicode code point U+1F3AB: "🎫" TICKET -->
+ <string name="spoken_emoji_1F3AB">Ticket</string>
+ <!-- Spoken description for Unicode code point U+1F3AC: "🎬" CLAPPER BOARD -->
+ <string name="spoken_emoji_1F3AC">Clapper board</string>
+ <!-- Spoken description for Unicode code point U+1F3AD: "🎭" PERFORMING ARTS -->
+ <string name="spoken_emoji_1F3AD">Performing arts</string>
+ <!-- Spoken description for Unicode code point U+1F3AE: "🎮" VIDEO GAME -->
+ <string name="spoken_emoji_1F3AE">Video game</string>
+ <!-- Spoken description for Unicode code point U+1F3AF: "🎯" DIRECT HIT -->
+ <string name="spoken_emoji_1F3AF">Direct hit</string>
+ <!-- Spoken description for Unicode code point U+1F3B0: "🎰" SLOT MACHINE -->
+ <string name="spoken_emoji_1F3B0">Slot machine</string>
+ <!-- Spoken description for Unicode code point U+1F3B1: "🎱" BILLIARDS -->
+ <string name="spoken_emoji_1F3B1">Billiards</string>
+ <!-- Spoken description for Unicode code point U+1F3B2: "🎲" GAME DIE -->
+ <string name="spoken_emoji_1F3B2">Game die</string>
+ <!-- Spoken description for Unicode code point U+1F3B3: "🎳" BOWLING -->
+ <string name="spoken_emoji_1F3B3">Bowling</string>
+ <!-- Spoken description for Unicode code point U+1F3B4: "🎴" FLOWER PLAYING CARDS -->
+ <string name="spoken_emoji_1F3B4">Flower playing cards</string>
+ <!-- Spoken description for Unicode code point U+1F3B5: "🎵" MUSICAL NOTE -->
+ <string name="spoken_emoji_1F3B5">Musical note</string>
+ <!-- Spoken description for Unicode code point U+1F3B6: "🎶" MULTIPLE MUSICAL NOTES -->
+ <string name="spoken_emoji_1F3B6">Multiple musical notes</string>
+ <!-- Spoken description for Unicode code point U+1F3B7: "🎷" SAXOPHONE -->
+ <string name="spoken_emoji_1F3B7">Saxophone</string>
+ <!-- Spoken description for Unicode code point U+1F3B8: "🎸" GUITAR -->
+ <string name="spoken_emoji_1F3B8">Guitar</string>
+ <!-- Spoken description for Unicode code point U+1F3B9: "🎹" MUSICAL KEYBOARD -->
+ <string name="spoken_emoji_1F3B9">Musical keyboard</string>
+ <!-- Spoken description for Unicode code point U+1F3BA: "🎺" TRUMPET -->
+ <string name="spoken_emoji_1F3BA">Trumpet</string>
+ <!-- Spoken description for Unicode code point U+1F3BB: "🎻" VIOLIN -->
+ <string name="spoken_emoji_1F3BB">Violin</string>
+ <!-- Spoken description for Unicode code point U+1F3BC: "🎼" MUSICAL SCORE -->
+ <string name="spoken_emoji_1F3BC">Musical score</string>
+ <!-- Spoken description for Unicode code point U+1F3BD: "🎽" RUNNING SHIRT WITH SASH -->
+ <string name="spoken_emoji_1F3BD">Running shirt with sash</string>
+ <!-- Spoken description for Unicode code point U+1F3BE: "🎾" TENNIS RACQUET AND BALL -->
+ <string name="spoken_emoji_1F3BE">Tennis racquet and ball</string>
+ <!-- Spoken description for Unicode code point U+1F3BF: "🎿" SKI AND SKI BOOT -->
+ <string name="spoken_emoji_1F3BF">Ski and ski boot</string>
+ <!-- Spoken description for Unicode code point U+1F3C0: "🏀" BASKETBALL AND HOOP -->
+ <string name="spoken_emoji_1F3C0">Basketball and hoop</string>
+ <!-- Spoken description for Unicode code point U+1F3C1: "🏁" CHEQUERED FLAG -->
+ <string name="spoken_emoji_1F3C1">Chequered flag</string>
+ <!-- Spoken description for Unicode code point U+1F3C2: "🏂" SNOWBOARDER -->
+ <string name="spoken_emoji_1F3C2">Snowboarder</string>
+ <!-- Spoken description for Unicode code point U+1F3C3: "🏃" RUNNER -->
+ <string name="spoken_emoji_1F3C3">Runner</string>
+ <!-- Spoken description for Unicode code point U+1F3C4: "🏄" SURFER -->
+ <string name="spoken_emoji_1F3C4">Surfer</string>
+ <!-- Spoken description for Unicode code point U+1F3C6: "🏆" TROPHY -->
+ <string name="spoken_emoji_1F3C6">Trophy</string>
+ <!-- Spoken description for Unicode code point U+1F3C7: "🏇" HORSE RACING -->
+ <string name="spoken_emoji_1F3C7">Horse racing</string>
+ <!-- Spoken description for Unicode code point U+1F3C8: "🏈" AMERICAN FOOTBALL -->
+ <string name="spoken_emoji_1F3C8">American football</string>
+ <!-- Spoken description for Unicode code point U+1F3C9: "🏉" RUGBY FOOTBALL -->
+ <string name="spoken_emoji_1F3C9">Rugby football</string>
+ <!-- Spoken description for Unicode code point U+1F3CA: "🏊" SWIMMER -->
+ <string name="spoken_emoji_1F3CA">Swimmer</string>
+ <!-- Spoken description for Unicode code point U+1F3E0: "🏠" HOUSE BUILDING -->
+ <string name="spoken_emoji_1F3E0">House building</string>
+ <!-- Spoken description for Unicode code point U+1F3E1: "🏡" HOUSE WITH GARDEN -->
+ <string name="spoken_emoji_1F3E1">House with garden</string>
+ <!-- Spoken description for Unicode code point U+1F3E2: "🏢" OFFICE BUILDING -->
+ <string name="spoken_emoji_1F3E2">Office building</string>
+ <!-- Spoken description for Unicode code point U+1F3E3: "🏣" JAPANESE POST OFFICE -->
+ <string name="spoken_emoji_1F3E3">Japanese post office</string>
+ <!-- Spoken description for Unicode code point U+1F3E4: "🏤" EUROPEAN POST OFFICE -->
+ <string name="spoken_emoji_1F3E4">European post office</string>
+ <!-- Spoken description for Unicode code point U+1F3E5: "🏥" HOSPITAL -->
+ <string name="spoken_emoji_1F3E5">Hospital</string>
+ <!-- Spoken description for Unicode code point U+1F3E6: "🏦" BANK -->
+ <string name="spoken_emoji_1F3E6">Bank</string>
+ <!-- Spoken description for Unicode code point U+1F3E7: "🏧" AUTOMATED TELLER MACHINE -->
+ <string name="spoken_emoji_1F3E7">Automated teller machine</string>
+ <!-- Spoken description for Unicode code point U+1F3E8: "🏨" HOTEL -->
+ <string name="spoken_emoji_1F3E8">Hotel</string>
+ <!-- Spoken description for Unicode code point U+1F3E9: "🏩" LOVE HOTEL -->
+ <string name="spoken_emoji_1F3E9">Love hotel</string>
+ <!-- Spoken description for Unicode code point U+1F3EA: "🏪" CONVENIENCE STORE -->
+ <string name="spoken_emoji_1F3EA">Convenience store</string>
+ <!-- Spoken description for Unicode code point U+1F3EB: "🏫" SCHOOL -->
+ <string name="spoken_emoji_1F3EB">School</string>
+ <!-- Spoken description for Unicode code point U+1F3EC: "🏬" DEPARTMENT STORE -->
+ <string name="spoken_emoji_1F3EC">Department store</string>
+ <!-- Spoken description for Unicode code point U+1F3ED: "🏭" FACTORY -->
+ <string name="spoken_emoji_1F3ED">Factory</string>
+ <!-- Spoken description for Unicode code point U+1F3EE: "🏮" IZAKAYA LANTERN -->
+ <string name="spoken_emoji_1F3EE">Izakaya lantern</string>
+ <!-- Spoken description for Unicode code point U+1F3EF: "🏯" JAPANESE CASTLE -->
+ <string name="spoken_emoji_1F3EF">Japanese castle</string>
+ <!-- Spoken description for Unicode code point U+1F3F0: "🏰" EUROPEAN CASTLE -->
+ <string name="spoken_emoji_1F3F0">European castle</string>
+ <!-- Spoken description for Unicode code point U+1F400: "🐀" RAT -->
+ <string name="spoken_emoji_1F400">Rat</string>
+ <!-- Spoken description for Unicode code point U+1F401: "🐁" MOUSE -->
+ <string name="spoken_emoji_1F401">Mouse</string>
+ <!-- Spoken description for Unicode code point U+1F402: "🐂" OX -->
+ <string name="spoken_emoji_1F402">Ox</string>
+ <!-- Spoken description for Unicode code point U+1F403: "🐃" WATER BUFFALO -->
+ <string name="spoken_emoji_1F403">Water buffalo</string>
+ <!-- Spoken description for Unicode code point U+1F404: "🐄" COW -->
+ <string name="spoken_emoji_1F404">Cow</string>
+ <!-- Spoken description for Unicode code point U+1F406: "🐆" LEOPARD -->
+ <string name="spoken_emoji_1F406">Leopard</string>
+ <!-- Spoken description for Unicode code point U+1F407: "🐇" RABBIT -->
+ <string name="spoken_emoji_1F407">Rabbit</string>
+ <!-- Spoken description for Unicode code point U+1F408: "🐈" CAT -->
+ <string name="spoken_emoji_1F408">Cat</string>
+ <!-- Spoken description for Unicode code point U+1F409: "🐉" DRAGON -->
+ <string name="spoken_emoji_1F409">Dragon</string>
+ <!-- Spoken description for Unicode code point U+1F40A: "🐊" CROCODILE -->
+ <string name="spoken_emoji_1F40A">Crocodile</string>
+ <!-- Spoken description for Unicode code point U+1F40B: "🐋" WHALE -->
+ <string name="spoken_emoji_1F40B">Whale</string>
+ <!-- Spoken description for Unicode code point U+1F40C: "🐌" SNAIL -->
+ <string name="spoken_emoji_1F40C">Snail</string>
+ <!-- Spoken description for Unicode code point U+1F40D: "🐍" SNAKE -->
+ <string name="spoken_emoji_1F40D">Snake</string>
+ <!-- Spoken description for Unicode code point U+1F40E: "🐎" HORSE -->
+ <string name="spoken_emoji_1F40E">Horse</string>
+ <!-- Spoken description for Unicode code point U+1F40F: "🐏" RAM -->
+ <string name="spoken_emoji_1F40F">Ram</string>
+ <!-- Spoken description for Unicode code point U+1F410: "🐐" GOAT -->
+ <string name="spoken_emoji_1F410">Goat</string>
+ <!-- Spoken description for Unicode code point U+1F411: "🐑" SHEEP -->
+ <string name="spoken_emoji_1F411">Sheep</string>
+ <!-- Spoken description for Unicode code point U+1F412: "🐒" MONKEY -->
+ <string name="spoken_emoji_1F412">Monkey</string>
+ <!-- Spoken description for Unicode code point U+1F413: "🐓" ROOSTER -->
+ <string name="spoken_emoji_1F413">Rooster</string>
+ <!-- Spoken description for Unicode code point U+1F414: "🐔" CHICKEN -->
+ <string name="spoken_emoji_1F414">Chicken</string>
+ <!-- Spoken description for Unicode code point U+1F415: "🐕" DOG -->
+ <string name="spoken_emoji_1F415">Dog</string>
+ <!-- Spoken description for Unicode code point U+1F416: "🐖" PIG -->
+ <string name="spoken_emoji_1F416">Pig</string>
+ <!-- Spoken description for Unicode code point U+1F417: "🐗" BOAR -->
+ <string name="spoken_emoji_1F417">Boar</string>
+ <!-- Spoken description for Unicode code point U+1F418: "🐘" ELEPHANT -->
+ <string name="spoken_emoji_1F418">Elephant</string>
+ <!-- Spoken description for Unicode code point U+1F419: "🐙" OCTOPUS -->
+ <string name="spoken_emoji_1F419">Octopus</string>
+ <!-- Spoken description for Unicode code point U+1F41A: "🐚" SPIRAL SHELL -->
+ <string name="spoken_emoji_1F41A">Spiral shell</string>
+ <!-- Spoken description for Unicode code point U+1F41B: "🐛" BUG -->
+ <string name="spoken_emoji_1F41B">Bug</string>
+ <!-- Spoken description for Unicode code point U+1F41C: "🐜" ANT -->
+ <string name="spoken_emoji_1F41C">Ant</string>
+ <!-- Spoken description for Unicode code point U+1F41D: "🐝" HONEYBEE -->
+ <string name="spoken_emoji_1F41D">Honeybee</string>
+ <!-- Spoken description for Unicode code point U+1F41E: "🐞" LADY BEETLE -->
+ <string name="spoken_emoji_1F41E">Lady beetle</string>
+ <!-- Spoken description for Unicode code point U+1F41F: "🐟" FISH -->
+ <string name="spoken_emoji_1F41F">Fish</string>
+ <!-- Spoken description for Unicode code point U+1F420: "🐠" TROPICAL FISH -->
+ <string name="spoken_emoji_1F420">Tropical fish</string>
+ <!-- Spoken description for Unicode code point U+1F421: "🐡" BLOWFISH -->
+ <string name="spoken_emoji_1F421">Blowfish</string>
+ <!-- Spoken description for Unicode code point U+1F422: "🐢" TURTLE -->
+ <string name="spoken_emoji_1F422">Turtle</string>
+ <!-- Spoken description for Unicode code point U+1F423: "🐣" HATCHING CHICK -->
+ <string name="spoken_emoji_1F423">Hatching chick</string>
+ <!-- Spoken description for Unicode code point U+1F424: "🐤" BABY CHICK -->
+ <string name="spoken_emoji_1F424">Baby chick</string>
+ <!-- Spoken description for Unicode code point U+1F425: "🐥" FRONT-FACING BABY CHICK -->
+ <string name="spoken_emoji_1F425">Front-facing baby chick</string>
+ <!-- Spoken description for Unicode code point U+1F426: "🐦" BIRD -->
+ <string name="spoken_emoji_1F426">Bird</string>
+ <!-- Spoken description for Unicode code point U+1F427: "🐧" PENGUIN -->
+ <string name="spoken_emoji_1F427">Penguin</string>
+ <!-- Spoken description for Unicode code point U+1F428: "🐨" KOALA -->
+ <string name="spoken_emoji_1F428">Koala</string>
+ <!-- Spoken description for Unicode code point U+1F429: "🐩" POODLE -->
+ <string name="spoken_emoji_1F429">Poodle</string>
+ <!-- Spoken description for Unicode code point U+1F42A: "🐪" DROMEDARY CAMEL -->
+ <string name="spoken_emoji_1F42A">Dromedary camel</string>
+ <!-- Spoken description for Unicode code point U+1F42B: "🐫" BACTRIAN CAMEL -->
+ <string name="spoken_emoji_1F42B">Bactrian camel</string>
+ <!-- Spoken description for Unicode code point U+1F42C: "🐬" DOLPHIN -->
+ <string name="spoken_emoji_1F42C">Dolphin</string>
+ <!-- Spoken description for Unicode code point U+1F42D: "🐭" MOUSE FACE -->
+ <string name="spoken_emoji_1F42D">Mouse face</string>
+ <!-- Spoken description for Unicode code point U+1F42E: "🐮" COW FACE -->
+ <string name="spoken_emoji_1F42E">Cow face</string>
+ <!-- Spoken description for Unicode code point U+1F42F: "🐯" TIGER FACE -->
+ <string name="spoken_emoji_1F42F">Tiger face</string>
+ <!-- Spoken description for Unicode code point U+1F430: "🐰" RABBIT FACE -->
+ <string name="spoken_emoji_1F430">Rabbit face</string>
+ <!-- Spoken description for Unicode code point U+1F431: "🐱" CAT FACE -->
+ <string name="spoken_emoji_1F431">Cat face</string>
+ <!-- Spoken description for Unicode code point U+1F432: "🐲" DRAGON FACE -->
+ <string name="spoken_emoji_1F432">Dragon face</string>
+ <!-- Spoken description for Unicode code point U+1F433: "🐳" SPOUTING WHALE -->
+ <string name="spoken_emoji_1F433">Spouting whale</string>
+ <!-- Spoken description for Unicode code point U+1F434: "🐴" HORSE FACE -->
+ <string name="spoken_emoji_1F434">Horse face</string>
+ <!-- Spoken description for Unicode code point U+1F435: "🐵" MONKEY FACE -->
+ <string name="spoken_emoji_1F435">Monkey face</string>
+ <!-- Spoken description for Unicode code point U+1F436: "🐶" DOG FACE -->
+ <string name="spoken_emoji_1F436">Dog face</string>
+ <!-- Spoken description for Unicode code point U+1F437: "🐷" PIG FACE -->
+ <string name="spoken_emoji_1F437">Pig face</string>
+ <!-- Spoken description for Unicode code point U+1F438: "🐸" FROG FACE -->
+ <string name="spoken_emoji_1F438">Frog face</string>
+ <!-- Spoken description for Unicode code point U+1F439: "🐹" HAMSTER FACE -->
+ <string name="spoken_emoji_1F439">Hamster face</string>
+ <!-- Spoken description for Unicode code point U+1F43A: "🐺" WOLF FACE -->
+ <string name="spoken_emoji_1F43A">Wolf face</string>
+ <!-- Spoken description for Unicode code point U+1F43B: "🐻" BEAR FACE -->
+ <string name="spoken_emoji_1F43B">Bear face</string>
+ <!-- Spoken description for Unicode code point U+1F43C: "🐼" PANDA FACE -->
+ <string name="spoken_emoji_1F43C">Panda face</string>
+ <!-- Spoken description for Unicode code point U+1F43D: "🐽" PIG NOSE -->
+ <string name="spoken_emoji_1F43D">Pig nose</string>
+ <!-- Spoken description for Unicode code point U+1F43E: "🐾" PAW PRINTS -->
+ <string name="spoken_emoji_1F43E">Paw prints</string>
+ <!-- Spoken description for Unicode code point U+1F440: "👀" EYES -->
+ <string name="spoken_emoji_1F440">Eyes</string>
+ <!-- Spoken description for Unicode code point U+1F442: "👂" EAR -->
+ <string name="spoken_emoji_1F442">Ear</string>
+ <!-- Spoken description for Unicode code point U+1F443: "👃" NOSE -->
+ <string name="spoken_emoji_1F443">Nose</string>
+ <!-- Spoken description for Unicode code point U+1F444: "👄" MOUTH -->
+ <string name="spoken_emoji_1F444">Mouth</string>
+ <!-- Spoken description for Unicode code point U+1F445: "👅" TONGUE -->
+ <string name="spoken_emoji_1F445">Tongue</string>
+ <!-- Spoken description for Unicode code point U+1F446: "👆" WHITE UP POINTING BACKHAND INDEX -->
+ <string name="spoken_emoji_1F446">White up pointing backhand index</string>
+ <!-- Spoken description for Unicode code point U+1F447: "👇" WHITE DOWN POINTING BACKHAND INDEX -->
+ <string name="spoken_emoji_1F447">White down pointing backhand index</string>
+ <!-- Spoken description for Unicode code point U+1F448: "👈" WHITE LEFT POINTING BACKHAND INDEX -->
+ <string name="spoken_emoji_1F448">White left pointing backhand index</string>
+ <!-- Spoken description for Unicode code point U+1F449: "👉" WHITE RIGHT POINTING BACKHAND INDEX -->
+ <string name="spoken_emoji_1F449">White right pointing backhand index</string>
+ <!-- Spoken description for Unicode code point U+1F44A: "👊" FISTED HAND SIGN -->
+ <string name="spoken_emoji_1F44A">Fisted hand sign</string>
+ <!-- Spoken description for Unicode code point U+1F44B: "👋" WAVING HAND SIGN -->
+ <string name="spoken_emoji_1F44B">Waving hand sign</string>
+ <!-- Spoken description for Unicode code point U+1F44C: "👌" OK HAND SIGN -->
+ <string name="spoken_emoji_1F44C">Ok hand sign</string>
+ <!-- Spoken description for Unicode code point U+1F44D: "👍" THUMBS UP SIGN -->
+ <string name="spoken_emoji_1F44D">Thumbs up sign</string>
+ <!-- Spoken description for Unicode code point U+1F44E: "👎" THUMBS DOWN SIGN -->
+ <string name="spoken_emoji_1F44E">Thumbs down sign</string>
+ <!-- Spoken description for Unicode code point U+1F44F: "👏" CLAPPING HANDS SIGN -->
+ <string name="spoken_emoji_1F44F">Clapping hands sign</string>
+ <!-- Spoken description for Unicode code point U+1F450: "👐" OPEN HANDS SIGN -->
+ <string name="spoken_emoji_1F450">Open hands sign</string>
+ <!-- Spoken description for Unicode code point U+1F451: "👑" CROWN -->
+ <string name="spoken_emoji_1F451">Crown</string>
+ <!-- Spoken description for Unicode code point U+1F452: "👒" WOMANS HAT -->
+ <string name="spoken_emoji_1F452">Womans hat</string>
+ <!-- Spoken description for Unicode code point U+1F453: "👓" EYEGLASSES -->
+ <string name="spoken_emoji_1F453">Eyeglasses</string>
+ <!-- Spoken description for Unicode code point U+1F454: "👔" NECKTIE -->
+ <string name="spoken_emoji_1F454">Necktie</string>
+ <!-- Spoken description for Unicode code point U+1F455: "👕" T-SHIRT -->
+ <string name="spoken_emoji_1F455">T-shirt</string>
+ <!-- Spoken description for Unicode code point U+1F456: "👖" JEANS -->
+ <string name="spoken_emoji_1F456">Jeans</string>
+ <!-- Spoken description for Unicode code point U+1F457: "👗" DRESS -->
+ <string name="spoken_emoji_1F457">Dress</string>
+ <!-- Spoken description for Unicode code point U+1F458: "👘" KIMONO -->
+ <string name="spoken_emoji_1F458">Kimono</string>
+ <!-- Spoken description for Unicode code point U+1F459: "👙" BIKINI -->
+ <string name="spoken_emoji_1F459">Bikini</string>
+ <!-- Spoken description for Unicode code point U+1F45A: "👚" WOMANS CLOTHES -->
+ <string name="spoken_emoji_1F45A">Womans clothes</string>
+ <!-- Spoken description for Unicode code point U+1F45B: "👛" PURSE -->
+ <string name="spoken_emoji_1F45B">Purse</string>
+ <!-- Spoken description for Unicode code point U+1F45C: "👜" HANDBAG -->
+ <string name="spoken_emoji_1F45C">Handbag</string>
+ <!-- Spoken description for Unicode code point U+1F45D: "👝" POUCH -->
+ <string name="spoken_emoji_1F45D">Pouch</string>
+ <!-- Spoken description for Unicode code point U+1F45E: "👞" MANS SHOE -->
+ <string name="spoken_emoji_1F45E">Mans shoe</string>
+ <!-- Spoken description for Unicode code point U+1F45F: "👟" ATHLETIC SHOE -->
+ <string name="spoken_emoji_1F45F">Athletic shoe</string>
+ <!-- Spoken description for Unicode code point U+1F460: "👠" HIGH-HEELED SHOE -->
+ <string name="spoken_emoji_1F460">High-heeled shoe</string>
+ <!-- Spoken description for Unicode code point U+1F461: "👡" WOMANS SANDAL -->
+ <string name="spoken_emoji_1F461">Womans sandal</string>
+ <!-- Spoken description for Unicode code point U+1F462: "👢" WOMANS BOOTS -->
+ <string name="spoken_emoji_1F462">Womans boots</string>
+ <!-- Spoken description for Unicode code point U+1F463: "👣" FOOTPRINTS -->
+ <string name="spoken_emoji_1F463">Footprints</string>
+ <!-- Spoken description for Unicode code point U+1F464: "👤" BUST IN SILHOUETTE -->
+ <string name="spoken_emoji_1F464">Bust in silhouette</string>
+ <!-- Spoken description for Unicode code point U+1F465: "👥" BUSTS IN SILHOUETTE -->
+ <string name="spoken_emoji_1F465">Busts in silhouette</string>
+ <!-- Spoken description for Unicode code point U+1F466: "👦" BOY -->
+ <string name="spoken_emoji_1F466">Boy</string>
+ <!-- Spoken description for Unicode code point U+1F467: "👧" GIRL -->
+ <string name="spoken_emoji_1F467">Girl</string>
+ <!-- Spoken description for Unicode code point U+1F468: "👨" MAN -->
+ <string name="spoken_emoji_1F468">Man</string>
+ <!-- Spoken description for Unicode code point U+1F469: "👩" WOMAN -->
+ <string name="spoken_emoji_1F469">Woman</string>
+ <!-- Spoken description for Unicode code point U+1F46A: "👪" FAMILY -->
+ <string name="spoken_emoji_1F46A">Family</string>
+ <!-- Spoken description for Unicode code point U+1F46B: "👫" MAN AND WOMAN HOLDING HANDS -->
+ <string name="spoken_emoji_1F46B">Man and woman holding hands</string>
+ <!-- Spoken description for Unicode code point U+1F46C: "👬" TWO MEN HOLDING HANDS -->
+ <string name="spoken_emoji_1F46C">Two men holding hands</string>
+ <!-- Spoken description for Unicode code point U+1F46D: "👭" TWO WOMEN HOLDING HANDS -->
+ <string name="spoken_emoji_1F46D">Two women holding hands</string>
+ <!-- Spoken description for Unicode code point U+1F46E: "👮" POLICE OFFICER -->
+ <string name="spoken_emoji_1F46E">Police officer</string>
+ <!-- Spoken description for Unicode code point U+1F46F: "👯" WOMAN WITH BUNNY EARS -->
+ <string name="spoken_emoji_1F46F">Woman with bunny ears</string>
+ <!-- Spoken description for Unicode code point U+1F470: "👰" BRIDE WITH VEIL -->
+ <string name="spoken_emoji_1F470">Bride with veil</string>
+ <!-- Spoken description for Unicode code point U+1F471: "👱" PERSON WITH BLOND HAIR -->
+ <string name="spoken_emoji_1F471">Person with blond hair</string>
+ <!-- Spoken description for Unicode code point U+1F472: "👲" MAN WITH GUA PI MAO -->
+ <string name="spoken_emoji_1F472">Man with gua pi mao</string>
+ <!-- Spoken description for Unicode code point U+1F473: "👳" MAN WITH TURBAN -->
+ <string name="spoken_emoji_1F473">Man with turban</string>
+ <!-- Spoken description for Unicode code point U+1F474: "👴" OLDER MAN -->
+ <string name="spoken_emoji_1F474">Older man</string>
+ <!-- Spoken description for Unicode code point U+1F475: "👵" OLDER WOMAN -->
+ <string name="spoken_emoji_1F475">Older woman</string>
+ <!-- Spoken description for Unicode code point U+1F476: "👶" BABY -->
+ <string name="spoken_emoji_1F476">Baby</string>
+ <!-- Spoken description for Unicode code point U+1F477: "👷" CONSTRUCTION WORKER -->
+ <string name="spoken_emoji_1F477">Construction worker</string>
+ <!-- Spoken description for Unicode code point U+1F478: "👸" PRINCESS -->
+ <string name="spoken_emoji_1F478">Princess</string>
+ <!-- Spoken description for Unicode code point U+1F479: "👹" JAPANESE OGRE -->
+ <string name="spoken_emoji_1F479">Japanese ogre</string>
+ <!-- Spoken description for Unicode code point U+1F47A: "👺" JAPANESE GOBLIN -->
+ <string name="spoken_emoji_1F47A">Japanese goblin</string>
+ <!-- Spoken description for Unicode code point U+1F47B: "👻" GHOST -->
+ <string name="spoken_emoji_1F47B">Ghost</string>
+ <!-- Spoken description for Unicode code point U+1F47C: "👼" BABY ANGEL -->
+ <string name="spoken_emoji_1F47C">Baby angel</string>
+ <!-- Spoken description for Unicode code point U+1F47D: "👽" EXTRATERRESTRIAL ALIEN -->
+ <string name="spoken_emoji_1F47D">Extraterrestrial alien</string>
+ <!-- Spoken description for Unicode code point U+1F47E: "👾" ALIEN MONSTER -->
+ <string name="spoken_emoji_1F47E">Alien monster</string>
+ <!-- Spoken description for Unicode code point U+1F47F: "👿" IMP -->
+ <string name="spoken_emoji_1F47F">Imp</string>
+ <!-- Spoken description for Unicode code point U+1F480: "💀" SKULL -->
+ <string name="spoken_emoji_1F480">Skull</string>
+ <!-- Spoken description for Unicode code point U+1F481: "💁" INFORMATION DESK PERSON -->
+ <string name="spoken_emoji_1F481">Information desk person</string>
+ <!-- Spoken description for Unicode code point U+1F482: "💂" GUARDSMAN -->
+ <string name="spoken_emoji_1F482">Guardsman</string>
+ <!-- Spoken description for Unicode code point U+1F483: "💃" DANCER -->
+ <string name="spoken_emoji_1F483">Dancer</string>
+ <!-- Spoken description for Unicode code point U+1F484: "💄" LIPSTICK -->
+ <string name="spoken_emoji_1F484">Lipstick</string>
+ <!-- Spoken description for Unicode code point U+1F485: "💅" NAIL POLISH -->
+ <string name="spoken_emoji_1F485">Nail polish</string>
+ <!-- Spoken description for Unicode code point U+1F486: "💆" FACE MASSAGE -->
+ <string name="spoken_emoji_1F486">Face massage</string>
+ <!-- Spoken description for Unicode code point U+1F487: "💇" HAIRCUT -->
+ <string name="spoken_emoji_1F487">Haircut</string>
+ <!-- Spoken description for Unicode code point U+1F488: "💈" BARBER POLE -->
+ <string name="spoken_emoji_1F488">Barber pole</string>
+ <!-- Spoken description for Unicode code point U+1F489: "💉" SYRINGE -->
+ <string name="spoken_emoji_1F489">Syringe</string>
+ <!-- Spoken description for Unicode code point U+1F48A: "💊" PILL -->
+ <string name="spoken_emoji_1F48A">Pill</string>
+ <!-- Spoken description for Unicode code point U+1F48B: "💋" KISS MARK -->
+ <string name="spoken_emoji_1F48B">Kiss mark</string>
+ <!-- Spoken description for Unicode code point U+1F48C: "💌" LOVE LETTER -->
+ <string name="spoken_emoji_1F48C">Love letter</string>
+ <!-- Spoken description for Unicode code point U+1F48D: "💍" RING -->
+ <string name="spoken_emoji_1F48D">Ring</string>
+ <!-- Spoken description for Unicode code point U+1F48E: "💎" GEM STONE -->
+ <string name="spoken_emoji_1F48E">Gem stone</string>
+ <!-- Spoken description for Unicode code point U+1F48F: "💏" KISS -->
+ <string name="spoken_emoji_1F48F">Kiss</string>
+ <!-- Spoken description for Unicode code point U+1F490: "💐" BOUQUET -->
+ <string name="spoken_emoji_1F490">Bouquet</string>
+ <!-- Spoken description for Unicode code point U+1F491: "💑" COUPLE WITH HEART -->
+ <string name="spoken_emoji_1F491">Couple with heart</string>
+ <!-- Spoken description for Unicode code point U+1F492: "💒" WEDDING -->
+ <string name="spoken_emoji_1F492">Wedding</string>
+ <!-- Spoken description for Unicode code point U+1F493: "💓" BEATING HEART -->
+ <string name="spoken_emoji_1F493">Beating heart</string>
+ <!-- Spoken description for Unicode code point U+1F494: "💔" BROKEN HEART -->
+ <string name="spoken_emoji_1F494">Broken heart</string>
+ <!-- Spoken description for Unicode code point U+1F495: "💕" TWO HEARTS -->
+ <string name="spoken_emoji_1F495">Two hearts</string>
+ <!-- Spoken description for Unicode code point U+1F496: "💖" SPARKLING HEART -->
+ <string name="spoken_emoji_1F496">Sparkling heart</string>
+ <!-- Spoken description for Unicode code point U+1F497: "💗" GROWING HEART -->
+ <string name="spoken_emoji_1F497">Growing heart</string>
+ <!-- Spoken description for Unicode code point U+1F498: "💘" HEART WITH ARROW -->
+ <string name="spoken_emoji_1F498">Heart with arrow</string>
+ <!-- Spoken description for Unicode code point U+1F499: "💙" BLUE HEART -->
+ <string name="spoken_emoji_1F499">Blue heart</string>
+ <!-- Spoken description for Unicode code point U+1F49A: "💚" GREEN HEART -->
+ <string name="spoken_emoji_1F49A">Green heart</string>
+ <!-- Spoken description for Unicode code point U+1F49B: "💛" YELLOW HEART -->
+ <string name="spoken_emoji_1F49B">Yellow heart</string>
+ <!-- Spoken description for Unicode code point U+1F49C: "💜" PURPLE HEART -->
+ <string name="spoken_emoji_1F49C">Purple heart</string>
+ <!-- Spoken description for Unicode code point U+1F49D: "💝" HEART WITH RIBBON -->
+ <string name="spoken_emoji_1F49D">Heart with ribbon</string>
+ <!-- Spoken description for Unicode code point U+1F49E: "💞" REVOLVING HEARTS -->
+ <string name="spoken_emoji_1F49E">Revolving hearts</string>
+ <!-- Spoken description for Unicode code point U+1F49F: "💟" HEART DECORATION -->
+ <string name="spoken_emoji_1F49F">Heart decoration</string>
+ <!-- Spoken description for Unicode code point U+1F4A0: "💠" DIAMOND SHAPE WITH A DOT INSIDE -->
+ <string name="spoken_emoji_1F4A0">Diamond shape with a dot inside</string>
+ <!-- Spoken description for Unicode code point U+1F4A1: "💡" ELECTRIC LIGHT BULB -->
+ <string name="spoken_emoji_1F4A1">Electric light bulb</string>
+ <!-- Spoken description for Unicode code point U+1F4A2: "💢" ANGER SYMBOL -->
+ <string name="spoken_emoji_1F4A2">Anger symbol</string>
+ <!-- Spoken description for Unicode code point U+1F4A3: "💣" BOMB -->
+ <string name="spoken_emoji_1F4A3">Bomb</string>
+ <!-- Spoken description for Unicode code point U+1F4A4: "💤" SLEEPING SYMBOL -->
+ <string name="spoken_emoji_1F4A4">Sleeping symbol</string>
+ <!-- Spoken description for Unicode code point U+1F4A5: "💥" COLLISION SYMBOL -->
+ <string name="spoken_emoji_1F4A5">Collision symbol</string>
+ <!-- Spoken description for Unicode code point U+1F4A6: "💦" SPLASHING SWEAT SYMBOL -->
+ <string name="spoken_emoji_1F4A6">Splashing sweat symbol</string>
+ <!-- Spoken description for Unicode code point U+1F4A7: "💧" DROPLET -->
+ <string name="spoken_emoji_1F4A7">Droplet</string>
+ <!-- Spoken description for Unicode code point U+1F4A8: "💨" DASH SYMBOL -->
+ <string name="spoken_emoji_1F4A8">Dash symbol</string>
+ <!-- Spoken description for Unicode code point U+1F4A9: "💩" PILE OF POO -->
+ <string name="spoken_emoji_1F4A9">Pile of poo</string>
+ <!-- Spoken description for Unicode code point U+1F4AA: "💪" FLEXED BICEPS -->
+ <string name="spoken_emoji_1F4AA">Flexed biceps</string>
+ <!-- Spoken description for Unicode code point U+1F4AB: "💫" DIZZY SYMBOL -->
+ <string name="spoken_emoji_1F4AB">Dizzy symbol</string>
+ <!-- Spoken description for Unicode code point U+1F4AC: "💬" SPEECH BALLOON -->
+ <string name="spoken_emoji_1F4AC">Speech balloon</string>
+ <!-- Spoken description for Unicode code point U+1F4AD: "💭" THOUGHT BALLOON -->
+ <string name="spoken_emoji_1F4AD">Thought balloon</string>
+ <!-- Spoken description for Unicode code point U+1F4AE: "💮" WHITE FLOWER -->
+ <string name="spoken_emoji_1F4AE">White flower</string>
+ <!-- Spoken description for Unicode code point U+1F4AF: "💯" HUNDRED POINTS SYMBOL -->
+ <string name="spoken_emoji_1F4AF">Hundred points symbol</string>
+ <!-- Spoken description for Unicode code point U+1F4B0: "💰" MONEY BAG -->
+ <string name="spoken_emoji_1F4B0">Money bag</string>
+ <!-- Spoken description for Unicode code point U+1F4B1: "💱" CURRENCY EXCHANGE -->
+ <string name="spoken_emoji_1F4B1">Currency exchange</string>
+ <!-- Spoken description for Unicode code point U+1F4B2: "💲" HEAVY DOLLAR SIGN -->
+ <string name="spoken_emoji_1F4B2">Heavy dollar sign</string>
+ <!-- Spoken description for Unicode code point U+1F4B3: "💳" CREDIT CARD -->
+ <string name="spoken_emoji_1F4B3">Credit card</string>
+ <!-- Spoken description for Unicode code point U+1F4B4: "💴" BANKNOTE WITH YEN SIGN -->
+ <string name="spoken_emoji_1F4B4">Banknote with yen sign</string>
+ <!-- Spoken description for Unicode code point U+1F4B5: "💵" BANKNOTE WITH DOLLAR SIGN -->
+ <string name="spoken_emoji_1F4B5">Banknote with dollar sign</string>
+ <!-- Spoken description for Unicode code point U+1F4B6: "💶" BANKNOTE WITH EURO SIGN -->
+ <string name="spoken_emoji_1F4B6">Banknote with euro sign</string>
+ <!-- Spoken description for Unicode code point U+1F4B7: "💷" BANKNOTE WITH POUND SIGN -->
+ <string name="spoken_emoji_1F4B7">Banknote with pound sign</string>
+ <!-- Spoken description for Unicode code point U+1F4B8: "💸" MONEY WITH WINGS -->
+ <string name="spoken_emoji_1F4B8">Money with wings</string>
+ <!-- Spoken description for Unicode code point U+1F4B9: "💹" CHART WITH UPWARDS TREND AND YEN SIGN -->
+ <string name="spoken_emoji_1F4B9">Chart with upwards trend and yen sign</string>
+ <!-- Spoken description for Unicode code point U+1F4BA: "💺" SEAT -->
+ <string name="spoken_emoji_1F4BA">Seat</string>
+ <!-- Spoken description for Unicode code point U+1F4BB: "💻" PERSONAL COMPUTER -->
+ <string name="spoken_emoji_1F4BB">Personal computer</string>
+ <!-- Spoken description for Unicode code point U+1F4BC: "💼" BRIEFCASE -->
+ <string name="spoken_emoji_1F4BC">Briefcase</string>
+ <!-- Spoken description for Unicode code point U+1F4BD: "💽" MINIDISC -->
+ <string name="spoken_emoji_1F4BD">Minidisc</string>
+ <!-- Spoken description for Unicode code point U+1F4BE: "💾" FLOPPY DISK -->
+ <string name="spoken_emoji_1F4BE">Floppy disk</string>
+ <!-- Spoken description for Unicode code point U+1F4BF: "💿" OPTICAL DISC -->
+ <string name="spoken_emoji_1F4BF">Optical disc</string>
+ <!-- Spoken description for Unicode code point U+1F4C0: "📀" DVD -->
+ <string name="spoken_emoji_1F4C0">Dvd</string>
+ <!-- Spoken description for Unicode code point U+1F4C1: "📁" FILE FOLDER -->
+ <string name="spoken_emoji_1F4C1">File folder</string>
+ <!-- Spoken description for Unicode code point U+1F4C2: "📂" OPEN FILE FOLDER -->
+ <string name="spoken_emoji_1F4C2">Open file folder</string>
+ <!-- Spoken description for Unicode code point U+1F4C3: "📃" PAGE WITH CURL -->
+ <string name="spoken_emoji_1F4C3">Page with curl</string>
+ <!-- Spoken description for Unicode code point U+1F4C4: "📄" PAGE FACING UP -->
+ <string name="spoken_emoji_1F4C4">Page facing up</string>
+ <!-- Spoken description for Unicode code point U+1F4C5: "📅" CALENDAR -->
+ <string name="spoken_emoji_1F4C5">Calendar</string>
+ <!-- Spoken description for Unicode code point U+1F4C6: "📆" TEAR-OFF CALENDAR -->
+ <string name="spoken_emoji_1F4C6">Tear-off calendar</string>
+ <!-- Spoken description for Unicode code point U+1F4C7: "📇" CARD INDEX -->
+ <string name="spoken_emoji_1F4C7">Card index</string>
+ <!-- Spoken description for Unicode code point U+1F4C8: "📈" CHART WITH UPWARDS TREND -->
+ <string name="spoken_emoji_1F4C8">Chart with upwards trend</string>
+ <!-- Spoken description for Unicode code point U+1F4C9: "📉" CHART WITH DOWNWARDS TREND -->
+ <string name="spoken_emoji_1F4C9">Chart with downwards trend</string>
+ <!-- Spoken description for Unicode code point U+1F4CA: "📊" BAR CHART -->
+ <string name="spoken_emoji_1F4CA">Bar chart</string>
+ <!-- Spoken description for Unicode code point U+1F4CB: "📋" CLIPBOARD -->
+ <string name="spoken_emoji_1F4CB">Clipboard</string>
+ <!-- Spoken description for Unicode code point U+1F4CC: "📌" PUSHPIN -->
+ <string name="spoken_emoji_1F4CC">Pushpin</string>
+ <!-- Spoken description for Unicode code point U+1F4CD: "📍" ROUND PUSHPIN -->
+ <string name="spoken_emoji_1F4CD">Round pushpin</string>
+ <!-- Spoken description for Unicode code point U+1F4CE: "📎" PAPERCLIP -->
+ <string name="spoken_emoji_1F4CE">Paperclip</string>
+ <!-- Spoken description for Unicode code point U+1F4CF: "📏" STRAIGHT RULER -->
+ <string name="spoken_emoji_1F4CF">Straight ruler</string>
+ <!-- Spoken description for Unicode code point U+1F4D0: "📐" TRIANGULAR RULER -->
+ <string name="spoken_emoji_1F4D0">Triangular ruler</string>
+ <!-- Spoken description for Unicode code point U+1F4D1: "📑" BOOKMARK TABS -->
+ <string name="spoken_emoji_1F4D1">Bookmark tabs</string>
+ <!-- Spoken description for Unicode code point U+1F4D2: "📒" LEDGER -->
+ <string name="spoken_emoji_1F4D2">Ledger</string>
+ <!-- Spoken description for Unicode code point U+1F4D3: "📓" NOTEBOOK -->
+ <string name="spoken_emoji_1F4D3">Notebook</string>
+ <!-- Spoken description for Unicode code point U+1F4D4: "📔" NOTEBOOK WITH DECORATIVE COVER -->
+ <string name="spoken_emoji_1F4D4">Notebook with decorative cover</string>
+ <!-- Spoken description for Unicode code point U+1F4D5: "📕" CLOSED BOOK -->
+ <string name="spoken_emoji_1F4D5">Closed book</string>
+ <!-- Spoken description for Unicode code point U+1F4D6: "📖" OPEN BOOK -->
+ <string name="spoken_emoji_1F4D6">Open book</string>
+ <!-- Spoken description for Unicode code point U+1F4D7: "📗" GREEN BOOK -->
+ <string name="spoken_emoji_1F4D7">Green book</string>
+ <!-- Spoken description for Unicode code point U+1F4D8: "📘" BLUE BOOK -->
+ <string name="spoken_emoji_1F4D8">Blue book</string>
+ <!-- Spoken description for Unicode code point U+1F4D9: "📙" ORANGE BOOK -->
+ <string name="spoken_emoji_1F4D9">Orange book</string>
+ <!-- Spoken description for Unicode code point U+1F4DA: "📚" BOOKS -->
+ <string name="spoken_emoji_1F4DA">Books</string>
+ <!-- Spoken description for Unicode code point U+1F4DB: "📛" NAME BADGE -->
+ <string name="spoken_emoji_1F4DB">Name badge</string>
+ <!-- Spoken description for Unicode code point U+1F4DC: "📜" SCROLL -->
+ <string name="spoken_emoji_1F4DC">Scroll</string>
+ <!-- Spoken description for Unicode code point U+1F4DD: "📝" MEMO -->
+ <string name="spoken_emoji_1F4DD">Memo</string>
+ <!-- Spoken description for Unicode code point U+1F4DE: "📞" TELEPHONE RECEIVER -->
+ <string name="spoken_emoji_1F4DE">Telephone receiver</string>
+ <!-- Spoken description for Unicode code point U+1F4DF: "📟" PAGER -->
+ <string name="spoken_emoji_1F4DF">Pager</string>
+ <!-- Spoken description for Unicode code point U+1F4E0: "📠" FAX MACHINE -->
+ <string name="spoken_emoji_1F4E0">Fax machine</string>
+ <!-- Spoken description for Unicode code point U+1F4E1: "📡" SATELLITE ANTENNA -->
+ <string name="spoken_emoji_1F4E1">Satellite antenna</string>
+ <!-- Spoken description for Unicode code point U+1F4E2: "📢" PUBLIC ADDRESS LOUDSPEAKER -->
+ <string name="spoken_emoji_1F4E2">Public address loudspeaker</string>
+ <!-- Spoken description for Unicode code point U+1F4E3: "📣" CHEERING MEGAPHONE -->
+ <string name="spoken_emoji_1F4E3">Cheering megaphone</string>
+ <!-- Spoken description for Unicode code point U+1F4E4: "📤" OUTBOX TRAY -->
+ <string name="spoken_emoji_1F4E4">Outbox tray</string>
+ <!-- Spoken description for Unicode code point U+1F4E5: "📥" INBOX TRAY -->
+ <string name="spoken_emoji_1F4E5">Inbox tray</string>
+ <!-- Spoken description for Unicode code point U+1F4E6: "📦" PACKAGE -->
+ <string name="spoken_emoji_1F4E6">Package</string>
+ <!-- Spoken description for Unicode code point U+1F4E7: "📧" E-MAIL SYMBOL -->
+ <string name="spoken_emoji_1F4E7">E-mail symbol</string>
+ <!-- Spoken description for Unicode code point U+1F4E8: "📨" INCOMING ENVELOPE -->
+ <string name="spoken_emoji_1F4E8">Incoming envelope</string>
+ <!-- Spoken description for Unicode code point U+1F4E9: "📩" ENVELOPE WITH DOWNWARDS ARROW ABOVE -->
+ <string name="spoken_emoji_1F4E9">Envelope with downwards arrow above</string>
+ <!-- Spoken description for Unicode code point U+1F4EA: "📪" CLOSED MAILBOX WITH LOWERED FLAG -->
+ <string name="spoken_emoji_1F4EA">Closed mailbox with lowered flag</string>
+ <!-- Spoken description for Unicode code point U+1F4EB: "📫" CLOSED MAILBOX WITH RAISED FLAG -->
+ <string name="spoken_emoji_1F4EB">Closed mailbox with raised flag</string>
+ <!-- Spoken description for Unicode code point U+1F4EC: "📬" OPEN MAILBOX WITH RAISED FLAG -->
+ <string name="spoken_emoji_1F4EC">Open mailbox with raised flag</string>
+ <!-- Spoken description for Unicode code point U+1F4ED: "📭" OPEN MAILBOX WITH LOWERED FLAG -->
+ <string name="spoken_emoji_1F4ED">Open mailbox with lowered flag</string>
+ <!-- Spoken description for Unicode code point U+1F4EE: "📮" POSTBOX -->
+ <string name="spoken_emoji_1F4EE">Postbox</string>
+ <!-- Spoken description for Unicode code point U+1F4EF: "📯" POSTAL HORN -->
+ <string name="spoken_emoji_1F4EF">Postal horn</string>
+ <!-- Spoken description for Unicode code point U+1F4F0: "📰" NEWSPAPER -->
+ <string name="spoken_emoji_1F4F0">Newspaper</string>
+ <!-- Spoken description for Unicode code point U+1F4F1: "📱" MOBILE PHONE -->
+ <string name="spoken_emoji_1F4F1">Mobile phone</string>
+ <!-- Spoken description for Unicode code point U+1F4F2: "📲" MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT -->
+ <string name="spoken_emoji_1F4F2">Mobile phone with rightwards arrow at left</string>
+ <!-- Spoken description for Unicode code point U+1F4F3: "📳" VIBRATION MODE -->
+ <string name="spoken_emoji_1F4F3">Vibration mode</string>
+ <!-- Spoken description for Unicode code point U+1F4F4: "📴" MOBILE PHONE OFF -->
+ <string name="spoken_emoji_1F4F4">Mobile phone off</string>
+ <!-- Spoken description for Unicode code point U+1F4F5: "📵" NO MOBILE PHONES -->
+ <string name="spoken_emoji_1F4F5">No mobile phones</string>
+ <!-- Spoken description for Unicode code point U+1F4F6: "📶" ANTENNA WITH BARS -->
+ <string name="spoken_emoji_1F4F6">Antenna with bars</string>
+ <!-- Spoken description for Unicode code point U+1F4F7: "📷" CAMERA -->
+ <string name="spoken_emoji_1F4F7">Camera</string>
+ <!-- Spoken description for Unicode code point U+1F4F9: "📹" VIDEO CAMERA -->
+ <string name="spoken_emoji_1F4F9">Video camera</string>
+ <!-- Spoken description for Unicode code point U+1F4FA: "📺" TELEVISION -->
+ <string name="spoken_emoji_1F4FA">Television</string>
+ <!-- Spoken description for Unicode code point U+1F4FB: "📻" RADIO -->
+ <string name="spoken_emoji_1F4FB">Radio</string>
+ <!-- Spoken description for Unicode code point U+1F4FC: "📼" VIDEOCASSETTE -->
+ <string name="spoken_emoji_1F4FC">Videocassette</string>
+ <!-- Spoken description for Unicode code point U+1F500: "🔀" TWISTED RIGHTWARDS ARROWS -->
+ <string name="spoken_emoji_1F500">Twisted rightwards arrows</string>
+ <!-- Spoken description for Unicode code point U+1F501: "🔁" CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS -->
+ <string name="spoken_emoji_1F501">Clockwise rightwards and leftwards open circle arrows</string>
+ <!-- Spoken description for Unicode code point U+1F502: "🔂" CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY -->
+ <string name="spoken_emoji_1F502">Clockwise rightwards and leftwards open circle arrows with circled one overlay</string>
+ <!-- Spoken description for Unicode code point U+1F503: "🔃" CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS -->
+ <string name="spoken_emoji_1F503">Clockwise downwards and upwards open circle arrows</string>
+ <!-- Spoken description for Unicode code point U+1F504: "🔄" ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS -->
+ <string name="spoken_emoji_1F504">Anticlockwise downwards and upwards open circle arrows</string>
+ <!-- Spoken description for Unicode code point U+1F505: "🔅" LOW BRIGHTNESS SYMBOL -->
+ <string name="spoken_emoji_1F505">Low brightness symbol</string>
+ <!-- Spoken description for Unicode code point U+1F506: "🔆" HIGH BRIGHTNESS SYMBOL -->
+ <string name="spoken_emoji_1F506">High brightness symbol</string>
+ <!-- Spoken description for Unicode code point U+1F507: "🔇" SPEAKER WITH CANCELLATION STROKE -->
+ <string name="spoken_emoji_1F507">Speaker with cancellation stroke</string>
+ <!-- Spoken description for Unicode code point U+1F508: "🔈" SPEAKER -->
+ <string name="spoken_emoji_1F508">Speaker</string>
+ <!-- Spoken description for Unicode code point U+1F509: "🔉" SPEAKER WITH ONE SOUND WAVE -->
+ <string name="spoken_emoji_1F509">Speaker with one sound wave</string>
+ <!-- Spoken description for Unicode code point U+1F50A: "🔊" SPEAKER WITH THREE SOUND WAVES -->
+ <string name="spoken_emoji_1F50A">Speaker with three sound waves</string>
+ <!-- Spoken description for Unicode code point U+1F50B: "🔋" BATTERY -->
+ <string name="spoken_emoji_1F50B">Battery</string>
+ <!-- Spoken description for Unicode code point U+1F50C: "🔌" ELECTRIC PLUG -->
+ <string name="spoken_emoji_1F50C">Electric plug</string>
+ <!-- Spoken description for Unicode code point U+1F50D: "🔍" LEFT-POINTING MAGNIFYING GLASS -->
+ <string name="spoken_emoji_1F50D">Left-pointing magnifying glass</string>
+ <!-- Spoken description for Unicode code point U+1F50E: "🔎" RIGHT-POINTING MAGNIFYING GLASS -->
+ <string name="spoken_emoji_1F50E">Right-pointing magnifying glass</string>
+ <!-- Spoken description for Unicode code point U+1F50F: "🔏" LOCK WITH INK PEN -->
+ <string name="spoken_emoji_1F50F">Lock with ink pen</string>
+ <!-- Spoken description for Unicode code point U+1F510: "🔐" CLOSED LOCK WITH KEY -->
+ <string name="spoken_emoji_1F510">Closed lock with key</string>
+ <!-- Spoken description for Unicode code point U+1F511: "🔑" KEY -->
+ <string name="spoken_emoji_1F511">Key</string>
+ <!-- Spoken description for Unicode code point U+1F512: "🔒" LOCK -->
+ <string name="spoken_emoji_1F512">Lock</string>
+ <!-- Spoken description for Unicode code point U+1F513: "🔓" OPEN LOCK -->
+ <string name="spoken_emoji_1F513">Open lock</string>
+ <!-- Spoken description for Unicode code point U+1F514: "🔔" BELL -->
+ <string name="spoken_emoji_1F514">Bell</string>
+ <!-- Spoken description for Unicode code point U+1F515: "🔕" BELL WITH CANCELLATION STROKE -->
+ <string name="spoken_emoji_1F515">Bell with cancellation stroke</string>
+ <!-- Spoken description for Unicode code point U+1F516: "🔖" BOOKMARK -->
+ <string name="spoken_emoji_1F516">Bookmark</string>
+ <!-- Spoken description for Unicode code point U+1F517: "🔗" LINK SYMBOL -->
+ <string name="spoken_emoji_1F517">Link symbol</string>
+ <!-- Spoken description for Unicode code point U+1F518: "🔘" RADIO BUTTON -->
+ <string name="spoken_emoji_1F518">Radio button</string>
+ <!-- Spoken description for Unicode code point U+1F519: "🔙" BACK WITH LEFTWARDS ARROW ABOVE -->
+ <string name="spoken_emoji_1F519">Back with leftwards arrow above</string>
+ <!-- Spoken description for Unicode code point U+1F51A: "🔚" END WITH LEFTWARDS ARROW ABOVE -->
+ <string name="spoken_emoji_1F51A">End with leftwards arrow above</string>
+ <!-- Spoken description for Unicode code point U+1F51B: "🔛" ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE -->
+ <string name="spoken_emoji_1F51B">On with exclamation mark with left right arrow above</string>
+ <!-- Spoken description for Unicode code point U+1F51C: "🔜" SOON WITH RIGHTWARDS ARROW ABOVE -->
+ <string name="spoken_emoji_1F51C">Soon with rightwards arrow above</string>
+ <!-- Spoken description for Unicode code point U+1F51D: "🔝" TOP WITH UPWARDS ARROW ABOVE -->
+ <string name="spoken_emoji_1F51D">Top with upwards arrow above</string>
+ <!-- Spoken description for Unicode code point U+1F51E: "🔞" NO ONE UNDER EIGHTEEN SYMBOL -->
+ <string name="spoken_emoji_1F51E">No one under eighteen symbol</string>
+ <!-- Spoken description for Unicode code point U+1F51F: "🔟" KEYCAP TEN -->
+ <string name="spoken_emoji_1F51F">Keycap ten</string>
+ <!-- Spoken description for Unicode code point U+1F520: "🔠" INPUT SYMBOL FOR LATIN CAPITAL LETTERS -->
+ <string name="spoken_emoji_1F520">Input symbol for latin capital letters</string>
+ <!-- Spoken description for Unicode code point U+1F521: "🔡" INPUT SYMBOL FOR LATIN SMALL LETTERS -->
+ <string name="spoken_emoji_1F521">Input symbol for latin small letters</string>
+ <!-- Spoken description for Unicode code point U+1F522: "🔢" INPUT SYMBOL FOR NUMBERS -->
+ <string name="spoken_emoji_1F522">Input symbol for numbers</string>
+ <!-- Spoken description for Unicode code point U+1F523: "🔣" INPUT SYMBOL FOR SYMBOLS -->
+ <string name="spoken_emoji_1F523">Input symbol for symbols</string>
+ <!-- Spoken description for Unicode code point U+1F524: "🔤" INPUT SYMBOL FOR LATIN LETTERS -->
+ <string name="spoken_emoji_1F524">Input symbol for latin letters</string>
+ <!-- Spoken description for Unicode code point U+1F525: "🔥" FIRE -->
+ <string name="spoken_emoji_1F525">Fire</string>
+ <!-- Spoken description for Unicode code point U+1F526: "🔦" ELECTRIC TORCH -->
+ <string name="spoken_emoji_1F526">Electric torch</string>
+ <!-- Spoken description for Unicode code point U+1F527: "🔧" WRENCH -->
+ <string name="spoken_emoji_1F527">Wrench</string>
+ <!-- Spoken description for Unicode code point U+1F528: "🔨" HAMMER -->
+ <string name="spoken_emoji_1F528">Hammer</string>
+ <!-- Spoken description for Unicode code point U+1F529: "🔩" NUT AND BOLT -->
+ <string name="spoken_emoji_1F529">Nut and bolt</string>
+ <!-- Spoken description for Unicode code point U+1F52A: "🔪" HOCHO -->
+ <string name="spoken_emoji_1F52A">Hocho</string>
+ <!-- Spoken description for Unicode code point U+1F52B: "🔫" PISTOL -->
+ <string name="spoken_emoji_1F52B">Pistol</string>
+ <!-- Spoken description for Unicode code point U+1F52C: "🔬" MICROSCOPE -->
+ <string name="spoken_emoji_1F52C">Microscope</string>
+ <!-- Spoken description for Unicode code point U+1F52D: "🔭" TELESCOPE -->
+ <string name="spoken_emoji_1F52D">Telescope</string>
+ <!-- Spoken description for Unicode code point U+1F52E: "🔮" CRYSTAL BALL -->
+ <string name="spoken_emoji_1F52E">Crystal ball</string>
+ <!-- Spoken description for Unicode code point U+1F52F: "🔯" SIX POINTED STAR WITH MIDDLE DOT -->
+ <string name="spoken_emoji_1F52F">Six pointed star with middle dot</string>
+ <!-- Spoken description for Unicode code point U+1F530: "🔰" JAPANESE SYMBOL FOR BEGINNER -->
+ <string name="spoken_emoji_1F530">Japanese symbol for beginner</string>
+ <!-- Spoken description for Unicode code point U+1F531: "🔱" TRIDENT EMBLEM -->
+ <string name="spoken_emoji_1F531">Trident emblem</string>
+ <!-- Spoken description for Unicode code point U+1F532: "🔲" BLACK SQUARE BUTTON -->
+ <string name="spoken_emoji_1F532">Black square button</string>
+ <!-- Spoken description for Unicode code point U+1F533: "🔳" WHITE SQUARE BUTTON -->
+ <string name="spoken_emoji_1F533">White square button</string>
+ <!-- Spoken description for Unicode code point U+1F534: "🔴" LARGE RED CIRCLE -->
+ <string name="spoken_emoji_1F534">Large red circle</string>
+ <!-- Spoken description for Unicode code point U+1F535: "🔵" LARGE BLUE CIRCLE -->
+ <string name="spoken_emoji_1F535">Large blue circle</string>
+ <!-- Spoken description for Unicode code point U+1F536: "🔶" LARGE ORANGE DIAMOND -->
+ <string name="spoken_emoji_1F536">Large orange diamond</string>
+ <!-- Spoken description for Unicode code point U+1F537: "🔷" LARGE BLUE DIAMOND -->
+ <string name="spoken_emoji_1F537">Large blue diamond</string>
+ <!-- Spoken description for Unicode code point U+1F538: "🔸" SMALL ORANGE DIAMOND -->
+ <string name="spoken_emoji_1F538">Small orange diamond</string>
+ <!-- Spoken description for Unicode code point U+1F539: "🔹" SMALL BLUE DIAMOND -->
+ <string name="spoken_emoji_1F539">Small blue diamond</string>
+ <!-- Spoken description for Unicode code point U+1F53A: "🔺" UP-POINTING RED TRIANGLE -->
+ <string name="spoken_emoji_1F53A">Up-pointing red triangle</string>
+ <!-- Spoken description for Unicode code point U+1F53B: "🔻" DOWN-POINTING RED TRIANGLE -->
+ <string name="spoken_emoji_1F53B">Down-pointing red triangle</string>
+ <!-- Spoken description for Unicode code point U+1F53C: "🔼" UP-POINTING SMALL RED TRIANGLE -->
+ <string name="spoken_emoji_1F53C">Up-pointing small red triangle</string>
+ <!-- Spoken description for Unicode code point U+1F53D: "🔽" DOWN-POINTING SMALL RED TRIANGLE -->
+ <string name="spoken_emoji_1F53D">Down-pointing small red triangle</string>
+ <!-- Spoken description for Unicode code point U+1F550: "🕐" CLOCK FACE ONE OCLOCK -->
+ <string name="spoken_emoji_1F550">Clock face one oclock</string>
+ <!-- Spoken description for Unicode code point U+1F551: "🕑" CLOCK FACE TWO OCLOCK -->
+ <string name="spoken_emoji_1F551">Clock face two oclock</string>
+ <!-- Spoken description for Unicode code point U+1F552: "🕒" CLOCK FACE THREE OCLOCK -->
+ <string name="spoken_emoji_1F552">Clock face three oclock</string>
+ <!-- Spoken description for Unicode code point U+1F553: "🕓" CLOCK FACE FOUR OCLOCK -->
+ <string name="spoken_emoji_1F553">Clock face four oclock</string>
+ <!-- Spoken description for Unicode code point U+1F554: "🕔" CLOCK FACE FIVE OCLOCK -->
+ <string name="spoken_emoji_1F554">Clock face five oclock</string>
+ <!-- Spoken description for Unicode code point U+1F555: "🕕" CLOCK FACE SIX OCLOCK -->
+ <string name="spoken_emoji_1F555">Clock face six oclock</string>
+ <!-- Spoken description for Unicode code point U+1F556: "🕖" CLOCK FACE SEVEN OCLOCK -->
+ <string name="spoken_emoji_1F556">Clock face seven oclock</string>
+ <!-- Spoken description for Unicode code point U+1F557: "🕗" CLOCK FACE EIGHT OCLOCK -->
+ <string name="spoken_emoji_1F557">Clock face eight oclock</string>
+ <!-- Spoken description for Unicode code point U+1F558: "🕘" CLOCK FACE NINE OCLOCK -->
+ <string name="spoken_emoji_1F558">Clock face nine oclock</string>
+ <!-- Spoken description for Unicode code point U+1F559: "🕙" CLOCK FACE TEN OCLOCK -->
+ <string name="spoken_emoji_1F559">Clock face ten oclock</string>
+ <!-- Spoken description for Unicode code point U+1F55A: "🕚" CLOCK FACE ELEVEN OCLOCK -->
+ <string name="spoken_emoji_1F55A">Clock face eleven oclock</string>
+ <!-- Spoken description for Unicode code point U+1F55B: "🕛" CLOCK FACE TWELVE OCLOCK -->
+ <string name="spoken_emoji_1F55B">Clock face twelve oclock</string>
+ <!-- Spoken description for Unicode code point U+1F55C: "🕜" CLOCK FACE ONE-THIRTY -->
+ <string name="spoken_emoji_1F55C">Clock face one-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F55D: "🕝" CLOCK FACE TWO-THIRTY -->
+ <string name="spoken_emoji_1F55D">Clock face two-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F55E: "🕞" CLOCK FACE THREE-THIRTY -->
+ <string name="spoken_emoji_1F55E">Clock face three-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F55F: "🕟" CLOCK FACE FOUR-THIRTY -->
+ <string name="spoken_emoji_1F55F">Clock face four-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F560: "🕠" CLOCK FACE FIVE-THIRTY -->
+ <string name="spoken_emoji_1F560">Clock face five-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F561: "🕡" CLOCK FACE SIX-THIRTY -->
+ <string name="spoken_emoji_1F561">Clock face six-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F562: "🕢" CLOCK FACE SEVEN-THIRTY -->
+ <string name="spoken_emoji_1F562">Clock face seven-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F563: "🕣" CLOCK FACE EIGHT-THIRTY -->
+ <string name="spoken_emoji_1F563">Clock face eight-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F564: "🕤" CLOCK FACE NINE-THIRTY -->
+ <string name="spoken_emoji_1F564">Clock face nine-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F565: "🕥" CLOCK FACE TEN-THIRTY -->
+ <string name="spoken_emoji_1F565">Clock face ten-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F566: "🕦" CLOCK FACE ELEVEN-THIRTY -->
+ <string name="spoken_emoji_1F566">Clock face eleven-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F567: "🕧" CLOCK FACE TWELVE-THIRTY -->
+ <string name="spoken_emoji_1F567">Clock face twelve-thirty</string>
+ <!-- Spoken description for Unicode code point U+1F5FB: "🗻" MOUNT FUJI -->
+ <string name="spoken_emoji_1F5FB">Mount fuji</string>
+ <!-- Spoken description for Unicode code point U+1F5FC: "🗼" TOKYO TOWER -->
+ <string name="spoken_emoji_1F5FC">Tokyo tower</string>
+ <!-- Spoken description for Unicode code point U+1F5FD: "🗽" STATUE OF LIBERTY -->
+ <string name="spoken_emoji_1F5FD">Statue of liberty</string>
+ <!-- Spoken description for Unicode code point U+1F5FE: "🗾" SILHOUETTE OF JAPAN -->
+ <string name="spoken_emoji_1F5FE">Silhouette of japan</string>
+ <!-- Spoken description for Unicode code point U+1F5FF: "🗿" MOYAI -->
+ <string name="spoken_emoji_1F5FF">Moyai</string>
+ <!-- Spoken description for Unicode code point U+1F600: "😀" GRINNING FACE -->
+ <string name="spoken_emoji_1F600">Grinning face</string>
+ <!-- Spoken description for Unicode code point U+1F601: "😁" GRINNING FACE WITH SMILING EYES -->
+ <string name="spoken_emoji_1F601">Grinning face with smiling eyes</string>
+ <!-- Spoken description for Unicode code point U+1F602: "😂" FACE WITH TEARS OF JOY -->
+ <string name="spoken_emoji_1F602">Face with tears of joy</string>
+ <!-- Spoken description for Unicode code point U+1F603: "😃" SMILING FACE WITH OPEN MOUTH -->
+ <string name="spoken_emoji_1F603">Smiling face with open mouth</string>
+ <!-- Spoken description for Unicode code point U+1F604: "😄" SMILING FACE WITH OPEN MOUTH AND SMILING EYES -->
+ <string name="spoken_emoji_1F604">Smiling face with open mouth and smiling eyes</string>
+ <!-- Spoken description for Unicode code point U+1F605: "😅" SMILING FACE WITH OPEN MOUTH AND COLD SWEAT -->
+ <string name="spoken_emoji_1F605">Smiling face with open mouth and cold sweat</string>
+ <!-- Spoken description for Unicode code point U+1F606: "😆" SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES -->
+ <string name="spoken_emoji_1F606">Smiling face with open mouth and tightly-closed eyes</string>
+ <!-- Spoken description for Unicode code point U+1F607: "😇" SMILING FACE WITH HALO -->
+ <string name="spoken_emoji_1F607">Smiling face with halo</string>
+ <!-- Spoken description for Unicode code point U+1F608: "😈" SMILING FACE WITH HORNS -->
+ <string name="spoken_emoji_1F608">Smiling face with horns</string>
+ <!-- Spoken description for Unicode code point U+1F609: "😉" WINKING FACE -->
+ <string name="spoken_emoji_1F609">Winking face</string>
+ <!-- Spoken description for Unicode code point U+1F60A: "😊" SMILING FACE WITH SMILING EYES -->
+ <string name="spoken_emoji_1F60A">Smiling face with smiling eyes</string>
+ <!-- Spoken description for Unicode code point U+1F60B: "😋" FACE SAVOURING DELICIOUS FOOD -->
+ <string name="spoken_emoji_1F60B">Face savouring delicious food</string>
+ <!-- Spoken description for Unicode code point U+1F60C: "😌" RELIEVED FACE -->
+ <string name="spoken_emoji_1F60C">Relieved face</string>
+ <!-- Spoken description for Unicode code point U+1F60D: "😍" SMILING FACE WITH HEART-SHAPED EYES -->
+ <string name="spoken_emoji_1F60D">Smiling face with heart-shaped eyes</string>
+ <!-- Spoken description for Unicode code point U+1F60E: "😎" SMILING FACE WITH SUNGLASSES -->
+ <string name="spoken_emoji_1F60E">Smiling face with sunglasses</string>
+ <!-- Spoken description for Unicode code point U+1F60F: "😏" SMIRKING FACE -->
+ <string name="spoken_emoji_1F60F">Smirking face</string>
+ <!-- Spoken description for Unicode code point U+1F610: "😐" NEUTRAL FACE -->
+ <string name="spoken_emoji_1F610">Neutral face</string>
+ <!-- Spoken description for Unicode code point U+1F611: "😑" EXPRESSIONLESS FACE -->
+ <string name="spoken_emoji_1F611">Expressionless face</string>
+ <!-- Spoken description for Unicode code point U+1F612: "😒" UNAMUSED FACE -->
+ <string name="spoken_emoji_1F612">Unamused face</string>
+ <!-- Spoken description for Unicode code point U+1F613: "😓" FACE WITH COLD SWEAT -->
+ <string name="spoken_emoji_1F613">Face with cold sweat</string>
+ <!-- Spoken description for Unicode code point U+1F614: "😔" PENSIVE FACE -->
+ <string name="spoken_emoji_1F614">Pensive face</string>
+ <!-- Spoken description for Unicode code point U+1F615: "😕" CONFUSED FACE -->
+ <string name="spoken_emoji_1F615">Confused face</string>
+ <!-- Spoken description for Unicode code point U+1F616: "😖" CONFOUNDED FACE -->
+ <string name="spoken_emoji_1F616">Confounded face</string>
+ <!-- Spoken description for Unicode code point U+1F617: "😗" KISSING FACE -->
+ <string name="spoken_emoji_1F617">Kissing face</string>
+ <!-- Spoken description for Unicode code point U+1F618: "😘" FACE THROWING A KISS -->
+ <string name="spoken_emoji_1F618">Face throwing a kiss</string>
+ <!-- Spoken description for Unicode code point U+1F619: "😙" KISSING FACE WITH SMILING EYES -->
+ <string name="spoken_emoji_1F619">Kissing face with smiling eyes</string>
+ <!-- Spoken description for Unicode code point U+1F61A: "😚" KISSING FACE WITH CLOSED EYES -->
+ <string name="spoken_emoji_1F61A">Kissing face with closed eyes</string>
+ <!-- Spoken description for Unicode code point U+1F61B: "😛" FACE WITH STUCK-OUT TONGUE -->
+ <string name="spoken_emoji_1F61B">Face with stuck-out tongue</string>
+ <!-- Spoken description for Unicode code point U+1F61C: "😜" FACE WITH STUCK-OUT TONGUE AND WINKING EYE -->
+ <string name="spoken_emoji_1F61C">Face with stuck-out tongue and winking eye</string>
+ <!-- Spoken description for Unicode code point U+1F61D: "😝" FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES -->
+ <string name="spoken_emoji_1F61D">Face with stuck-out tongue and tightly-closed eyes</string>
+ <!-- Spoken description for Unicode code point U+1F61E: "😞" DISAPPOINTED FACE -->
+ <string name="spoken_emoji_1F61E">Disappointed face</string>
+ <!-- Spoken description for Unicode code point U+1F61F: "😟" WORRIED FACE -->
+ <string name="spoken_emoji_1F61F">Worried face</string>
+ <!-- Spoken description for Unicode code point U+1F620: "😠" ANGRY FACE -->
+ <string name="spoken_emoji_1F620">Angry face</string>
+ <!-- Spoken description for Unicode code point U+1F621: "😡" POUTING FACE -->
+ <string name="spoken_emoji_1F621">Pouting face</string>
+ <!-- Spoken description for Unicode code point U+1F622: "😢" CRYING FACE -->
+ <string name="spoken_emoji_1F622">Crying face</string>
+ <!-- Spoken description for Unicode code point U+1F623: "😣" PERSEVERING FACE -->
+ <string name="spoken_emoji_1F623">Persevering face</string>
+ <!-- Spoken description for Unicode code point U+1F624: "😤" FACE WITH LOOK OF TRIUMPH -->
+ <string name="spoken_emoji_1F624">Face with look of triumph</string>
+ <!-- Spoken description for Unicode code point U+1F625: "😥" DISAPPOINTED BUT RELIEVED FACE -->
+ <string name="spoken_emoji_1F625">Disappointed but relieved face</string>
+ <!-- Spoken description for Unicode code point U+1F626: "😦" FROWNING FACE WITH OPEN MOUTH -->
+ <string name="spoken_emoji_1F626">Frowning face with open mouth</string>
+ <!-- Spoken description for Unicode code point U+1F627: "😧" ANGUISHED FACE -->
+ <string name="spoken_emoji_1F627">Anguished face</string>
+ <!-- Spoken description for Unicode code point U+1F628: "😨" FEARFUL FACE -->
+ <string name="spoken_emoji_1F628">Fearful face</string>
+ <!-- Spoken description for Unicode code point U+1F629: "😩" WEARY FACE -->
+ <string name="spoken_emoji_1F629">Weary face</string>
+ <!-- Spoken description for Unicode code point U+1F62A: "😪" SLEEPY FACE -->
+ <string name="spoken_emoji_1F62A">Sleepy face</string>
+ <!-- Spoken description for Unicode code point U+1F62B: "😫" TIRED FACE -->
+ <string name="spoken_emoji_1F62B">Tired face</string>
+ <!-- Spoken description for Unicode code point U+1F62C: "😬" GRIMACING FACE -->
+ <string name="spoken_emoji_1F62C">Grimacing face</string>
+ <!-- Spoken description for Unicode code point U+1F62D: "😭" LOUDLY CRYING FACE -->
+ <string name="spoken_emoji_1F62D">Loudly crying face</string>
+ <!-- Spoken description for Unicode code point U+1F62E: "😮" FACE WITH OPEN MOUTH -->
+ <string name="spoken_emoji_1F62E">Face with open mouth</string>
+ <!-- Spoken description for Unicode code point U+1F62F: "😯" HUSHED FACE -->
+ <string name="spoken_emoji_1F62F">Hushed face</string>
+ <!-- Spoken description for Unicode code point U+1F630: "😰" FACE WITH OPEN MOUTH AND COLD SWEAT -->
+ <string name="spoken_emoji_1F630">Face with open mouth and cold sweat</string>
+ <!-- Spoken description for Unicode code point U+1F631: "😱" FACE SCREAMING IN FEAR -->
+ <string name="spoken_emoji_1F631">Face screaming in fear</string>
+ <!-- Spoken description for Unicode code point U+1F632: "😲" ASTONISHED FACE -->
+ <string name="spoken_emoji_1F632">Astonished face</string>
+ <!-- Spoken description for Unicode code point U+1F633: "😳" FLUSHED FACE -->
+ <string name="spoken_emoji_1F633">Flushed face</string>
+ <!-- Spoken description for Unicode code point U+1F634: "😴" SLEEPING FACE -->
+ <string name="spoken_emoji_1F634">Sleeping face</string>
+ <!-- Spoken description for Unicode code point U+1F635: "😵" DIZZY FACE -->
+ <string name="spoken_emoji_1F635">Dizzy face</string>
+ <!-- Spoken description for Unicode code point U+1F636: "😶" FACE WITHOUT MOUTH -->
+ <string name="spoken_emoji_1F636">Face without mouth</string>
+ <!-- Spoken description for Unicode code point U+1F637: "😷" FACE WITH MEDICAL MASK -->
+ <string name="spoken_emoji_1F637">Face with medical mask</string>
+ <!-- Spoken description for Unicode code point U+1F638: "😸" GRINNING CAT FACE WITH SMILING EYES -->
+ <string name="spoken_emoji_1F638">Grinning cat face with smiling eyes</string>
+ <!-- Spoken description for Unicode code point U+1F639: "😹" CAT FACE WITH TEARS OF JOY -->
+ <string name="spoken_emoji_1F639">Cat face with tears of joy</string>
+ <!-- Spoken description for Unicode code point U+1F63A: "😺" SMILING CAT FACE WITH OPEN MOUTH -->
+ <string name="spoken_emoji_1F63A">Smiling cat face with open mouth</string>
+ <!-- Spoken description for Unicode code point U+1F63B: "😻" SMILING CAT FACE WITH HEART-SHAPED EYES -->
+ <string name="spoken_emoji_1F63B">Smiling cat face with heart-shaped eyes</string>
+ <!-- Spoken description for Unicode code point U+1F63C: "😼" CAT FACE WITH WRY SMILE -->
+ <string name="spoken_emoji_1F63C">Cat face with wry smile</string>
+ <!-- Spoken description for Unicode code point U+1F63D: "😽" KISSING CAT FACE WITH CLOSED EYES -->
+ <string name="spoken_emoji_1F63D">Kissing cat face with closed eyes</string>
+ <!-- Spoken description for Unicode code point U+1F63E: "😾" POUTING CAT FACE -->
+ <string name="spoken_emoji_1F63E">Pouting cat face</string>
+ <!-- Spoken description for Unicode code point U+1F63F: "😿" CRYING CAT FACE -->
+ <string name="spoken_emoji_1F63F">Crying cat face</string>
+ <!-- Spoken description for Unicode code point U+1F640: "🙀" WEARY CAT FACE -->
+ <string name="spoken_emoji_1F640">Weary cat face</string>
+ <!-- Spoken description for Unicode code point U+1F645: "🙅" FACE WITH NO GOOD GESTURE -->
+ <string name="spoken_emoji_1F645">Face with no good gesture</string>
+ <!-- Spoken description for Unicode code point U+1F646: "🙆" FACE WITH OK GESTURE -->
+ <string name="spoken_emoji_1F646">Face with ok gesture</string>
+ <!-- Spoken description for Unicode code point U+1F647: "🙇" PERSON BOWING DEEPLY -->
+ <string name="spoken_emoji_1F647">Person bowing deeply</string>
+ <!-- Spoken description for Unicode code point U+1F648: "🙈" SEE-NO-EVIL MONKEY -->
+ <string name="spoken_emoji_1F648">See-no-evil monkey</string>
+ <!-- Spoken description for Unicode code point U+1F649: "🙉" HEAR-NO-EVIL MONKEY -->
+ <string name="spoken_emoji_1F649">Hear-no-evil monkey</string>
+ <!-- Spoken description for Unicode code point U+1F64A: "🙊" SPEAK-NO-EVIL MONKEY -->
+ <string name="spoken_emoji_1F64A">Speak-no-evil monkey</string>
+ <!-- Spoken description for Unicode code point U+1F64B: "🙋" HAPPY PERSON RAISING ONE HAND -->
+ <string name="spoken_emoji_1F64B">Happy person raising one hand</string>
+ <!-- Spoken description for Unicode code point U+1F64C: "🙌" PERSON RAISING BOTH HANDS IN CELEBRATION -->
+ <string name="spoken_emoji_1F64C">Person raising both hands in celebration</string>
+ <!-- Spoken description for Unicode code point U+1F64D: "🙍" PERSON FROWNING -->
+ <string name="spoken_emoji_1F64D">Person frowning</string>
+ <!-- Spoken description for Unicode code point U+1F64E: "🙎" PERSON WITH POUTING FACE -->
+ <string name="spoken_emoji_1F64E">Person with pouting face</string>
+ <!-- Spoken description for Unicode code point U+1F64F: "🙏" PERSON WITH FOLDED HANDS -->
+ <string name="spoken_emoji_1F64F">Person with folded hands</string>
+ <!-- Spoken description for Unicode code point U+1F680: "🚀" ROCKET -->
+ <string name="spoken_emoji_1F680">Rocket</string>
+ <!-- Spoken description for Unicode code point U+1F681: "🚁" HELICOPTER -->
+ <string name="spoken_emoji_1F681">Helicopter</string>
+ <!-- Spoken description for Unicode code point U+1F682: "🚂" STEAM LOCOMOTIVE -->
+ <string name="spoken_emoji_1F682">Steam locomotive</string>
+ <!-- Spoken description for Unicode code point U+1F683: "🚃" RAILWAY CAR -->
+ <string name="spoken_emoji_1F683">Railway car</string>
+ <!-- Spoken description for Unicode code point U+1F684: "🚄" HIGH-SPEED TRAIN -->
+ <string name="spoken_emoji_1F684">High-speed train</string>
+ <!-- Spoken description for Unicode code point U+1F685: "🚅" HIGH-SPEED TRAIN WITH BULLET NOSE -->
+ <string name="spoken_emoji_1F685">High-speed train with bullet nose</string>
+ <!-- Spoken description for Unicode code point U+1F686: "🚆" TRAIN -->
+ <string name="spoken_emoji_1F686">Train</string>
+ <!-- Spoken description for Unicode code point U+1F687: "🚇" METRO -->
+ <string name="spoken_emoji_1F687">Metro</string>
+ <!-- Spoken description for Unicode code point U+1F688: "🚈" LIGHT RAIL -->
+ <string name="spoken_emoji_1F688">Light rail</string>
+ <!-- Spoken description for Unicode code point U+1F689: "🚉" STATION -->
+ <string name="spoken_emoji_1F689">Station</string>
+ <!-- Spoken description for Unicode code point U+1F68A: "🚊" TRAM -->
+ <string name="spoken_emoji_1F68A">Tram</string>
+ <!-- Spoken description for Unicode code point U+1F68B: "🚋" TRAM CAR -->
+ <string name="spoken_emoji_1F68B">Tram car</string>
+ <!-- Spoken description for Unicode code point U+1F68C: "🚌" BUS -->
+ <string name="spoken_emoji_1F68C">Bus</string>
+ <!-- Spoken description for Unicode code point U+1F68D: "🚍" ONCOMING BUS -->
+ <string name="spoken_emoji_1F68D">Oncoming bus</string>
+ <!-- Spoken description for Unicode code point U+1F68E: "🚎" TROLLEYBUS -->
+ <string name="spoken_emoji_1F68E">Trolleybus</string>
+ <!-- Spoken description for Unicode code point U+1F68F: "🚏" BUS STOP -->
+ <string name="spoken_emoji_1F68F">Bus stop</string>
+ <!-- Spoken description for Unicode code point U+1F690: "🚐" MINIBUS -->
+ <string name="spoken_emoji_1F690">Minibus</string>
+ <!-- Spoken description for Unicode code point U+1F691: "🚑" AMBULANCE -->
+ <string name="spoken_emoji_1F691">Ambulance</string>
+ <!-- Spoken description for Unicode code point U+1F692: "🚒" FIRE ENGINE -->
+ <string name="spoken_emoji_1F692">Fire engine</string>
+ <!-- Spoken description for Unicode code point U+1F693: "🚓" POLICE CAR -->
+ <string name="spoken_emoji_1F693">Police car</string>
+ <!-- Spoken description for Unicode code point U+1F694: "🚔" ONCOMING POLICE CAR -->
+ <string name="spoken_emoji_1F694">Oncoming police car</string>
+ <!-- Spoken description for Unicode code point U+1F695: "🚕" TAXI -->
+ <string name="spoken_emoji_1F695">Taxi</string>
+ <!-- Spoken description for Unicode code point U+1F696: "🚖" ONCOMING TAXI -->
+ <string name="spoken_emoji_1F696">Oncoming taxi</string>
+ <!-- Spoken description for Unicode code point U+1F697: "🚗" AUTOMOBILE -->
+ <string name="spoken_emoji_1F697">Automobile</string>
+ <!-- Spoken description for Unicode code point U+1F698: "🚘" ONCOMING AUTOMOBILE -->
+ <string name="spoken_emoji_1F698">Oncoming automobile</string>
+ <!-- Spoken description for Unicode code point U+1F699: "🚙" RECREATIONAL VEHICLE -->
+ <string name="spoken_emoji_1F699">Recreational vehicle</string>
+ <!-- Spoken description for Unicode code point U+1F69A: "🚚" DELIVERY TRUCK -->
+ <string name="spoken_emoji_1F69A">Delivery truck</string>
+ <!-- Spoken description for Unicode code point U+1F69B: "🚛" ARTICULATED LORRY -->
+ <string name="spoken_emoji_1F69B">Articulated lorry</string>
+ <!-- Spoken description for Unicode code point U+1F69C: "🚜" TRACTOR -->
+ <string name="spoken_emoji_1F69C">Tractor</string>
+ <!-- Spoken description for Unicode code point U+1F69D: "🚝" MONORAIL -->
+ <string name="spoken_emoji_1F69D">Monorail</string>
+ <!-- Spoken description for Unicode code point U+1F69E: "🚞" MOUNTAIN RAILWAY -->
+ <string name="spoken_emoji_1F69E">Mountain railway</string>
+ <!-- Spoken description for Unicode code point U+1F69F: "🚟" SUSPENSION RAILWAY -->
+ <string name="spoken_emoji_1F69F">Suspension railway</string>
+ <!-- Spoken description for Unicode code point U+1F6A0: "🚠" MOUNTAIN CABLEWAY -->
+ <string name="spoken_emoji_1F6A0">Mountain cableway</string>
+ <!-- Spoken description for Unicode code point U+1F6A1: "🚡" AERIAL TRAMWAY -->
+ <string name="spoken_emoji_1F6A1">Aerial tramway</string>
+ <!-- Spoken description for Unicode code point U+1F6A2: "🚢" SHIP -->
+ <string name="spoken_emoji_1F6A2">Ship</string>
+ <!-- Spoken description for Unicode code point U+1F6A3: "🚣" ROWBOAT -->
+ <string name="spoken_emoji_1F6A3">Rowboat</string>
+ <!-- Spoken description for Unicode code point U+1F6A4: "🚤" SPEEDBOAT -->
+ <string name="spoken_emoji_1F6A4">Speedboat</string>
+ <!-- Spoken description for Unicode code point U+1F6A5: "🚥" HORIZONTAL TRAFFIC LIGHT -->
+ <string name="spoken_emoji_1F6A5">Horizontal traffic light</string>
+ <!-- Spoken description for Unicode code point U+1F6A6: "🚦" VERTICAL TRAFFIC LIGHT -->
+ <string name="spoken_emoji_1F6A6">Vertical traffic light</string>
+ <!-- Spoken description for Unicode code point U+1F6A7: "🚧" CONSTRUCTION SIGN -->
+ <string name="spoken_emoji_1F6A7">Construction sign</string>
+ <!-- Spoken description for Unicode code point U+1F6A8: "🚨" POLICE CARS REVOLVING LIGHT -->
+ <string name="spoken_emoji_1F6A8">Police cars revolving light</string>
+ <!-- Spoken description for Unicode code point U+1F6A9: "🚩" TRIANGULAR FLAG ON POST -->
+ <string name="spoken_emoji_1F6A9">Triangular flag on post</string>
+ <!-- Spoken description for Unicode code point U+1F6AA: "🚪" DOOR -->
+ <string name="spoken_emoji_1F6AA">Door</string>
+ <!-- Spoken description for Unicode code point U+1F6AB: "🚫" NO ENTRY SIGN -->
+ <string name="spoken_emoji_1F6AB">No entry sign</string>
+ <!-- Spoken description for Unicode code point U+1F6AC: "🚬" SMOKING SYMBOL -->
+ <string name="spoken_emoji_1F6AC">Smoking symbol</string>
+ <!-- Spoken description for Unicode code point U+1F6AD: "🚭" NO SMOKING SYMBOL -->
+ <string name="spoken_emoji_1F6AD">No smoking symbol</string>
+ <!-- Spoken description for Unicode code point U+1F6AE: "🚮" PUT LITTER IN ITS PLACE SYMBOL -->
+ <string name="spoken_emoji_1F6AE">Put litter in its place symbol</string>
+ <!-- Spoken description for Unicode code point U+1F6AF: "🚯" DO NOT LITTER SYMBOL -->
+ <string name="spoken_emoji_1F6AF">Do not litter symbol</string>
+ <!-- Spoken description for Unicode code point U+1F6B0: "🚰" POTABLE WATER SYMBOL -->
+ <string name="spoken_emoji_1F6B0">Potable water symbol</string>
+ <!-- Spoken description for Unicode code point U+1F6B1: "🚱" NON-POTABLE WATER SYMBOL -->
+ <string name="spoken_emoji_1F6B1">Non-potable water symbol</string>
+ <!-- Spoken description for Unicode code point U+1F6B2: "🚲" BICYCLE -->
+ <string name="spoken_emoji_1F6B2">Bicycle</string>
+ <!-- Spoken description for Unicode code point U+1F6B3: "🚳" NO BICYCLES -->
+ <string name="spoken_emoji_1F6B3">No bicycles</string>
+ <!-- Spoken description for Unicode code point U+1F6B4: "🚴" BICYCLIST -->
+ <string name="spoken_emoji_1F6B4">Bicyclist</string>
+ <!-- Spoken description for Unicode code point U+1F6B5: "🚵" MOUNTAIN BICYCLIST -->
+ <string name="spoken_emoji_1F6B5">Mountain bicyclist</string>
+ <!-- Spoken description for Unicode code point U+1F6B6: "🚶" PEDESTRIAN -->
+ <string name="spoken_emoji_1F6B6">Pedestrian</string>
+ <!-- Spoken description for Unicode code point U+1F6B7: "🚷" NO PEDESTRIANS -->
+ <string name="spoken_emoji_1F6B7">No pedestrians</string>
+ <!-- Spoken description for Unicode code point U+1F6B8: "🚸" CHILDREN CROSSING -->
+ <string name="spoken_emoji_1F6B8">Children crossing</string>
+ <!-- Spoken description for Unicode code point U+1F6B9: "🚹" MENS SYMBOL -->
+ <string name="spoken_emoji_1F6B9">Mens symbol</string>
+ <!-- Spoken description for Unicode code point U+1F6BA: "🚺" WOMENS SYMBOL -->
+ <string name="spoken_emoji_1F6BA">Womens symbol</string>
+ <!-- Spoken description for Unicode code point U+1F6BB: "🚻" RESTROOM -->
+ <string name="spoken_emoji_1F6BB">Restroom</string>
+ <!-- Spoken description for Unicode code point U+1F6BC: "🚼" BABY SYMBOL -->
+ <string name="spoken_emoji_1F6BC">Baby symbol</string>
+ <!-- Spoken description for Unicode code point U+1F6BD: "🚽" TOILET -->
+ <string name="spoken_emoji_1F6BD">Toilet</string>
+ <!-- Spoken description for Unicode code point U+1F6BE: "🚾" WATER CLOSET -->
+ <string name="spoken_emoji_1F6BE">Water closet</string>
+ <!-- Spoken description for Unicode code point U+1F6BF: "🚿" SHOWER -->
+ <string name="spoken_emoji_1F6BF">Shower</string>
+ <!-- Spoken description for Unicode code point U+1F6C0: "🛀" BATH -->
+ <string name="spoken_emoji_1F6C0">Bath</string>
+ <!-- Spoken description for Unicode code point U+1F6C1: "🛁" BATHTUB -->
+ <string name="spoken_emoji_1F6C1">Bathtub</string>
+ <!-- Spoken description for Unicode code point U+1F6C2: "🛂" PASSPORT CONTROL -->
+ <string name="spoken_emoji_1F6C2">Passport control</string>
+ <!-- Spoken description for Unicode code point U+1F6C3: "🛃" CUSTOMS -->
+ <string name="spoken_emoji_1F6C3">Customs</string>
+ <!-- Spoken description for Unicode code point U+1F6C4: "🛄" BAGGAGE CLAIM -->
+ <string name="spoken_emoji_1F6C4">Baggage claim</string>
+ <!-- Spoken description for Unicode code point U+1F6C5: "🛅" LEFT LUGGAGE -->
+ <string name="spoken_emoji_1F6C5">Left luggage</string>
+</resources>
diff --git a/java/res/values/strings-letter-descriptions.xml b/java/res/values/strings-letter-descriptions.xml
new file mode 100644
index 000000000..297b6bed2
--- /dev/null
+++ b/java/res/values/strings-letter-descriptions.xml
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Spoken description for Unicode code point U+00AA: "ª" FEMININE ORDINAL INDICATOR -->
+ <string name="spoken_accented_letter_00AA">Feminine ordinal indicator</string>
+ <!-- Spoken description for Unicode code point U+00B5: "µ" MICRO SIGN -->
+ <string name="spoken_accented_letter_00B5">Micro sign</string>
+ <!-- Spoken description for Unicode code point U+00BA: "º" MASCULINE ORDINAL INDICATOR -->
+ <string name="spoken_accented_letter_00BA">Masculine ordinal indicator</string>
+ <!-- Spoken description for Unicode code point U+00DF: "ß" LATIN SMALL LETTER SHARP S -->
+ <string name="spoken_accented_letter_00DF">Sharp S</string>
+ <!-- Spoken description for Unicode code point U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE -->
+ <string name="spoken_accented_letter_00E0">A, grave</string>
+ <!-- Spoken description for Unicode code point U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE -->
+ <string name="spoken_accented_letter_00E1">A, acute</string>
+ <!-- Spoken description for Unicode code point U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_00E2">A, circumflex</string>
+ <!-- Spoken description for Unicode code point U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE -->
+ <string name="spoken_accented_letter_00E3">A, tilde</string>
+ <!-- Spoken description for Unicode code point U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
+ <string name="spoken_accented_letter_00E4">A, diaeresis</string>
+ <!-- Spoken description for Unicode code point U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE -->
+ <string name="spoken_accented_letter_00E5">A, ring above</string>
+ <!-- Spoken description for Unicode code point U+00E6: "æ" LATIN SMALL LETTER AE -->
+ <string name="spoken_accented_letter_00E6">A, E, ligature</string>
+ <!-- Spoken description for Unicode code point U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA -->
+ <string name="spoken_accented_letter_00E7">C, cedilla</string>
+ <!-- Spoken description for Unicode code point U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE -->
+ <string name="spoken_accented_letter_00E8">E, grave</string>
+ <!-- Spoken description for Unicode code point U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE -->
+ <string name="spoken_accented_letter_00E9">E, acute</string>
+ <!-- Spoken description for Unicode code point U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_00EA">E, circumflex</string>
+ <!-- Spoken description for Unicode code point U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS -->
+ <string name="spoken_accented_letter_00EB">E, diaeresis</string>
+ <!-- Spoken description for Unicode code point U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE -->
+ <string name="spoken_accented_letter_00EC">I, grave</string>
+ <!-- Spoken description for Unicode code point U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE -->
+ <string name="spoken_accented_letter_00ED">I, acute</string>
+ <!-- Spoken description for Unicode code point U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_00EE">I, circumflex</string>
+ <!-- Spoken description for Unicode code point U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS -->
+ <string name="spoken_accented_letter_00EF">I, diaeresis</string>
+ <!-- Spoken description for Unicode code point U+00F0: "ð" LATIN SMALL LETTER ETH -->
+ <string name="spoken_accented_letter_00F0">Eth</string>
+ <!-- Spoken description for Unicode code point U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
+ <string name="spoken_accented_letter_00F1">N, tilde</string>
+ <!-- Spoken description for Unicode code point U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE -->
+ <string name="spoken_accented_letter_00F2">O, grave</string>
+ <!-- Spoken description for Unicode code point U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE -->
+ <string name="spoken_accented_letter_00F3">O, acute</string>
+ <!-- Spoken description for Unicode code point U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_00F4">O, circumflex</string>
+ <!-- Spoken description for Unicode code point U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE -->
+ <string name="spoken_accented_letter_00F5">O, tilde</string>
+ <!-- Spoken description for Unicode code point U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
+ <string name="spoken_accented_letter_00F6">O, diaeresis</string>
+ <!-- Spoken description for Unicode code point U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
+ <string name="spoken_accented_letter_00F8">O, stroke</string>
+ <!-- Spoken description for Unicode code point U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE -->
+ <string name="spoken_accented_letter_00F9">U, grave</string>
+ <!-- Spoken description for Unicode code point U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE -->
+ <string name="spoken_accented_letter_00FA">U, acute</string>
+ <!-- Spoken description for Unicode code point U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_00FB">U, circumflex</string>
+ <!-- Spoken description for Unicode code point U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS -->
+ <string name="spoken_accented_letter_00FC">U, diaeresis</string>
+ <!-- Spoken description for Unicode code point U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE -->
+ <string name="spoken_accented_letter_00FD">Y, acute</string>
+ <!-- Spoken description for Unicode code point U+00FE: "þ" LATIN SMALL LETTER THORN -->
+ <string name="spoken_accented_letter_00FE">Thorn</string>
+ <!-- Spoken description for Unicode code point U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
+ <string name="spoken_accented_letter_00FF">Y, diaeresis</string>
+ <!-- Spoken description for Unicode code point U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
+ <string name="spoken_accented_letter_0101">A, macron</string>
+ <!-- Spoken description for Unicode code point U+0103: "ă" LATIN SMALL LETTER A WITH BREVE -->
+ <string name="spoken_accented_letter_0103">A, breve</string>
+ <!-- Spoken description for Unicode code point U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK -->
+ <string name="spoken_accented_letter_0105">A, ogonek</string>
+ <!-- Spoken description for Unicode code point U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE -->
+ <string name="spoken_accented_letter_0107">C, acute</string>
+ <!-- Spoken description for Unicode code point U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_0109">C, circumflex</string>
+ <!-- Spoken description for Unicode code point U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE -->
+ <string name="spoken_accented_letter_010B">C, dot above</string>
+ <!-- Spoken description for Unicode code point U+010D: "č" LATIN SMALL LETTER C WITH CARON -->
+ <string name="spoken_accented_letter_010D">C, caron</string>
+ <!-- Spoken description for Unicode code point U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
+ <string name="spoken_accented_letter_010F">D, caron</string>
+ <!-- Spoken description for Unicode code point U+0111: "đ" LATIN SMALL LETTER D WITH STROKE -->
+ <string name="spoken_accented_letter_0111">D, stroke</string>
+ <!-- Spoken description for Unicode code point U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
+ <string name="spoken_accented_letter_0113">E, macron</string>
+ <!-- Spoken description for Unicode code point U+0115: "ĕ" LATIN SMALL LETTER E WITH BREVE -->
+ <string name="spoken_accented_letter_0115">E, breve</string>
+ <!-- Spoken description for Unicode code point U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE -->
+ <string name="spoken_accented_letter_0117">E, dot above</string>
+ <!-- Spoken description for Unicode code point U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK -->
+ <string name="spoken_accented_letter_0119">E, ogonek</string>
+ <!-- Spoken description for Unicode code point U+011B: "ě" LATIN SMALL LETTER E WITH CARON -->
+ <string name="spoken_accented_letter_011B">E, caron</string>
+ <!-- Spoken description for Unicode code point U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_011D">G, circumflex</string>
+ <!-- Spoken description for Unicode code point U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
+ <string name="spoken_accented_letter_011F">G, breve</string>
+ <!-- Spoken description for Unicode code point U+0121: "ġ" LATIN SMALL LETTER G WITH DOT ABOVE -->
+ <string name="spoken_accented_letter_0121">G, dot above</string>
+ <!-- Spoken description for Unicode code point U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA -->
+ <string name="spoken_accented_letter_0123">G, cedilla</string>
+ <!-- Spoken description for Unicode code point U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_0125">H, circumflex</string>
+ <!-- Spoken description for Unicode code point U+0127: "ħ" LATIN SMALL LETTER H WITH STROKE -->
+ <string name="spoken_accented_letter_0127">H, stroke</string>
+ <!-- Spoken description for Unicode code point U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE -->
+ <string name="spoken_accented_letter_0129">I, tilde</string>
+ <!-- Spoken description for Unicode code point U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
+ <string name="spoken_accented_letter_012B">I, macron</string>
+ <!-- Spoken description for Unicode code point U+012D: "ĭ" LATIN SMALL LETTER I WITH BREVE -->
+ <string name="spoken_accented_letter_012D">I, breve</string>
+ <!-- Spoken description for Unicode code point U+012F: "į" LATIN SMALL LETTER I WITH OGONEK -->
+ <string name="spoken_accented_letter_012F">I, ogonek</string>
+ <!-- Spoken description for Unicode code point U+0131: "ı" LATIN SMALL LETTER DOTLESS I -->
+ <string name="spoken_accented_letter_0131">Dotless I</string>
+ <!-- Spoken description for Unicode code point U+0133: "ij" LATIN SMALL LIGATURE IJ -->
+ <string name="spoken_accented_letter_0133">I, J, ligature</string>
+ <!-- Spoken description for Unicode code point U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_0135">J, circumflex</string>
+ <!-- Spoken description for Unicode code point U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA -->
+ <string name="spoken_accented_letter_0137">K, cedilla</string>
+ <!-- Spoken description for Unicode code point U+0138: "ĸ" LATIN SMALL LETTER KRA -->
+ <string name="spoken_accented_letter_0138">Kra</string>
+ <!-- Spoken description for Unicode code point U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE -->
+ <string name="spoken_accented_letter_013A">L, acute</string>
+ <!-- Spoken description for Unicode code point U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA -->
+ <string name="spoken_accented_letter_013C">L, cedilla</string>
+ <!-- Spoken description for Unicode code point U+013E: "ľ" LATIN SMALL LETTER L WITH CARON -->
+ <string name="spoken_accented_letter_013E">L, caron</string>
+ <!-- Spoken description for Unicode code point U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT -->
+ <string name="spoken_accented_letter_0140">L, middle dot</string>
+ <!-- Spoken description for Unicode code point U+0142: "ł" LATIN SMALL LETTER L WITH STROKE -->
+ <string name="spoken_accented_letter_0142">L, stroke</string>
+ <!-- Spoken description for Unicode code point U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
+ <string name="spoken_accented_letter_0144">N, acute</string>
+ <!-- Spoken description for Unicode code point U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA -->
+ <string name="spoken_accented_letter_0146">N, cedilla</string>
+ <!-- Spoken description for Unicode code point U+0148: "ň" LATIN SMALL LETTER N WITH CARON -->
+ <string name="spoken_accented_letter_0148">N, caron</string>
+ <!-- Spoken description for Unicode code point U+0149: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -->
+ <string name="spoken_accented_letter_0149">N, preceded by apostrophe</string>
+ <!-- Spoken description for Unicode code point U+014B: "ŋ" LATIN SMALL LETTER ENG -->
+ <string name="spoken_accented_letter_014B">Eng</string>
+ <!-- Spoken description for Unicode code point U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
+ <string name="spoken_accented_letter_014D">O, macron</string>
+ <!-- Spoken description for Unicode code point U+014F: "ŏ" LATIN SMALL LETTER O WITH BREVE -->
+ <string name="spoken_accented_letter_014F">O, breve</string>
+ <!-- Spoken description for Unicode code point U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE -->
+ <string name="spoken_accented_letter_0151">O, double acute</string>
+ <!-- Spoken description for Unicode code point U+0153: "œ" LATIN SMALL LIGATURE OE -->
+ <string name="spoken_accented_letter_0153">O, E, ligature</string>
+ <!-- Spoken description for Unicode code point U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE -->
+ <string name="spoken_accented_letter_0155">R, acute</string>
+ <!-- Spoken description for Unicode code point U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA -->
+ <string name="spoken_accented_letter_0157">R, cedilla</string>
+ <!-- Spoken description for Unicode code point U+0159: "ř" LATIN SMALL LETTER R WITH CARON -->
+ <string name="spoken_accented_letter_0159">R, caron</string>
+ <!-- Spoken description for Unicode code point U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE -->
+ <string name="spoken_accented_letter_015B">S, acute</string>
+ <!-- Spoken description for Unicode code point U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_015D">S, circumflex</string>
+ <!-- Spoken description for Unicode code point U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA -->
+ <string name="spoken_accented_letter_015F">S, cedilla</string>
+ <!-- Spoken description for Unicode code point U+0161: "š" LATIN SMALL LETTER S WITH CARON -->
+ <string name="spoken_accented_letter_0161">S, caron</string>
+ <!-- Spoken description for Unicode code point U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA -->
+ <string name="spoken_accented_letter_0163">T, cedilla</string>
+ <!-- Spoken description for Unicode code point U+0165: "ť" LATIN SMALL LETTER T WITH CARON -->
+ <string name="spoken_accented_letter_0165">T, caron</string>
+ <!-- Spoken description for Unicode code point U+0167: "ŧ" LATIN SMALL LETTER T WITH STROKE -->
+ <string name="spoken_accented_letter_0167">T, stroke</string>
+ <!-- Spoken description for Unicode code point U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE -->
+ <string name="spoken_accented_letter_0169">U, tilde</string>
+ <!-- Spoken description for Unicode code point U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
+ <string name="spoken_accented_letter_016B">U, macron</string>
+ <!-- Spoken description for Unicode code point U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE -->
+ <string name="spoken_accented_letter_016D">U, breve</string>
+ <!-- Spoken description for Unicode code point U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE -->
+ <string name="spoken_accented_letter_016F">U, ring above</string>
+ <!-- Spoken description for Unicode code point U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
+ <string name="spoken_accented_letter_0171">U, double acute</string>
+ <!-- Spoken description for Unicode code point U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK -->
+ <string name="spoken_accented_letter_0173">U, ogonek</string>
+ <!-- Spoken description for Unicode code point U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_0175">W, circumflex</string>
+ <!-- Spoken description for Unicode code point U+0177: "ŷ" LATIN SMALL LETTER Y WITH CIRCUMFLEX -->
+ <string name="spoken_accented_letter_0177">Y, circumflex</string>
+ <!-- Spoken description for Unicode code point U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE -->
+ <string name="spoken_accented_letter_017A">Z, acute</string>
+ <!-- Spoken description for Unicode code point U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE -->
+ <string name="spoken_accented_letter_017C">Z, dot above</string>
+ <!-- Spoken description for Unicode code point U+017E: "ž" LATIN SMALL LETTER Z WITH CARON -->
+ <string name="spoken_accented_letter_017E">Z, caron</string>
+ <!-- Spoken description for Unicode code point U+017F: "ſ" LATIN SMALL LETTER LONG S -->
+ <string name="spoken_accented_letter_017F">Long S</string>
+ <!-- Spoken description for Unicode code point U+01A1: "ơ" LATIN SMALL LETTER O WITH HORN -->
+ <string name="spoken_accented_letter_01A1">O, horn</string>
+ <!-- Spoken description for Unicode code point U+01B0: "ư" LATIN SMALL LETTER U WITH HORN -->
+ <string name="spoken_accented_letter_01B0">U, horn</string>
+ <!-- Spoken description for Unicode code point U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW -->
+ <string name="spoken_accented_letter_0219">S, comma below</string>
+ <!-- Spoken description for Unicode code point U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW -->
+ <string name="spoken_accented_letter_021B">T, comma below</string>
+ <!-- Spoken description for Unicode code point U+0259: "ə" LATIN SMALL LETTER SCHWA -->
+ <string name="spoken_accented_letter_0259">Schwa</string>
+ <!-- Spoken description for Unicode code point U+1EA1: "ạ" LATIN SMALL LETTER A WITH DOT BELOW -->
+ <string name="spoken_accented_letter_1EA1">A, dot below</string>
+ <!-- Spoken description for Unicode code point U+1EA3: "ả" LATIN SMALL LETTER A WITH HOOK ABOVE -->
+ <string name="spoken_accented_letter_1EA3">A, hook above</string>
+ <!-- Spoken description for Unicode code point U+1EA5: "ấ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE -->
+ <string name="spoken_accented_letter_1EA5">A, circumflex and acute</string>
+ <!-- Spoken description for Unicode code point U+1EA7: "ầ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE -->
+ <string name="spoken_accented_letter_1EA7">A, circumflex and grave</string>
+ <!-- Spoken description for Unicode code point U+1EA9: "ẩ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE -->
+ <string name="spoken_accented_letter_1EA9">A, circumflex and hook above</string>
+ <!-- Spoken description for Unicode code point U+1EAB: "ẫ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE -->
+ <string name="spoken_accented_letter_1EAB">A, circumflex and tilde</string>
+ <!-- Spoken description for Unicode code point U+1EAD: "ậ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW -->
+ <string name="spoken_accented_letter_1EAD">A, circumflex and dot below</string>
+ <!-- Spoken description for Unicode code point U+1EAF: "ắ" LATIN SMALL LETTER A WITH BREVE AND ACUTE -->
+ <string name="spoken_accented_letter_1EAF">A, breve and acute</string>
+ <!-- Spoken description for Unicode code point U+1EB1: "ằ" LATIN SMALL LETTER A WITH BREVE AND GRAVE -->
+ <string name="spoken_accented_letter_1EB1">A, breve and grave</string>
+ <!-- Spoken description for Unicode code point U+1EB3: "ẳ" LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE -->
+ <string name="spoken_accented_letter_1EB3">A, breve and hook above</string>
+ <!-- Spoken description for Unicode code point U+1EB5: "ẵ" LATIN SMALL LETTER A WITH BREVE AND TILDE -->
+ <string name="spoken_accented_letter_1EB5">A, breve and tilde</string>
+ <!-- Spoken description for Unicode code point U+1EB7: "ặ" LATIN SMALL LETTER A WITH BREVE AND DOT BELOW -->
+ <string name="spoken_accented_letter_1EB7">A, breve and dot below</string>
+ <!-- Spoken description for Unicode code point U+1EB9: "ẹ" LATIN SMALL LETTER E WITH DOT BELOW -->
+ <string name="spoken_accented_letter_1EB9">E, dot below</string>
+ <!-- Spoken description for Unicode code point U+1EBB: "ẻ" LATIN SMALL LETTER E WITH HOOK ABOVE -->
+ <string name="spoken_accented_letter_1EBB">E, hook above</string>
+ <!-- Spoken description for Unicode code point U+1EBD: "ẽ" LATIN SMALL LETTER E WITH TILDE -->
+ <string name="spoken_accented_letter_1EBD">E, tilde</string>
+ <!-- Spoken description for Unicode code point U+1EBF: "ế" LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE -->
+ <string name="spoken_accented_letter_1EBF">E, circumflex and acute</string>
+ <!-- Spoken description for Unicode code point U+1EC1: "ề" LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE -->
+ <string name="spoken_accented_letter_1EC1">E, circumflex and grave</string>
+ <!-- Spoken description for Unicode code point U+1EC3: "ể" LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE -->
+ <string name="spoken_accented_letter_1EC3">E, circumflex and hook above</string>
+ <!-- Spoken description for Unicode code point U+1EC5: "ễ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE -->
+ <string name="spoken_accented_letter_1EC5">E, circumflex and tilde</string>
+ <!-- Spoken description for Unicode code point U+1EC7: "ệ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW -->
+ <string name="spoken_accented_letter_1EC7">E, circumflex and dot below</string>
+ <!-- Spoken description for Unicode code point U+1EC9: "ỉ" LATIN SMALL LETTER I WITH HOOK ABOVE -->
+ <string name="spoken_accented_letter_1EC9">I, hook above</string>
+ <!-- Spoken description for Unicode code point U+1ECB: "ị" LATIN SMALL LETTER I WITH DOT BELOW -->
+ <string name="spoken_accented_letter_1ECB">I, dot below</string>
+ <!-- Spoken description for Unicode code point U+1ECD: "ọ" LATIN SMALL LETTER O WITH DOT BELOW -->
+ <string name="spoken_accented_letter_1ECD">O, dot below</string>
+ <!-- Spoken description for Unicode code point U+1ECF: "ỏ" LATIN SMALL LETTER O WITH HOOK ABOVE -->
+ <string name="spoken_accented_letter_1ECF">O, hook above</string>
+ <!-- Spoken description for Unicode code point U+1ED1: "ố" LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE -->
+ <string name="spoken_accented_letter_1ED1">O, circumflex and acute</string>
+ <!-- Spoken description for Unicode code point U+1ED3: "ồ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE -->
+ <string name="spoken_accented_letter_1ED3">O, circumflex and grave</string>
+ <!-- Spoken description for Unicode code point U+1ED5: "ổ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE -->
+ <string name="spoken_accented_letter_1ED5">O, circumflex and hook above</string>
+ <!-- Spoken description for Unicode code point U+1ED7: "ỗ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE -->
+ <string name="spoken_accented_letter_1ED7">O, circumflex and tilde</string>
+ <!-- Spoken description for Unicode code point U+1ED9: "ộ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW -->
+ <string name="spoken_accented_letter_1ED9">O, circumflex and dot below</string>
+ <!-- Spoken description for Unicode code point U+1EDB: "ớ" LATIN SMALL LETTER O WITH HORN AND ACUTE -->
+ <string name="spoken_accented_letter_1EDB">O, horn and acute</string>
+ <!-- Spoken description for Unicode code point U+1EDD: "ờ" LATIN SMALL LETTER O WITH HORN AND GRAVE -->
+ <string name="spoken_accented_letter_1EDD">O, horn and grave</string>
+ <!-- Spoken description for Unicode code point U+1EDF: "ở" LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE -->
+ <string name="spoken_accented_letter_1EDF">O, horn and hook above</string>
+ <!-- Spoken description for Unicode code point U+1EE1: "ỡ" LATIN SMALL LETTER O WITH HORN AND TILDE -->
+ <string name="spoken_accented_letter_1EE1">O, horn and tilde</string>
+ <!-- Spoken description for Unicode code point U+1EE3: "ợ" LATIN SMALL LETTER O WITH HORN AND DOT BELOW -->
+ <string name="spoken_accented_letter_1EE3">O, horn and dot below</string>
+ <!-- Spoken description for Unicode code point U+1EE5: "ụ" LATIN SMALL LETTER U WITH DOT BELOW -->
+ <string name="spoken_accented_letter_1EE5">U, dot below</string>
+ <!-- Spoken description for Unicode code point U+1EE7: "ủ" LATIN SMALL LETTER U WITH HOOK ABOVE -->
+ <string name="spoken_accented_letter_1EE7">U, hook above</string>
+ <!-- Spoken description for Unicode code point U+1EE9: "ứ" LATIN SMALL LETTER U WITH HORN AND ACUTE -->
+ <string name="spoken_accented_letter_1EE9">U, horn and acute</string>
+ <!-- Spoken description for Unicode code point U+1EEB: "ừ" LATIN SMALL LETTER U WITH HORN AND GRAVE -->
+ <string name="spoken_accented_letter_1EEB">U, horn and grave</string>
+ <!-- Spoken description for Unicode code point U+1EED: "ử" LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE -->
+ <string name="spoken_accented_letter_1EED">U, horn and hook above</string>
+ <!-- Spoken description for Unicode code point U+1EEF: "ữ" LATIN SMALL LETTER U WITH HORN AND TILDE -->
+ <string name="spoken_accented_letter_1EEF">U, horn and tilde</string>
+ <!-- Spoken description for Unicode code point U+1EF1: "ự" LATIN SMALL LETTER U WITH HORN AND DOT BELOW -->
+ <string name="spoken_accented_letter_1EF1">U, horn and dot below</string>
+ <!-- Spoken description for Unicode code point U+1EF3: "ỳ" LATIN SMALL LETTER Y WITH GRAVE -->
+ <string name="spoken_accented_letter_1EF3">Y, grave</string>
+ <!-- Spoken description for Unicode code point U+1EF5: "ỵ" LATIN SMALL LETTER Y WITH DOT BELOW -->
+ <string name="spoken_accented_letter_1EF5">Y, dot below</string>
+ <!-- Spoken description for Unicode code point U+1EF7: "ỷ" LATIN SMALL LETTER Y WITH HOOK ABOVE -->
+ <string name="spoken_accented_letter_1EF7">Y, hook above</string>
+ <!-- Spoken description for Unicode code point U+1EF9: "ỹ" LATIN SMALL LETTER Y WITH TILDE -->
+ <string name="spoken_accented_letter_1EF9">Y, tilde</string>
+ <!-- Spoken description for Unicode code point U+00A1: "¡" INVERTED EXCLAMATION MARK -->
+ <string name="spoken_symbol_00A1">Inverted exclamation mark</string>
+ <!-- Spoken description for Unicode code point U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+ <string name="spoken_symbol_00AB">Left-pointing double angle quotation mark</string>
+ <!-- Spoken description for Unicode code point U+00B7: "·" MIDDLE DOT -->
+ <string name="spoken_symbol_00B7">Middle dot</string>
+ <!-- Spoken description for Unicode code point U+00B9: "¹" SUPERSCRIPT ONE -->
+ <string name="spoken_symbol_00B9">Superscript one</string>
+ <!-- Spoken description for Unicode code point U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+ <string name="spoken_symbol_00BB">Right-pointing double angle quotation mark</string>
+ <!-- Spoken description for Unicode code point U+00BF: "¿" INVERTED QUESTION MARK -->
+ <string name="spoken_symbol_00BF">Inverted question mark</string>
+ <!-- Spoken description for Unicode code point U+2018: "‘" LEFT SINGLE QUOTATION MARK -->
+ <string name="spoken_symbol_2018">Left single quotation mark</string>
+ <!-- Spoken description for Unicode code point U+2019: "’" RIGHT SINGLE QUOTATION MARK -->
+ <string name="spoken_symbol_2019">Right single quotation mark</string>
+ <!-- Spoken description for Unicode code point U+201A: "‚" SINGLE LOW-9 QUOTATION MARK -->
+ <string name="spoken_symbol_201A">Single low-9 quotation mark</string>
+ <!-- Spoken description for Unicode code point U+201C: "“" LEFT DOUBLE QUOTATION MARK -->
+ <string name="spoken_symbol_201C">Left double quotation mark</string>
+ <!-- Spoken description for Unicode code point U+201D: "”" RIGHT DOUBLE QUOTATION MARK -->
+ <string name="spoken_symbol_201D">Right double quotation mark</string>
+ <!-- Spoken description for Unicode code point U+2020: "†" DAGGER -->
+ <string name="spoken_symbol_2020">Dagger</string>
+ <!-- Spoken description for Unicode code point U+2021: "‡" DOUBLE DAGGER -->
+ <string name="spoken_symbol_2021">Double dagger</string>
+ <!-- Spoken description for Unicode code point U+2030: "‰" PER MILLE SIGN -->
+ <string name="spoken_symbol_2030">Per mille sign</string>
+ <!-- Spoken description for Unicode code point U+2032: "′" PRIME -->
+ <string name="spoken_symbol_2032">Prime</string>
+ <!-- Spoken description for Unicode code point U+2033: "″" DOUBLE PRIME -->
+ <string name="spoken_symbol_2033">Double prime</string>
+ <!-- Spoken description for Unicode code point U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK -->
+ <string name="spoken_symbol_2039">Single left-pointing angle quotation mark</string>
+ <!-- Spoken description for Unicode code point U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -->
+ <string name="spoken_symbol_203A">Single right-pointing angle quotation mark</string>
+ <!-- Spoken description for Unicode code point U+2074: "⁴" SUPERSCRIPT FOUR -->
+ <string name="spoken_symbol_2074">Superscript four</string>
+ <!-- Spoken description for Unicode code point U+207F: "ⁿ" SUPERSCRIPT LATIN SMALL LETTER N -->
+ <string name="spoken_symbol_207F">Superscript latin small letter n</string>
+ <!-- Spoken description for Unicode code point U+20B1: "₱" PESO SIGN -->
+ <string name="spoken_symbol_20B1">Peso sign</string>
+ <!-- Spoken description for Unicode code point U+2105: "℅" CARE OF -->
+ <string name="spoken_symbol_2105">Care of</string>
+ <!-- Spoken description for Unicode code point U+2192: "→" RIGHTWARDS ARROW -->
+ <string name="spoken_symbol_2192">Rightwards arrow</string>
+ <!-- Spoken description for Unicode code point U+2193: "↓" DOWNWARDS ARROW -->
+ <string name="spoken_symbol_2193">Downwards arrow</string>
+ <!-- Spoken description for Unicode code point U+2205: "∅" EMPTY SET -->
+ <string name="spoken_symbol_2205">Empty set</string>
+ <!-- Spoken description for Unicode code point U+2206: "∆" INCREMENT -->
+ <string name="spoken_symbol_2206">Increment</string>
+ <!-- Spoken description for Unicode code point U+2264: "≤" LESS-THAN OR EQUAL TO -->
+ <string name="spoken_symbol_2264">Less-than or equal to</string>
+ <!-- Spoken description for Unicode code point U+2265: "≥" GREATER-THAN OR EQUAL TO -->
+ <string name="spoken_symbol_2265">Greater-than or equal to</string>
+ <!-- Spoken description for Unicode code point U+2605: "★" BLACK STAR -->
+ <string name="spoken_symbol_2605">Black star</string>
+</resources>
diff --git a/java/res/values/strings-production.xml b/java/res/values/strings-production.xml
new file mode 100644
index 000000000..8064b9949
--- /dev/null
+++ b/java/res/values/strings-production.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+ <!-- Description for option to enable sending usage statistics -->
+ <string name="enable_metrics_logging_summary" translatable="false"></string>
+</resources>
diff --git a/java/res/values/strings-talkback-descriptions.xml b/java/res/values/strings-talkback-descriptions.xml
new file mode 100644
index 000000000..80c7bdbf0
--- /dev/null
+++ b/java/res/values/strings-talkback-descriptions.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Spoken description to let the user know that when typing in a password, they can plug in a headset in to hear spoken descriptions of the keys they type. [CHAR LIMIT=NONE] -->
+ <string name="spoken_use_headphones">Plug in a headset to hear password keys spoken aloud.</string>
+
+ <!-- Spoken description for the currently entered text -->
+ <string name="spoken_current_text_is">Current text is "%s"</string>
+ <!-- Spoken description when there is no text entered -->
+ <string name="spoken_no_text_entered">No text entered</string>
+
+ <!-- Spoken description to let the user know what auto-correction will be performed when a key is pressed. An auto-correction replaces a single word with one or more words. -->
+ <string name="spoken_auto_correct"><xliff:g id="KEY_NAME" example="Space">%1$s</xliff:g> corrects <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> to <xliff:g id="CORRECTED_WORD">%3$s</xliff:g></string>
+ <!-- Spoken description used during obscured (e.g. password) entry to let the user know that auto-correction will be performed when a key is pressed. -->
+ <string name="spoken_auto_correct_obscured"><xliff:g id="KEY_NAME" example="Space">%1$s</xliff:g> performs auto-correction</string>
+
+ <!-- Spoken description for unknown keyboard keys. -->
+ <string name="spoken_description_unknown">Unknown character</string>
+ <!-- Spoken description for the "Shift" keyboard key when "Shift" is off. -->
+ <string name="spoken_description_shift">Shift</string>
+ <!-- Spoken description for the "Shift" keyboard key in symbols mode. -->
+ <string name="spoken_description_symbols_shift">More symbols</string>
+ <!-- Spoken description for the "Shift" keyboard key when "Shift" is on. -->
+ <string name="spoken_description_shift_shifted">Shift</string>
+ <!-- Spoken description for the "Shift" keyboard key in 2nd symbols (a.k.a. symbols shift) mode. -->
+ <string name="spoken_description_symbols_shift_shifted">Symbols</string>
+ <!-- Spoken description for the "Shift" keyboard key when "Caps lock" is on. -->
+ <string name="spoken_description_caps_lock">Shift</string>
+ <!-- Spoken description for the "Delete" keyboard key. -->
+ <string name="spoken_description_delete">Delete</string>
+ <!-- Spoken description for the "To Symbol" keyboard key. -->
+ <string name="spoken_description_to_symbol">Symbols</string>
+ <!-- Spoken description for the "To Alpha" keyboard key. -->
+ <string name="spoken_description_to_alpha">Letters</string>
+ <!-- Spoken description for the "To Numbers" keyboard key. -->
+ <string name="spoken_description_to_numeric">Numbers</string>
+ <!-- Spoken description for the "Settings" keyboard key. -->
+ <string name="spoken_description_settings">Settings</string>
+ <!-- Spoken description for the "Tab" keyboard key. -->
+ <string name="spoken_description_tab">Tab</string>
+ <!-- Spoken description for the "Space" keyboard key. -->
+ <string name="spoken_description_space">Space</string>
+ <!-- Spoken description for the "Mic" keyboard key. -->
+ <string name="spoken_description_mic">Voice input</string>
+ <!-- Spoken description for the "Emoji" keyboard key. -->
+ <string name="spoken_description_emoji">Emoji</string>
+ <!-- Spoken description for the "Return" keyboard key. -->
+ <string name="spoken_description_return">Return</string>
+ <!-- Spoken description for the "Search" keyboard key. -->
+ <string name="spoken_description_search">Search</string>
+ <!-- Spoken description for the "U+2022" (BULLET) keyboard key. -->
+ <string name="spoken_description_dot">Dot</string>
+ <!-- Spoken description for the "Switch language" keyboard key. -->
+ <string name="spoken_description_language_switch">Switch language</string>
+ <!-- Spoken description for the "Next" action keyboard key. -->
+ <string name="spoken_description_action_next">Next</string>
+ <!-- Spoken description for the "Previous" action keyboard key. -->
+ <string name="spoken_description_action_previous">Previous</string>
+
+ <!-- Spoken feedback after turning "Shift" mode on. -->
+ <string name="spoken_description_shiftmode_on">Shift enabled</string>
+ <!-- Spoken feedback after turning "Caps lock" mode on. -->
+ <string name="spoken_description_shiftmode_locked">Caps lock enabled</string>
+ <!-- Spoken feedback after changing to the symbols keyboard. -->
+ <string name="spoken_description_mode_symbol">Symbols mode</string>
+ <!-- Spoken feedback after changing to the 2nd symbols (a.k.a. symbols shift) keyboard. -->
+ <string name="spoken_description_mode_symbol_shift">More symbols mode</string>
+ <!-- Spoken feedback after changing to the alphanumeric keyboard. -->
+ <string name="spoken_description_mode_alpha">Letters mode</string>
+ <!-- Spoken feedback after changing to the phone dialer keyboard. -->
+ <string name="spoken_description_mode_phone">Phone mode</string>
+ <!-- Spoken feedback after changing to the shifted phone dialer (symbols) keyboard. -->
+ <string name="spoken_description_mode_phone_shift">Phone symbols mode</string>
+
+ <!-- Spoken feedback when the keyboard is hidden. -->
+ <string name="announce_keyboard_hidden">Keyboard hidden</string>
+ <!-- Spoken feedback when the keyboard mode changes. -->
+ <string name="announce_keyboard_mode">Showing <xliff:g id="KEYBOARD_MODE" example="email">%s</xliff:g> keyboard</string>
+ <!-- Description of the keyboard mode for entering dates. -->
+ <string name="keyboard_mode_date">date</string>
+ <!-- Description of the keyboard mode for entering dates and times. -->
+ <string name="keyboard_mode_date_time">date and time</string>
+ <!-- Description of the keyboard mode for entering email addresses. -->
+ <string name="keyboard_mode_email">email</string>
+ <!-- Description of the keyboard mode for entering text messages. -->
+ <string name="keyboard_mode_im">messaging</string>
+ <!-- Description of the keyboard mode for entering numbers. -->
+ <string name="keyboard_mode_number">number</string>
+ <!-- Description of the keyboard mode for entering phone numbers. -->
+ <string name="keyboard_mode_phone">phone</string>
+ <!-- Description of the keyboard mode for entering generic text. -->
+ <string name="keyboard_mode_text">text</string>
+ <!-- Description of the keyboard mode for entering times. -->
+ <string name="keyboard_mode_time">time</string>
+ <!-- Description of the keyboard mode for entering URLs. -->
+ <string name="keyboard_mode_url">URL</string>
+
+ <!-- Description of the emoji category icon of Recents. -->
+ <string name="spoken_descrption_emoji_category_recents">Recents</string>
+ <!-- Description of the emoji category icon of People. -->
+ <string name="spoken_descrption_emoji_category_people">People</string>
+ <!-- Description of the emoji category icon of Objects. -->
+ <string name="spoken_descrption_emoji_category_objects">Objects</string>
+ <!-- Description of the emoji category icon of Nature. -->
+ <string name="spoken_descrption_emoji_category_nature">Nature</string>
+ <!-- Description of the emoji category icon of Places. -->
+ <string name="spoken_descrption_emoji_category_places">Places</string>
+ <!-- Description of the emoji category icon of Symbols. -->
+ <string name="spoken_descrption_emoji_category_symbols">Symbols</string>
+ <!-- Description of the emoji category icon of Emoticons. -->
+ <string name="spoken_descrption_emoji_category_emoticons">Emoticons</string>
+
+ <!-- Description of an upper case letter of LOWER_LETTER. -->
+ <string name="spoken_description_upper_case">Capital <xliff:g id="LOWER_LETTER" example="A, E, ligature">%s</xliff:g></string>
+ <!-- Spoken description for Unicode code point U+0049: "I" LATIN CAPITAL LETTER I
+ Note that depending on locale, the lower-case of this letter is U+0069 or U+0131. -->
+ <string name="spoken_letter_0049">Capital I</string>
+ <!-- Spoken description for Unicode code point U+0130: "İ" LATIN CAPITAL LETTER I WITH DOT ABOVE
+ Note that depending on locale, the lower-case of this letter is U+0069 or U+0131. -->
+ <string name="spoken_letter_0130">Capital I, dot above</string>
+ <!-- Spoken description for unknown symbol code point. -->
+ <string name="spoken_symbol_unknown">Unknown symbol</string>
+ <!-- Spoken description for unknown emoji code point. -->
+ <string name="spoken_emoji_unknown">Unknown emoji</string>
+
+ <!-- Spoken descriptions when opening a more keys keyboard that has alternative characters. -->
+ <string name="spoken_open_more_keys_keyboard">Alternative characters are available</string>
+ <!-- Spoken descriptions when closing a more keys keyboard that has alternative characters. -->
+ <string name="spoken_close_more_keys_keyboard">Alternative characters are dismissed</string>
+
+ <!-- Spoken descriptions when opening a more suggestions panel that has alternative suggested words. -->
+ <string name="spoken_open_more_suggestions">Alternative suggestions are available</string>
+ <!-- Spoken descriptions when closing a more suggestions panel that has alternative suggested words. -->
+ <string name="spoken_close_more_suggestions">Alternative suggestions are dismissed</string>
+</resources>
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index 11b3ea3af..9ec3f469c 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -21,9 +21,6 @@
<!-- Title for Latin keyboard input options dialog [CHAR LIMIT=25] -->
<string name="english_ime_input_options">Input options</string>
- <!-- Title for Latin keyboard research log dialog, which contains special commands for users that contribute data for research. [CHAR LIMIT=33] -->
- <string name="english_ime_research_log">Research Log Commands</string>
-
<!-- Title for the spell checker option to turn on/off contact names lookup [CHAR LIMIT=25] -->
<string name="use_contacts_for_spellchecking_option_title">Look up contact names</string>
@@ -39,22 +36,18 @@
<!-- Option to control whether or not to show a popup with a larger font on each key press. -->
<string name="popup_on_keypress">Popup on keypress</string>
- <!-- Category title for general settings for Android keyboard -->
- <string name="general_category">General</string>
-
- <!-- Category title for text prediction -->
- <string name="correction_category">Text correction</string>
-
- <!-- Category title for gesture typing -->
- <string name="gesture_typing_category">Gesture typing</string>
-
- <!-- Category title for misc options -->
- <string name="misc_category">Other options</string>
-
- <!-- Option name for advanced settings screen [CHAR LIMIT=25] -->
- <string name="advanced_settings">Advanced settings</string>
- <!-- Option summary for advanced settings screen [CHAR LIMIT=65 (two lines) or 30 (fits on one line, preferable)] -->
- <string name="advanced_settings_summary">Options for experts</string>
+ <!-- Settings screen title for input preferences [CHAR LIMIT=25]-->
+ <string name="settings_screen_input">Input preferences</string>
+ <!-- Settings screen title for appearance preferences [CHAR LIMIT=25] -->
+ <string name="settings_screen_appearances">Appearance</string>
+ <!-- Settings screen title for multi lingual options [CHAR_LIMIT=25] -->
+ <string name="settings_screen_multi_lingual">Multi lingual options</string>
+ <!-- Settings screen title for gesture typing preferences [CHAR_LIMIT=25] -->
+ <string name="settings_screen_gesture">Gesture typing preferences</string>
+ <!-- Settings screen title for text correction options [CHAR_LIMIT=25] -->
+ <string name="settings_screen_correction">Text correction</string>
+ <!-- Settings screen title for advanced settings [CHAR LIMIT=25] -->
+ <string name="settings_screen_advanced">Advanced</string>
<!-- Option name for including other IMEs in the language switch list [CHAR LIMIT=30] -->
<string name="include_other_imes_in_language_switch_list">Switch to other input methods</string>
@@ -78,7 +71,7 @@
<string name="key_preview_popup_dismiss_default_delay">Default</string>
<!-- Units abbreviation for the duration (milliseconds) [CHAR LIMIT=10] -->
- <string name="abbreviation_unit_milliseconds"><xliff:g id="milliseconds">%s</xliff:g>ms</string>
+ <string name="abbreviation_unit_milliseconds"><xliff:g id="MILLISECONDS">%s</xliff:g>ms</string>
<!-- The text that represents the current settings value is the system default [CHAR LIMIT=25] -->
<string name="settings_system_default">System default</string>
@@ -87,6 +80,12 @@
<!-- Description for option enabling or disabling the use of names of people in Contacts for suggestion and correction [CHAR LIMIT=65] -->
<string name="use_contacts_dict_summary">Use names from Contacts for suggestions and corrections</string>
+ <!-- Option name for enabling the use by the keyboards of sent/received messages, e-mail and typing history to improve suggestion accuracy [CHAR LIMIT=25] -->
+ <string name="use_personalized_dicts">Personalized suggestions</string>
+
+ <!-- Option to enable sending usage statistics -->
+ <string name="enable_metrics_logging">"Improve <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+
<!-- Option name for enabling or disabling the double-space period feature that lets double tap on spacebar insert a period followed by a space [CHAR LIMIT=30] -->
<string name="use_double_space_period">Double-space period</string>
<!-- Description for option enabling or disabling the double-space period feature that lets double tap on spacebar insert a period followed by a space [CHAR LIMIT=65] -->
@@ -147,118 +146,15 @@
<string name="gesture_floating_preview_text">Dynamic floating preview</string>
<!-- Description for "gesture_floating_preview_text" option. The user can see a suggested word floating under the moving finger during a gesture input. [CHAR LIMIT=65]-->
<string name="gesture_floating_preview_text_summary">See the suggested word while gesturing</string>
-
- <!-- Indicates that a word has been added to the dictionary -->
- <string name="added_word"><xliff:g id="word">%s</xliff:g> : Saved</string>
-
- <!-- Spoken description to let the user know that when typing in a password, they can plug in a headset in to hear spoken descriptions of the keys they type. [CHAR LIMIT=NONE] -->
- <string name="spoken_use_headphones">Plug in a headset to hear password keys spoken aloud.</string>
-
- <!-- Spoken description for the currently entered text -->
- <string name="spoken_current_text_is">Current text is "%s"</string>
- <!-- Spoken description when there is no text entered -->
- <string name="spoken_no_text_entered">No text entered</string>
-
- <!-- Spoken description to let the user know what auto-correction will be performed when a key is pressed. An auto-correction replaces a single word with one or more words. -->
- <string name="spoken_auto_correct"><xliff:g id="key" example="Space">%1$s</xliff:g> corrects <xliff:g id="original_word">%2$s</xliff:g> to <xliff:g id="corrected">%3$s</xliff:g></string>
- <!-- Spoken description used during obscured (e.g. password) entry to let the user know that auto-correction will be performed when a key is pressed. -->
- <string name="spoken_auto_correct_obscured"><xliff:g id="key" example="Space">%1$s</xliff:g> performs auto-correction</string>
-
- <!-- Spoken description for unknown keyboard keys. -->
- <string name="spoken_description_unknown">Key code %d</string>
- <!-- Spoken description for the "Shift" keyboard key when "Shift" is off. -->
- <string name="spoken_description_shift">Shift</string>
- <!-- Spoken description for the "Shift" keyboard key when "Shift" is on. -->
- <string name="spoken_description_shift_shifted">Shift on (tap to disable)</string>
- <!-- Spoken description for the "Shift" keyboard key when "Caps lock" is on. -->
- <string name="spoken_description_caps_lock">Caps lock on (tap to disable)</string>
- <!-- Spoken description for the "Delete" keyboard key. -->
- <string name="spoken_description_delete">Delete</string>
- <!-- Spoken description for the "To Symbol" keyboard key. -->
- <string name="spoken_description_to_symbol">Symbols</string>
- <!-- Spoken description for the "To Alpha" keyboard key. -->
- <string name="spoken_description_to_alpha">Letters</string>
- <!-- Spoken description for the "To Numbers" keyboard key. -->
- <string name="spoken_description_to_numeric">Numbers</string>
- <!-- Spoken description for the "Settings" keyboard key. -->
- <string name="spoken_description_settings">Settings</string>
- <!-- Spoken description for the "Tab" keyboard key. -->
- <string name="spoken_description_tab">Tab</string>
- <!-- Spoken description for the "Space" keyboard key. -->
- <string name="spoken_description_space">Space</string>
- <!-- Spoken description for the "Mic" keyboard key. -->
- <string name="spoken_description_mic">Voice input</string>
- <!-- Spoken description for the "Smiley" keyboard key. -->
- <string name="spoken_description_smiley">Smiley face</string>
- <!-- Spoken description for the "Return" keyboard key. -->
- <string name="spoken_description_return">Return</string>
- <!-- Spoken description for the "Search" keyboard key. -->
- <string name="spoken_description_search">Search</string>
- <!-- Spoken description for the "U+2022" (BULLET) keyboard key. -->
- <string name="spoken_description_dot">Dot</string>
- <!-- Spoken description for the "Switch language" keyboard key. -->
- <string name="spoken_description_language_switch">Switch language</string>
- <!-- Spoken description for the "Next" action keyboard key. -->
- <string name="spoken_description_action_next">Next</string>
- <!-- Spoken description for the "Previous" action keyboard key. -->
- <string name="spoken_description_action_previous">Previous</string>
-
- <!-- Spoken feedback after turning "Shift" mode on. -->
- <string name="spoken_description_shiftmode_on">Shift enabled</string>
- <!-- Spoken feedback after turning "Caps lock" mode on. -->
- <string name="spoken_description_shiftmode_locked">Caps lock enabled</string>
- <!-- Spoken feedback after turning "Shift" mode off. -->
- <string name="spoken_description_shiftmode_off">Shift disabled</string>
-
- <!-- Spoken feedback after changing to the symbols keyboard. -->
- <string name="spoken_description_mode_symbol">Symbols mode</string>
- <!-- Spoken feedback after changing to the alphanumeric keyboard. -->
- <string name="spoken_description_mode_alpha">Letters mode</string>
- <!-- Spoken feedback after changing to the phone dialer keyboard. -->
- <string name="spoken_description_mode_phone">Phone mode</string>
- <!-- Spoken feedback after changing to the shifted phone dialer (symbols) keyboard. -->
- <string name="spoken_description_mode_phone_shift">Phone symbols mode</string>
-
- <!-- Spoken feedback when the keyboard is hidden. -->
- <string name="announce_keyboard_hidden">Keyboard hidden</string>
- <!-- Spoken feedback when the keyboard mode changes. -->
- <string name="announce_keyboard_mode">Showing <xliff:g id="mode" example="email">%s</xliff:g> keyboard</string>
- <!-- Description of the keyboard mode for entering dates. -->
- <string name="keyboard_mode_date">date</string>
- <!-- Description of the keyboard mode for entering dates and times. -->
- <string name="keyboard_mode_date_time">date and time</string>
- <!-- Description of the keyboard mode for entering email addresses. -->
- <string name="keyboard_mode_email">email</string>
- <!-- Description of the keyboard mode for entering text messages. -->
- <string name="keyboard_mode_im">messaging</string>
- <!-- Description of the keyboard mode for entering numbers. -->
- <string name="keyboard_mode_number">number</string>
- <!-- Description of the keyboard mode for entering phone numbers. -->
- <string name="keyboard_mode_phone">phone</string>
- <!-- Description of the keyboard mode for entering generic text. -->
- <string name="keyboard_mode_text">text</string>
- <!-- Description of the keyboard mode for entering times. -->
- <string name="keyboard_mode_time">time</string>
- <!-- Description of the keyboard mode for entering URLs. -->
- <string name="keyboard_mode_url">URL</string>
+ <!-- Option to enable space aware gesture input. The user can input multiple words by gliding through the space key during a gesture input. [CHAR LIMIT=30]-->
+ <string name="gesture_space_aware">Phrase gesture</string>
+ <!-- Description for "gesture_space_aware" option. The user can input multiple words by gliding through the space key during a gesture input.[CHAR LIMIT=65]-->
+ <string name="gesture_space_aware_summary">Input spaces during gestures by gliding to the space key</string>
<!-- Preferences item for enabling speech input -->
<string name="voice_input">Voice input key</string>
-
- <!-- Voice Input modes -->
- <!-- On settings screen, voice input pop-up menu option to show voice key on main keyboard [CHAR LIMIT=20] -->
- <string name="voice_input_modes_main_keyboard">On main keyboard</string>
- <!-- On settings screen, voice input pop-up menu option to show voice key on symbols keyboard [CHAR LIMIT=20] -->
- <string name="voice_input_modes_symbols_keyboard">On symbols keyboard</string>
- <!-- On settings screen, voice input pop-up menu option to never show voice key [CHAR LIMIT=20] -->
- <string name="voice_input_modes_off">Off</string>
- <!-- Voice Input modes summary -->
- <!-- On settings screen, voice input pop-up menu summary text to show voice key on main keyboard [CHAR LIMIT=20] -->
- <string name="voice_input_modes_summary_main_keyboard">Mic on main keyboard</string>
- <!-- On settings screen, voice input pop-up menu summary text to show voice key on symbols keyboard [CHAR LIMIT=20] -->
- <string name="voice_input_modes_summary_symbols_keyboard">Mic on symbols keyboard</string>
- <!-- On settings screen, voice input pop-up menu summary text to never show voice key [CHAR LIMIT=20] -->
- <string name="voice_input_modes_summary_off">Voice input is disabled</string>
+ <!-- The summary text to describe the reason why the "Voice input key" option is disabled. [CHAR LIMIT=100] -->
+ <string name="voice_input_disabled_summary">No voice input methods enabled. Check Language &amp; input settings.</string>
<!-- Title for configuring input method settings [CHAR LIMIT=35] -->
<string name="configure_input_method">Configure input methods</string>
@@ -266,68 +162,8 @@
<!-- Title for input language selection screen -->
<string name="language_selection_title">Input languages</string>
- <!-- Title for dialog option to let users cancel logging and delete log for this session [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_do_not_log_this_session" translatable="false">Suspend logging</string>
- <!-- Title for dialog option to let users reenable logging [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_enable_session_logging" translatable="false">Enable logging</string>
- <!-- Toast notification that the system is processing the request to delete the log for this session [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_notify_session_log_deleting" translatable="false">Deleting session log</string>
- <!-- Toast notification that the system has successfully deleted the log for this session [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_notify_logging_suspended" translatable="false">Logging temporarily suspended. To disable permanently, go to Android Keyboard Settings</string>
- <!-- Toast notification that the system has failed to delete the log for this session [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_notify_session_log_not_deleted" translatable="false">Session log NOT deleted</string>
- <!-- Toast notification that the system is enabling logging [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_notify_session_logging_enabled" translatable="false">Session logging enabled</string>
-
- <!-- Text for checkbox option to include user data in feedback for research purposes [CHAR LIMIT=50] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_include_history_label" translatable="false">Include session history</string>
- <!-- Text for checkbox option to include user account name in feedback for research purposes [CHAR LIMIT=50] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_include_account_name_label" translatable="false">Include account name</string>
- <!-- Text for checkbox option to include a recording in feedback for research purposes [CHAR LIMIT=50] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_include_recording_label" translatable="false">Include recorded demonstration</string>
- <!-- Dialog button choice to send research feedback [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_send" translatable="false">Send</string>
- <!-- Dialog button choice to cancel sending research feedback [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_cancel" translatable="false">Cancel</string>
- <!-- Temporary notification to provide user with instructions about stopping a recording
- - operation[CHAR LIMIT=100] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_demonstration_instructions" translatable="false">Please demonstrate the issue you are writing about.\n\nWhen finished, select the \"Bug?\" button again."</string>
<!-- Title of a preference to send feedback. [CHAR LIMIT=30]-->
<string name="send_feedback">Send feedback</string>
- <!-- Temporary notification of recording failure [CHAR LIMIT=100] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_recording_failure" translatable="false">Recording cancelled due to timeout</string>
- <!-- Toast notification to ask user to quit the research feedback dialog to perform this operation [CHAR LIMIT=100] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_please_exit_feedback_form" translatable="false">Please exit the feedback dialog to access the research log menu</string>
-
- <!-- Title of dialog shown at start informing users about contributing research usage data-->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_splash_title" translatable="false">Warning</string>
-
- <!-- Toast message informing users that logging has been disabled -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_logging_disabled" translatable="false">Logging Disabled</string>
-
- <!-- Name for the research uploading service to be displayed to users. [CHAR LIMIT=50] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_log_uploader_name" translatable="false">Research Uploader Service</string>
-
- <!-- Name for the research replaying service to be displayed to users. [CHAR LIMIT=50] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_log_replayer_name" translatable="false">Research Replayer Service</string>
<!-- Preference for input language selection -->
<string name="select_language">Input languages</string>
@@ -338,40 +174,43 @@
<!-- Inform the user that a particular language has an available dictionary -->
<string name="has_dictionary">Dictionary available</string>
- <!-- Preferences item for enabling to send user statistics for development only diagnostics -->
- <string name="prefs_enable_log">Enable user feedback</string>
- <!-- Description for enabling to send user statistics for development only diagnostics -->
- <string name="prefs_description_log">Help improve this input method editor by automatically sending usage statistics and crash reports</string>
-
<!-- Title of the item to change the keyboard theme [CHAR LIMIT=20]-->
<string name="keyboard_layout">Keyboard theme</string>
- <!-- Description for English (United Kingdom) keyboard subtype [CHAR LIMIT=25] -->
+ <!-- Description for English (UK) keyboard subtype [CHAR LIMIT=25]
+ (UK) should be an abbreviation of United Kingdom to fit in the CHAR LIMIT. -->
<string name="subtype_en_GB">English (UK)</string>
- <!-- Description for English (United States) keyboard subtype [CHAR LIMIT=25] -->
+ <!-- Description for English (US) keyboard subtype [CHAR LIMIT=25]
+ (US) should be an abbreviation of United States to fit in the CHAR LIMIT. -->
<string name="subtype_en_US">English (US)</string>
- <!-- Description for Spanish (United States) keyboard subtype [CHAR LIMIT=25] -->
+ <!-- Description for Spanish (US) keyboard subtype [CHAR LIMIT=25]
+ (US) should be an abbreviation of United States to fit in the CHAR LIMIT. -->
<string name="subtype_es_US">Spanish (US)</string>
- <!-- Description for English (United Kingdom) keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
+ <!-- Description for English (UK) keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
+ (UK) should be an abbreviation of United Kingdom to fit in the CHAR LIMIT.
This should be identical to subtype_en_GB aside from the trailing (%s). -->
- <string name="subtype_with_layout_en_GB">English (UK) (<xliff:g id="layout">%s</xliff:g>)</string>
- <!-- Description for English (United States) keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
+ <string name="subtype_with_layout_en_GB">English (UK) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <!-- Description for English (US) keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
+ (US) should be an abbreviation of United States to fit in the CHAR LIMIT.
This should be identical to subtype_en_US aside from the trailing (%s). -->
- <string name="subtype_with_layout_en_US">English (US) (<xliff:g id="layout">%s</xliff:g>)</string>
- <!-- Description for Spanish (United States) keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
+ <string name="subtype_with_layout_en_US">English (US) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <!-- Description for Spanish (US) keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
+ (US) should be an abbreviation of United Statesn to fit in the CHAR LIMIT.
This should be identical to subtype_es_US aside from the trailing (%s). -->
- <string name="subtype_with_layout_es_US">Spanish (US) (<xliff:g id="layout">%s</xliff:g>)</string>
- <!-- Description for Nepali (Traditional) keyboard subtype [CHAR LIMIT=25] -->
- <string name="subtype_nepali_traditional"><xliff:g id="language">%s</xliff:g> (Traditional)</string>
- <!-- TODO: Uncomment once we can handle IETF language tag with script name specified.
- Description for Serbian Cyrillic keyboard subtype [CHAR LIMIT=25]
- <string name="subtype_serbian_cyrillic">Serbian (Cyrillic)</string>
- Description for Serbian Latin keyboard subtype [CHAR LIMIT=25]
- <string name="subtype_serbian_latin">Serbian (Latin)</string>
- Description for Serbian Latin keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
- This should be identical to subtype_serbian_latin aside from the trailing (%s).
- <string name="subtype_with_layout_sr-Latn">Serbian (Latin) (<xliff:g id="layout">%s</xliff:g>)</string>
- -->
+ <string name="subtype_with_layout_es_US">Spanish (US) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <!-- Description for "LANGUAGE_NAME" (Traditional) keyboard subtype [CHAR LIMIT=25]
+ (Traditional) can be an abbreviation to fit in the CHAR LIMIT. -->
+ <string name="subtype_generic_traditional"><xliff:g id="LANGUAGE_NAME" example="Nepali">%s</xliff:g> (Traditional)</string>
+ <!-- Description for "LANGUAGE_NAME" (Compact) keyboard subtype [CHAR LIMIT=25]
+ (Compact) can be an abbreviation to fit in the CHAR LIMIT.
+ TODO: Remove translatable=false once we are settled down with the naming. -->
+ <string name="subtype_generic_compact" translatable="false"><xliff:g id="LANGUAGE_NAME" example="Hindi">%s</xliff:g> (Compact)</string>
+ <!-- Description for "LANGUAGE_NAME" (Cyrillic) keyboard subtype [CHAR LIMIT=25]
+ (Cyrillic) can be an abbreviation to fit in the CHAR LIMIT. -->
+ <string name="subtype_generic_cyrillic"><xliff:g id="LANGUAGE_NAME" example="Serbian">%s</xliff:g> (Cyrillic)</string>
+ <!-- Description for "LANGUAGE_NAME" (Latin) keyboard subtype [CHAR LIMIT=25]
+ (Latin) can be an abbreviation to fit in the CHAR LIMIT. -->
+ <string name="subtype_generic_latin"><xliff:g id="LANGUAGE_NAME" example="Serbian">%s</xliff:g> (Latin)</string>
<!-- This string is displayed in a language list that allows to choose a language for
suggestions in a software keyboard. This setting won't give suggestions in any particular
language, hence "No language".
@@ -452,12 +291,16 @@ mobile devices. [CHAR LIMIT=25] -->
<!-- Description for Emoji keyboard subtype [CHAR LIMIT=25] -->
<string name="subtype_emoji">Emoji</string>
- <!-- Title of the preference settings for switching keyboard color scheme [CHAR LIMIT=35] -->
- <string name="keyboard_color_scheme">Color scheme</string>
- <!-- The keyboard color scheme name, White [CHAR LIMIT=16] -->
- <string name="keyboard_color_scheme_white">White</string>
- <!-- The keyboard color scheme name, Blue [CHAR LIMIT=16] -->
- <string name="keyboard_color_scheme_blue">Blue</string>
+ <!-- Title of the preference settings for switching keyboard theme [CHAR LIMIT=35] -->
+ <string name="keyboard_theme">Keyboard theme</string>
+ <!-- The keyboard theme name, Holo White [CHAR LIMIT=25] -->
+ <string name="keyboard_theme_holo_white">Holo White</string>
+ <!-- The keyboard theme name, Holo Blue [CHAR LIMIT=25] -->
+ <string name="keyboard_theme_holo_blue">Holo Blue</string>
+ <!-- The keyboard theme name, Material Dark [CHAR LIMIT=25] -->
+ <string name="keyboard_theme_material_dark">Material Dark</string>
+ <!-- The keyboard theme name, Material Light [CHAR LIMIT=25] -->
+ <string name="keyboard_theme_material_light">Material Light</string>
<!-- Title of the preference settings for custom input styles (language and keyboard layout pairs) [CHAR LIMIT=35]-->
<string name="custom_input_styles_title">Custom input styles</string>
@@ -480,36 +323,40 @@ mobile devices. [CHAR LIMIT=25] -->
<!-- Title of the button to postpone enabling a custom input style entry in the settings dialog [CHAR LIMIT=15] -->
<string name="not_now">Not now</string>
<!-- Toast text to describe the same input style already exists [CHAR LIMIT=64]-->
- <string name="custom_input_style_already_exists">"The same input style already exists: <xliff:g id="input_style_name">%s</xliff:g>"</string>
+ <string name="custom_input_style_already_exists">"The same input style already exists: <xliff:g id="INPUT_STYLE_NAME" example="English (Dvorak)">%s</xliff:g>"</string>
- <!-- Title of an option for usability study mode -->
- <string name="prefs_usability_study_mode">Usability study mode</string>
<!-- Title of the settings for key long press delay [CHAR LIMIT=35] -->
<string name="prefs_key_longpress_timeout_settings">Key long press delay</string>
<!-- Title of the settings for keypress vibration duration [CHAR LIMIT=35] -->
<string name="prefs_keypress_vibration_duration_settings">Keypress vibration duration</string>
<!-- Title of the settings for keypress sound volume [CHAR LIMIT=35] -->
<string name="prefs_keypress_sound_volume_settings">Keypress sound volume</string>
+ <!-- Title of the settings for key popup show up animation duration (in milliseconds) [CHAR LIMIT=35] -->
+ <string name="prefs_key_popup_show_up_duration_settings" translatable="false">Key popup show up duration</string>
+ <!-- Title of the settings for key popup dismiss animation duration (in milliseconds) [CHAR LIMIT=35] -->
+ <string name="prefs_key_popup_dismiss_duration_settings" translatable="false">Key popup dismiss duration</string>
+ <!-- Title of the settings for key popup show up animation start scale (in percentile) [CHAR LIMIT=35] -->
+ <string name="prefs_key_popup_show_up_start_scale_settings" translatable="false">Key popup show up start scale</string>
+ <!-- Title of the settings for key popup dismiss animation end scale (in percentile) [CHAR LIMIT=35] -->
+ <string name="prefs_key_popup_dismiss_end_scale_settings" translatable="false">Key popup dismiss end scale</string>
<!-- Title of the settings for reading an external dictionary file -->
<string name="prefs_read_external_dictionary">Read external dictionary file</string>
- <!-- Title of the settings for using only personalization dictionary -->
- <string name="prefs_use_only_personalization_dictionary" translatable="false">Use only personalization dictionary</string>
- <!-- Title of the settings for boosting personalization dictionary -->
- <string name="prefs_boost_personalization_dictionary" translatable="false">Boost personalization dictionary</string>
<!-- Message to show when there are no files to install as an external dictionary [CHAR LIMIT=100] -->
<string name="read_external_dictionary_no_files_message">No dictionary files in the Downloads folder</string>
<!-- Title of the dialog that selects a file to install as an external dictionary [CHAR LIMIT=50] -->
<string name="read_external_dictionary_multiple_files_title">Select a dictionary file to install</string>
<!-- Title of the confirmation dialog to install a file as an external dictionary [CHAR LIMIT=50] -->
- <string name="read_external_dictionary_confirm_install_message">Really install this file for <xliff:g id="locale_name">%s</xliff:g>?</string>
+ <string name="read_external_dictionary_confirm_install_message">Really install this file for <xliff:g id="LANGUAGE_NAME" example="English">%s</xliff:g>?</string>
<!-- Title for an error dialog that contains the details of the error in the body [CHAR LIMIT=80] -->
<string name="error">There was an error</string>
+ <!-- Title of the settings group for dumpping dictionary files that have been created on the device [CHAR LIMIT=35] -->
+ <string name="prefs_dump_dynamic_dicts" translatable="false">Dump dictionary</string>
<!-- Title of the button to revert to the default value of the device in the settings dialog [CHAR LIMIT=15] -->
<string name="button_default">Default</string>
<!-- Title of the setup wizard welcome screen. [CHAR LIMT=40] -->
- <string name="setup_welcome_title">"Welcome to <xliff:g id="application_name">%s</xliff:g>"</string>
+ <string name="setup_welcome_title">"Welcome to <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
<!-- Additional title of the setup wizard welcome screen, just below the setup_welcome_title. [CHAR_LIMIT=64] -->
<string name="setup_welcome_additional_description">with Gesture Typing</string>
<!-- The label of the button that starts the setup wizard. [CHAR_LIMIT=64] -->
@@ -517,23 +364,23 @@ mobile devices. [CHAR LIMIT=25] -->
<!-- The label of the button that navigates the user to the next step of the setup wizard. [CHAR_LIMIT=64] -->
<string name="setup_next_action">Next step</string>
<!-- Title of the setup wizard. [CHAR LIMT=40] -->
- <string name="setup_steps_title">"Setting up <xliff:g id="application_name">%s</xliff:g>"</string>
+ <string name="setup_steps_title">"Setting up <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
<!-- Ordinal number of the 1st step in the setup wizard. [CHAR LIMIT=5] -->
<string name="setup_step1_bullet" translatable="false">1</string>
<!-- Title of the 1st step in the setup wizard. [CHAR LIMIT=64] -->
- <string name="setup_step1_title">"Enable <xliff:g id="application_name">%s</xliff:g>"</string>
+ <string name="setup_step1_title">"Enable <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
<!-- Detailed instruction of the 1st step in the setup wizard. [CHAR LIMIT=120] -->
- <string name="setup_step1_instruction">"Please check \"<xliff:g id="application_name">%s</xliff:g>\" in your Language &amp; input settings. This will authorize it to run on your device."</string>
+ <string name="setup_step1_instruction">"Please check \"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>\" in your Language &amp; input settings. This will authorize it to run on your device."</string>
<!-- Detailed instruction of the already finished 1st step in the setup wizard. [CHAR LIMIT=120] -->
- <string name="setup_step1_finished_instruction">"<xliff:g id="application_name">%s</xliff:g> is already enabled in your Language &amp; input settings, so this step is done. On to the next one!"</string>
+ <string name="setup_step1_finished_instruction">"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g> is already enabled in your Language &amp; input settings, so this step is done. On to the next one!"</string>
<!-- The label of the button that triggers the Language & input settings in order to enable the keyboard. [CHAR_LIMIT=64] -->
<string name="setup_step1_action">Enable in Settings</string>
<!-- Ordinal number of the 2nd step in the setup wizard. [CHAR LIMIT=5] -->
<string name="setup_step2_bullet" translatable="false">2</string>
<!-- Title of the 2nd step in the setup wizard. [CHAR LIMIT=64] -->
- <string name="setup_step2_title">"Switch to <xliff:g id="application_name">%s</xliff:g>"</string>
+ <string name="setup_step2_title">"Switch to <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
<!-- Detailed instruction of the 2nd step in the setup wizard. [CHAR LIMIT=120] -->
- <string name="setup_step2_instruction">"Next, select \"<xliff:g id="application_name">%s</xliff:g>\" as your active text-input method."</string>
+ <string name="setup_step2_instruction">"Next, select \"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>\" as your active text-input method."</string>
<!-- The label of the button that triggers the choose input method dialog in order to select the keyboard. [CHAR_LIMIT=64] -->
<string name="setup_step2_action">Switch input methods</string>
<!-- Ordinal number of the 3rd step in the setup wizard. [CHAR LIMIT=5] -->
@@ -541,7 +388,7 @@ mobile devices. [CHAR LIMIT=25] -->
<!-- Title of the 3rd step in the setup wizard. [CHAR LIMIT=64] -->
<string name="setup_step3_title">"Congratulations, you're all set!"</string>
<!-- Detailed instruction of the 3rd step in the setup wizard. [CHAR LIMIT=120] -->
- <string name="setup_step3_instruction">Now you can type in all your favorite apps with <xliff:g id="application_name">%s</xliff:g>.</string>
+ <string name="setup_step3_instruction">Now you can type in all your favorite apps with <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>.</string>
<!-- The label of the button that triggers the screen for configuaring additional languages of the keyboard. [CHAR_LIMIT=64] -->
<string name="setup_step3_action">Configure additional languages</string>
<!-- The label of the button that finishes the setup wizard. [CHAR_LIMIT=64] -->
@@ -592,13 +439,15 @@ mobile devices. [CHAR LIMIT=25] -->
<!-- Message to display in a dialog box while we are actively updating the word list [CHAR LIMIT=60] -->
<string name="message_updating">Checking for updates</string>
<!-- Message to display while the add-on dictionary list is updating [no space constraints on this, there is plenty of space but shorter is better because it's only on the screen for a second] -->
- <string name="message_loading">Loading...</string>
+ <string name="message_loading">Loading&#x2026;</string>
<!-- String to explain this dictionary is the main dictionary for this language [CHAR_LIMIT=30] -->
<string name="main_dict_description">Main dictionary</string>
<!-- Standard message to dismiss a dialog box -->
<string name="cancel">Cancel</string>
+ <!-- Title of the button in a dialog box. The button takes the user to the keyboard settings. [CHAR LIMIT=15] -->
+ <string name="go_to_settings">Settings</string>
<!-- Action to download and install a dictionary [CHAR_LIMIT=15] -->
<string name="install_dict">Install</string>
@@ -609,24 +458,24 @@ mobile devices. [CHAR LIMIT=25] -->
<!-- Message in the popup informing the user a dictionary is available for their language, and asking for a decision to download over their mobile data plan or not. The reason we ask for this is, the data is large and may be downloaded over a paid-per-megabyte connection but a dictionary is also essential to type comfortably, so we ask the user. This only pops in selected cases, when there is no dictionary at all currently, and the only available network seems to be metered. The "Language & input" part should be set to the actual name of the option (message ID 5292716747264442359 in the translation console). [CHAR_LIMIT=700] -->
<string name="should_download_over_metered_prompt">The selected language on your mobile device has an available dictionary.&lt;br/>
-We recommend &lt;b>downloading&lt;/b> the <xliff:g id="language" example="English">%1$s</xliff:g> dictionary to improve your typing experience.&lt;br/>
+We recommend &lt;b>downloading&lt;/b> the <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g> dictionary to improve your typing experience.&lt;br/>
&lt;br/>
The download could take a minute or two over 3G. Charges may apply if you don\'t have an &lt;b>unlimited data plan&lt;/b>.&lt;br/>
If you are not sure which data plan you have, we recommend finding a Wi-Fi connection to start the download automatically.&lt;br/>
&lt;br/>
Tip: You can download and remove dictionaries by going to &lt;b>Language &amp; input&lt;/b> in the &lt;b>Settings&lt;/b> menu of your mobile device.</string>
- <string name="download_over_metered">Download now (<xliff:g id="size_in_megabytes" example="0.7">%1$.1f</xliff:g>MB)</string>
+ <string name="download_over_metered">Download now (<xliff:g id="SIZE_IN_MEGABYTES" example="0.7">%1$.1f</xliff:g>MB)</string>
<string name="do_not_download_over_metered">Download over Wi-Fi</string>
<!-- The text of the "dictionary available" notification. -->
- <string name="dict_available_notification_title">A dictionary is available for <xliff:g id="language" example="English">%1$s</xliff:g></string>
+ <string name="dict_available_notification_title">A dictionary is available for <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g></string>
<!-- The small subtext in the "dictionary available" notification. -->
<string name="dict_available_notification_description">Press to review and download</string>
<!-- The text of the toast warning a download is starting automatically to enable suggestions for the selected language [CHAR LIMIT=100] -->
- <string name="toast_downloading_suggestions">Downloading: suggestions for <xliff:g id="language" example="English">%1$s</xliff:g> will be ready soon.</string>
+ <string name="toast_downloading_suggestions">Downloading: suggestions for <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g> will be ready soon.</string>
<!-- Version text [CHAR LIMIT=30]-->
- <string name="version_text">Version <xliff:g id="version_number" example="1.0.1864.643521">%1$s</xliff:g></string>
+ <string name="version_text">Version <xliff:g id="VERSION_NUMBER" example="1.0.1864.643521">%1$s</xliff:g></string>
<!-- User dictionary settings -->
<!-- User dictionary settings. The summary of the listem item to go into the User dictionary settings screen. -->
diff --git a/java/res/values/themes-common.xml b/java/res/values/themes-common.xml
index 298936d9c..2b2a80aed 100644
--- a/java/res/values/themes-common.xml
+++ b/java/res/values/themes-common.xml
@@ -25,49 +25,49 @@
<item name="touchPositionCorrectionData">@array/touch_position_correction_data_default</item>
<item name="rowHeight">25%p</item>
<item name="moreKeysTemplate">@xml/kbd_more_keys_keyboard_template</item>
- <item name="keyboardLeftPadding">@fraction/keyboard_left_padding</item>
- <item name="keyboardRightPadding">@fraction/keyboard_right_padding</item>
+ <item name="keyboardLeftPadding">@fraction/config_keyboard_left_padding</item>
+ <item name="keyboardRightPadding">@fraction/config_keyboard_right_padding</item>
<item name="maxMoreKeysColumn">@integer/config_max_more_keys_column</item>
</style>
<style name="KeyboardView">
<item name="keyBackground">@drawable/btn_keyboard_key_klp</item>
- <item name="keyLetterSize">@fraction/key_letter_ratio</item>
- <item name="keyLargeLetterRatio">@fraction/key_large_letter_ratio</item>
- <item name="keyLabelSize">@fraction/key_label_ratio</item>
- <item name="keyLargeLabelRatio">@fraction/key_large_label_ratio</item>
- <item name="keyHintLetterRatio">@fraction/key_hint_letter_ratio</item>
- <item name="keyHintLabelRatio">@fraction/key_hint_label_ratio</item>
- <item name="keyShiftedLetterHintRatio">@fraction/key_uppercase_letter_ratio</item>
+ <item name="keyLetterSize">@fraction/config_key_letter_ratio</item>
+ <item name="keyLargeLetterRatio">@fraction/config_key_large_letter_ratio</item>
+ <item name="keyLabelSize">@fraction/config_key_label_ratio</item>
+ <item name="keyLargeLabelRatio">@fraction/config_key_large_label_ratio</item>
+ <item name="keyHintLetterRatio">@fraction/config_key_hint_letter_ratio</item>
+ <item name="keyHintLabelRatio">@fraction/config_key_hint_label_ratio</item>
+ <item name="keyShiftedLetterHintRatio">@fraction/config_key_shifted_letter_hint_ratio</item>
<item name="keyTypeface">normal</item>
- <item name="keyLabelHorizontalPadding">@dimen/key_label_horizontal_padding</item>
- <item name="keyHintLetterPadding">@dimen/key_hint_letter_padding</item>
- <item name="keyPopupHintLetterPadding">@dimen/key_popup_hint_letter_padding</item>
- <item name="keyShiftedLetterHintPadding">@dimen/key_uppercase_letter_padding</item>
- <item name="keyPreviewTextRatio">@fraction/key_preview_text_ratio</item>
- <item name="verticalCorrection">@dimen/keyboard_vertical_correction</item>
+ <item name="keyLabelHorizontalPadding">@dimen/config_key_label_horizontal_padding</item>
+ <item name="keyHintLetterPadding">@dimen/config_key_hint_letter_padding</item>
+ <item name="keyPopupHintLetterPadding">@dimen/config_key_popup_hint_letter_padding</item>
+ <item name="keyShiftedLetterHintPadding">@dimen/config_key_shifted_letter_hint_padding</item>
+ <item name="keyPreviewTextRatio">@fraction/config_key_preview_text_ratio</item>
+ <item name="verticalCorrection">@dimen/config_keyboard_vertical_correction</item>
<item name="backgroundDimAlpha">128</item>
- <item name="gestureFloatingPreviewTextSize">@dimen/gesture_floating_preview_text_size</item>
- <item name="gestureFloatingPreviewTextOffset">@dimen/gesture_floating_preview_text_offset</item>
- <item name="gestureFloatingPreviewHorizontalPadding">@dimen/gesture_floating_preview_horizontal_padding</item>
- <item name="gestureFloatingPreviewVerticalPadding">@dimen/gesture_floating_preview_vertical_padding</item>
- <item name="gestureFloatingPreviewRoundRadius">@dimen/gesture_floating_preview_round_radius</item>
- <item name="gestureTrailMinSamplingDistance">@dimen/gesture_trail_min_sampling_distance</item>
- <item name="gestureTrailMaxInterpolationAngularThreshold">@integer/gesture_trail_max_interpolation_angular_threshold</item>
- <item name="gestureTrailMaxInterpolationDistanceThreshold">@dimen/gesture_trail_max_interpolation_distance_threshold</item>
- <item name="gestureTrailMaxInterpolationSegments">@integer/gesture_trail_max_interpolation_segments</item>
+ <item name="gestureFloatingPreviewTextSize">@dimen/config_gesture_floating_preview_text_size</item>
+ <item name="gestureFloatingPreviewTextOffset">@dimen/config_gesture_floating_preview_text_offset</item>
+ <item name="gestureFloatingPreviewHorizontalPadding">@dimen/config_gesture_floating_preview_horizontal_padding</item>
+ <item name="gestureFloatingPreviewVerticalPadding">@dimen/config_gesture_floating_preview_vertical_padding</item>
+ <item name="gestureFloatingPreviewRoundRadius">@dimen/config_gesture_floating_preview_round_radius</item>
+ <item name="gestureTrailMinSamplingDistance">@dimen/config_gesture_trail_min_sampling_distance</item>
+ <item name="gestureTrailMaxInterpolationAngularThreshold">@integer/config_gesture_trail_max_interpolation_angular_threshold</item>
+ <item name="gestureTrailMaxInterpolationDistanceThreshold">@dimen/config_gesture_trail_max_interpolation_distance_threshold</item>
+ <item name="gestureTrailMaxInterpolationSegments">@integer/config_gesture_trail_max_interpolation_segments</item>
<item name="gestureTrailFadeoutStartDelay">@integer/config_gesture_trail_fadeout_start_delay</item>
<item name="gestureTrailFadeoutDuration">@integer/config_gesture_trail_fadeout_duration</item>
<item name="gestureTrailUpdateInterval">@integer/config_gesture_trail_update_interval</item>
- <item name="gestureTrailStartWidth">@dimen/gesture_trail_start_width</item>
- <item name="gestureTrailEndWidth">@dimen/gesture_trail_end_width</item>
- <item name="gestureTrailBodyRatio">@integer/gesture_trail_body_ratio</item>
- <item name="gestureTrailShadowRatio">@integer/gesture_trail_shadow_ratio</item>
+ <item name="gestureTrailStartWidth">@dimen/config_gesture_trail_start_width</item>
+ <item name="gestureTrailEndWidth">@dimen/config_gesture_trail_end_width</item>
+ <item name="gestureTrailBodyRatio">@integer/config_gesture_trail_body_ratio</item>
+ <item name="gestureTrailShadowRatio">@integer/config_gesture_trail_shadow_ratio</item>
<!-- Common attributes of MainKeyboardView -->
<item name="keyHysteresisDistance">@dimen/config_key_hysteresis_distance</item>
<item name="keyHysteresisDistanceForSlidingModifier">@dimen/config_key_hysteresis_distance_for_sliding_modifier</item>
<item name="touchNoiseThresholdTime">@integer/config_touch_noise_threshold_time</item>
<item name="touchNoiseThresholdDistance">@dimen/config_touch_noise_threshold_distance</item>
- <item name="slidingKeyInputEnable">@bool/config_sliding_key_input_enabled</item>
+ <item name="keySelectionByDraggingFinger">@bool/config_key_selection_by_dragging_finger</item>
<item name="slidingKeyInputPreviewWidth">@dimen/config_sliding_key_input_preview_width</item>
<item name="slidingKeyInputPreviewBodyRatio">@integer/config_sliding_key_input_preview_body_ratio</item>
<item name="slidingKeyInputPreviewShadowRatio">@integer/config_sliding_key_input_preview_shadow_ratio</item>
@@ -75,11 +75,12 @@
<item name="keyRepeatInterval">@integer/config_key_repeat_interval</item>
<item name="longPressShiftLockTimeout">@integer/config_longpress_shift_lock_timeout</item>
<item name="ignoreAltCodeKeyTimeout">@integer/config_ignore_alt_code_key_timeout</item>
- <item name="keyPreviewHeight">@dimen/key_preview_height</item>
+ <item name="keyPreviewHeight">@dimen/config_key_preview_height</item>
+ <!-- TODO: consolidate key preview linger timeout with the key preview animation parameters. -->
<item name="keyPreviewLingerTimeout">@integer/config_key_preview_linger_timeout</item>
<item name="moreKeysKeyboardLayout">@layout/more_keys_keyboard</item>
<item name="showMoreKeysKeyboardAtTouchedPoint">@bool/config_show_more_keys_keyboard_at_touched_point</item>
- <item name="spacebarTextRatio">@fraction/spacebar_text_ratio</item>
+ <item name="languageOnSpacebarTextRatio">@fraction/config_language_on_spacebar_text_ratio</item>
<item name="languageOnSpacebarFinalAlpha">@integer/config_language_on_spacebar_final_alpha</item>
<item name="languageOnSpacebarFadeoutAnimator">@anim/language_on_spacebar_fadeout</item>
<!-- Remove animations for now because it could drain a non-negligible amount of battery while typing.
@@ -106,26 +107,32 @@
parent="KeyboardView" />
<!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
for instance delete button, need themed {@link KeyboardView} attributes. -->
- <style
- name="EmojiPalettesView"
- parent="KeyboardView"
- >
- <item name="emojiTabLabelColor">@color/emoji_tab_label_color_holo</item>
- </style>
+ <style name="EmojiPalettesView" />
<style name="MoreKeysKeyboard" />
<style
name="MoreKeysKeyboardView"
parent="MainKeyboardView" />
<style name="MoreKeysKeyboardContainer" />
- <style name="SuggestionStripView">
- <item name="suggestionsCountInStrip">@integer/suggestions_count_in_strip</item>
- <item name="centerSuggestionPercentile">@fraction/center_suggestion_percentile</item>
- <item name="maxMoreSuggestionsRow">@integer/max_more_suggestions_row</item>
- <item name="minMoreSuggestionsWidth">@fraction/min_more_suggestions_width</item>
+ <style name="SuggestionStripView" />
+ <style name="SuggestionWord">
+ <item name="android:minWidth">@dimen/config_suggestion_min_width</item>
+ <item name="android:textSize">@dimen/config_suggestion_text_size</item>
+ <item name="android:gravity">center</item>
+ <item name="android:paddingLeft">@dimen/config_suggestion_text_horizontal_padding</item>
+ <item name="android:paddingTop">0dp</item>
+ <item name="android:paddingRight">@dimen/config_suggestion_text_horizontal_padding</item>
+ <item name="android:paddingBottom">0dp</item>
+ <!-- Provide audio and haptic feedback by ourselves based on the keyboard settings.
+ We just need to ignore the system's audio and haptic feedback settings. -->
+ <item name="android:hapticFeedbackEnabled">false</item>
+ <item name="android:soundEffectsEnabled">false</item>
+ <item name="android:focusable">false</item>
+ <item name="android:clickable">false</item>
+ <item name="android:singleLine">true</item>
+ <item name="android:ellipsize">none</item>
</style>
- <style name="SuggestionWord" />
<style name="MoreKeysKeyboardAnimation">
<item name="android:windowEnterAnimation">@anim/more_keys_keyboard_fadein</item>
<item name="android:windowExitAnimation">@anim/more_keys_keyboard_fadeout</item>
</style>
-</resources> \ No newline at end of file
+</resources>
diff --git a/java/res/values/themes-gb.xml b/java/res/values/themes-gb.xml
deleted file mode 100644
index f52695f55..000000000
--- a/java/res/values/themes-gb.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <style name="KeyboardTheme.GB" parent="KeyboardIcons.GB">
- <item name="keyboardStyle">@style/Keyboard.GB</item>
- <item name="keyboardViewStyle">@style/KeyboardView.GB</item>
- <item name="mainKeyboardViewStyle">@style/MainKeyboardView.GB</item>
- <item name="emojiPalettesViewStyle">@style/EmojiPalettesView.GB</item>
- <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.GB</item>
- <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.GB</item>
- <item name="moreKeysKeyboardContainerStyle">@style/MoreKeysKeyboardContainer.GB</item>
- <item name="suggestionStripViewStyle">@style/SuggestionStripView.GB</item>
- <item name="suggestionWordStyle">@style/SuggestionWord.GB</item>
- </style>
- <style name="KeyboardIcons.GB">
- <!-- Keyboard icons -->
- <item name="iconShiftKey">@drawable/sym_keyboard_shift_holo_dark</item>
- <item name="iconDeleteKey">@drawable/sym_keyboard_delete_holo_dark</item>
- <item name="iconSettingsKey">@drawable/sym_keyboard_settings_holo_dark</item>
- <item name="iconSpaceKey">@drawable/sym_keyboard_space_holo_dark</item>
- <item name="iconEnterKey">@drawable/sym_keyboard_return_holo_dark</item>
- <item name="iconSearchKey">@drawable/sym_keyboard_search_holo_dark</item>
- <item name="iconTabKey">@drawable/sym_keyboard_tab_holo_dark</item>
- <item name="iconShortcutKey">@drawable/sym_keyboard_mic_holo_dark</item>
- <item name="iconShortcutForLabel">@drawable/sym_keyboard_label_mic_holo_dark</item>
- <item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space</item>
- <item name="iconShiftKeyShifted">@drawable/sym_keyboard_shift_locked_holo_dark</item>
- <!-- TODO: Needs non-holo disabled shortcut icon drawable -->
- <item name="iconShortcutKeyDisabled">@drawable/sym_keyboard_voice_off_holo_dark</item>
- <item name="iconTabKeyPreview">@drawable/sym_keyboard_feedback_tab</item>
- <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_dark</item>
- <!-- TODO: Needs dedicated black theme ZWNJ and ZWJ icons -->
- <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo_dark</item>
- <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo_dark</item>
- <item name="iconEmojiKey">@drawable/sym_keyboard_smiley_holo_dark</item>
- </style>
- <style
- name="Keyboard.GB"
- parent="Keyboard"
- >
- <!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
- <item name="themeId">1</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_gb</item>
- <item name="keyboardTopPadding">@fraction/keyboard_top_padding_gb</item>
- <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_gb</item>
- <item name="horizontalGap">@fraction/key_horizontal_gap_gb</item>
- <item name="verticalGap">@fraction/key_bottom_gap_gb</item>
- </style>
- <style
- name="KeyboardView.GB"
- parent="KeyboardView"
- >
- <item name="android:background">@drawable/keyboard_background_gb</item>
- <item name="keyBackground">@drawable/btn_keyboard_key_gb</item>
- <item name="keyTypeface">bold</item>
- <item name="keyTextColor">@color/key_text_color_gb</item>
- <item name="keyTextInactivatedColor">@color/key_text_inactivated_color_gb</item>
- <item name="keyHintLetterColor">@color/key_hint_letter_color_gb</item>
- <item name="keyHintLabelColor">@color/key_hint_label_color_gb</item>
- <item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_gb</item>
- <item name="keyShiftedLetterHintActivatedColor">@color/key_shifted_letter_hint_activated_color_gb</item>
- <item name="keyPreviewTextColor">@color/key_text_color_gb</item>
- <item name="keyTextShadowColor">@color/key_text_shadow_color_gb</item>
- <item name="keyTextShadowRadius">2.75</item>
- </style>
- <style
- name="MainKeyboardView.GB"
- parent="KeyboardView.GB"
- >
- <item name="keyPreviewLayout">@layout/key_preview_gb</item>
- <item name="keyPreviewOffset">@dimen/key_preview_offset_gb</item>
- <item name="gestureFloatingPreviewTextColor">@color/highlight_color_gb</item>
- <item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_gb</item>
- <item name="gestureTrailColor">@color/highlight_color_gb</item>
- <item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_gb</item>
- <item name="autoCorrectionSpacebarLedEnabled">true</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led_gb</item>
- <item name="spacebarTextColor">@color/spacebar_text_color_gb</item>
- <item name="spacebarTextShadowColor">@color/spacebar_text_shadow_color_gb</item>
- </style>
- <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
- for instance delete button, need themed {@link KeyboardView} attributes. -->
- <style
- name="EmojiPalettesView.GB"
- parent="KeyboardView.GB"
- >
- <item name="keyBackground">@drawable/btn_keyboard_key_functional_gb</item>
- <item name="emojiTabLabelColor">@color/emoji_tab_label_color_gb</item>
- </style>
- <style
- name="MoreKeysKeyboard.GB"
- parent="Keyboard.GB"
- >
- <item name="keyboardTopPadding">0%p</item>
- <item name="keyboardBottomPadding">0%p</item>
- <item name="horizontalGap">0%p</item>
- <item name="touchPositionCorrectionData">@null</item>
- </style>
- <style
- name="MoreKeysKeyboardView.GB"
- parent="KeyboardView.GB"
- >
- <item name="android:background">@null</item>
- <item name="keyBackground">@drawable/btn_keyboard_key_popup_gb</item>
- <item name="keyTypeface">normal</item>
- <item name="verticalCorrection">@dimen/more_keys_keyboard_vertical_correction_gb</item>
- </style>
- <style
- name="MoreKeysKeyboardContainer.GB"
- >
- <item name="android:background">@drawable/keyboard_popup_panel_background_gb</item>
- </style>
- <style
- name="SuggestionStripView.GB"
- parent="SuggestionStripView"
- >
- <item name="android:background">@drawable/keyboard_suggest_strip_gb</item>
- <item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
- <item name="colorValidTypedWord">@color/highlight_color_gb</item>
- <item name="colorTypedWord">@color/typed_word_color_gb</item>
- <item name="colorAutoCorrect">@color/highlight_color_gb</item>
- <item name="colorSuggested">@color/highlight_color_gb</item>
- <item name="alphaObsoleted">50%</item>
- </style>
- <style name="SuggestionWord.GB">
- <item name="android:background">@drawable/btn_suggestion_gb</item>
- </style>
-</resources>
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
index 432ad5122..073ae90b9 100644
--- a/java/res/values/themes-ics.xml
+++ b/java/res/values/themes-ics.xml
@@ -26,7 +26,6 @@
<item name="emojiPalettesViewStyle">@style/EmojiPalettesView.ICS</item>
<item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.ICS</item>
<item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.ICS</item>
- <item name="moreKeysKeyboardContainerStyle">@style/MoreKeysKeyboardContainer.ICS</item>
<item name="suggestionStripViewStyle">@style/SuggestionStripView.ICS</item>
<item name="suggestionWordStyle">@style/SuggestionWord.ICS</item>
</style>
@@ -36,10 +35,10 @@
>
<!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
<item name="themeId">2</item>
- <item name="keyboardTopPadding">@fraction/keyboard_top_padding_holo</item>
- <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_holo</item>
- <item name="horizontalGap">@fraction/key_horizontal_gap_holo</item>
- <item name="verticalGap">@fraction/key_bottom_gap_holo</item>
+ <item name="keyboardTopPadding">@fraction/config_keyboard_top_padding_holo</item>
+ <item name="keyboardBottomPadding">@fraction/config_keyboard_bottom_padding_holo</item>
+ <item name="horizontalGap">@fraction/config_key_horizontal_gap_holo</item>
+ <item name="verticalGap">@fraction/config_key_vertical_gap_holo</item>
<item name="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
</style>
<style
@@ -48,40 +47,52 @@
>
<item name="android:background">@drawable/keyboard_background_holo</item>
<item name="keyBackground">@drawable/btn_keyboard_key_ics</item>
+ <item name="functionalKeyBackground">@drawable/btn_keyboard_key_functional_ics</item>
+ <item name="spacebarBackground">@drawable/btn_keyboard_spacebar_ics</item>
<item name="keyTypeface">bold</item>
<item name="keyTextColor">@color/key_text_color_holo</item>
<item name="keyTextInactivatedColor">@color/key_text_inactivated_color_holo</item>
+ <item name="functionalTextColor">@color/key_text_color_holo</item>
<item name="keyHintLetterColor">@color/key_hint_letter_color_holo</item>
<item name="keyHintLabelColor">@color/key_hint_label_color_holo</item>
<item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_holo</item>
<item name="keyShiftedLetterHintActivatedColor">@color/key_shifted_letter_hint_activated_color_holo</item>
<item name="keyPreviewTextColor">@color/key_text_color_holo</item>
- <item name="keyTextShadowColor">@color/key_text_shadow_color_holo</item>
- <item name="keyTextShadowRadius">0.0</item>
+ <!-- A negative value to disable key text shadow layer. -->
+ <item name="keyTextShadowRadius">-1.0</item>
</style>
<style
name="MainKeyboardView.ICS"
parent="KeyboardView.ICS"
>
- <item name="keyPreviewLayout">@layout/key_preview_ics</item>
- <item name="keyPreviewOffset">@dimen/key_preview_offset_holo</item>
+ <item name="keyPreviewBackground">@drawable/keyboard_key_feedback_ics</item>
+ <item name="keyPreviewOffset">@dimen/config_key_preview_offset_holo</item>
<item name="gestureFloatingPreviewTextColor">@color/highlight_color_ics</item>
<item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_holo</item>
<item name="gestureTrailColor">@color/highlight_color_ics</item>
<item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_ics</item>
- <item name="autoCorrectionSpacebarLedEnabled">false</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led_holo</item>
- <item name="spacebarTextColor">@color/spacebar_text_color_holo</item>
- <item name="spacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item>
+ <item name="languageOnSpacebarTextColor">@color/spacebar_text_color_holo</item>
+ <item name="languageOnSpacebarTextShadowRadius">1.0</item>
+ <item name="languageOnSpacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item>
</style>
<!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
for instance delete button, need themed {@link KeyboardView} attributes. -->
<style
name="EmojiPalettesView.ICS"
- parent="KeyboardView.ICS"
+ parent="MainKeyboardView.ICS"
>
- <item name="keyBackgroundEmojiFunctional">@drawable/btn_keyboard_key_functional_ics</item>
- <item name="emojiTabLabelColor">@color/emoji_tab_label_color_holo</item>
+ <item name="categoryIndicatorEnabled">true</item>
+ <item name="categoryIndicatorDrawable">@drawable/emoji_category_tab_selected_ics</item>
+ <item name="categoryIndicatorBackground">@drawable/emoji_category_tab_unselected_holo_dark</item>
+ <item name="categoryPageIndicatorColor">@color/highlight_color_ics</item>
+ <item name="categoryPageIndicatorBackground">@color/emoji_tab_page_indicator_background_holo</item>
+ <item name="iconEmojiRecentsTab">@drawable/ic_emoji_recents_holo_dark</item>
+ <item name="iconEmojiCategory1Tab">@drawable/ic_emoji_people_holo_dark</item>
+ <item name="iconEmojiCategory2Tab">@drawable/ic_emoji_objects_holo_dark</item>
+ <item name="iconEmojiCategory3Tab">@drawable/ic_emoji_nature_holo_dark</item>
+ <item name="iconEmojiCategory4Tab">@drawable/ic_emoji_places_holo_dark</item>
+ <item name="iconEmojiCategory5Tab">@drawable/ic_emoji_symbols_holo_dark</item>
+ <item name="iconEmojiCategory6Tab">@drawable/ic_emoji_emoticons_holo_dark</item>
</style>
<style
name="MoreKeysKeyboard.ICS"
@@ -96,29 +107,32 @@
name="MoreKeysKeyboardView.ICS"
parent="KeyboardView.ICS"
>
- <item name="android:background">@null</item>
+ <item name="android:background">@drawable/keyboard_popup_panel_background_ics</item>
<item name="keyBackground">@drawable/btn_keyboard_key_popup_ics</item>
<item name="keyTypeface">normal</item>
- <item name="verticalCorrection">@dimen/more_keys_keyboard_vertical_correction_holo</item>
- </style>
- <style
- name="MoreKeysKeyboardContainer.ICS"
- >
- <item name="android:background">@drawable/keyboard_popup_panel_background_ics</item>
+ <item name="verticalCorrection">@dimen/config_more_keys_keyboard_vertical_correction_holo</item>
</style>
<style
name="SuggestionStripView.ICS"
- parent="SuggestionStripView"
+ parent="KeyboardView.ICS"
>
+ <item name="suggestionsCountInStrip">@integer/config_suggestions_count_in_strip</item>
+ <item name="centerSuggestionPercentile">@fraction/config_center_suggestion_percentile</item>
+ <item name="maxMoreSuggestionsRow">@integer/config_max_more_suggestions_row</item>
+ <item name="minMoreSuggestionsWidth">@fraction/config_min_more_suggestions_width</item>
<item name="android:background">@drawable/keyboard_suggest_strip_holo</item>
- <item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
+ <item name="suggestionStripOptions">autoCorrectBold|validTypedWordBold</item>
<item name="colorValidTypedWord">@color/typed_word_color_ics</item>
<item name="colorTypedWord">@color/typed_word_color_ics</item>
<item name="colorAutoCorrect">@color/highlight_color_ics</item>
<item name="colorSuggested">@color/suggested_word_color_ics</item>
<item name="alphaObsoleted">70%</item>
</style>
- <style name="SuggestionWord.ICS">
+ <style
+ name="SuggestionWord.ICS"
+ parent="SuggestionWord"
+ >
<item name="android:background">@drawable/btn_suggestion_ics</item>
+ <item name="android:textColor">@color/highlight_color_ics</item>
</style>
</resources>
diff --git a/java/res/values/themes-klp.xml b/java/res/values/themes-klp.xml
index a3730019d..f895de572 100644
--- a/java/res/values/themes-klp.xml
+++ b/java/res/values/themes-klp.xml
@@ -26,7 +26,6 @@
<item name="emojiPalettesViewStyle">@style/EmojiPalettesView.KLP</item>
<item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.KLP</item>
<item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.KLP</item>
- <item name="moreKeysKeyboardContainerStyle">@style/MoreKeysKeyboardContainer.KLP</item>
<item name="suggestionStripViewStyle">@style/SuggestionStripView.KLP</item>
<item name="suggestionWordStyle">@style/SuggestionWord.KLP</item>
</style>
@@ -36,10 +35,10 @@
>
<!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
<item name="themeId">0</item>
- <item name="keyboardTopPadding">@fraction/keyboard_top_padding_holo</item>
- <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_holo</item>
- <item name="horizontalGap">@fraction/key_horizontal_gap_holo</item>
- <item name="verticalGap">@fraction/key_bottom_gap_holo</item>
+ <item name="keyboardTopPadding">@fraction/config_keyboard_top_padding_holo</item>
+ <item name="keyboardBottomPadding">@fraction/config_keyboard_bottom_padding_holo</item>
+ <item name="horizontalGap">@fraction/config_key_horizontal_gap_holo</item>
+ <item name="verticalGap">@fraction/config_key_vertical_gap_holo</item>
<item name="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
</style>
<style
@@ -48,40 +47,52 @@
>
<item name="android:background">@drawable/keyboard_background_holo</item>
<item name="keyBackground">@drawable/btn_keyboard_key_klp</item>
+ <item name="functionalKeyBackground">@drawable/btn_keyboard_key_functional_klp</item>
+ <item name="spacebarBackground">@drawable/btn_keyboard_spacebar_klp</item>
<item name="keyTypeface">bold</item>
<item name="keyTextColor">@color/key_text_color_holo</item>
<item name="keyTextInactivatedColor">@color/key_text_inactivated_color_holo</item>
+ <item name="functionalTextColor">@color/key_text_color_holo</item>
<item name="keyHintLetterColor">@color/key_hint_letter_color_holo</item>
<item name="keyHintLabelColor">@color/key_hint_label_color_holo</item>
<item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_holo</item>
<item name="keyShiftedLetterHintActivatedColor">@color/key_shifted_letter_hint_activated_color_holo</item>
<item name="keyPreviewTextColor">@color/key_text_color_holo</item>
- <item name="keyTextShadowColor">@color/key_text_shadow_color_holo</item>
- <item name="keyTextShadowRadius">0.0</item>
+ <!-- A negative value to disable key text shadow layer. -->
+ <item name="keyTextShadowRadius">-1.0</item>
</style>
<style
name="MainKeyboardView.KLP"
parent="KeyboardView.KLP"
>
- <item name="keyPreviewLayout">@layout/key_preview_klp</item>
- <item name="keyPreviewOffset">@dimen/key_preview_offset_holo</item>
+ <item name="keyPreviewBackground">@drawable/keyboard_key_feedback_klp</item>
+ <item name="keyPreviewOffset">@dimen/config_key_preview_offset_holo</item>
<item name="gestureFloatingPreviewTextColor">@color/highlight_color_klp</item>
<item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_holo</item>
<item name="gestureTrailColor">@color/highlight_color_klp</item>
<item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_klp</item>
- <item name="autoCorrectionSpacebarLedEnabled">false</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led_holo</item>
- <item name="spacebarTextColor">@color/spacebar_text_color_holo</item>
- <item name="spacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item>
+ <item name="languageOnSpacebarTextColor">@color/spacebar_text_color_holo</item>
+ <item name="languageOnSpacebarTextShadowRadius">1.0</item>
+ <item name="languageOnSpacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item>
</style>
<!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
for instance delete button, need themed {@link KeyboardView} attributes. -->
<style
name="EmojiPalettesView.KLP"
- parent="KeyboardView.KLP"
+ parent="MainKeyboardView.KLP"
>
- <item name="keyBackgroundEmojiFunctional">@drawable/btn_keyboard_key_functional_klp</item>
- <item name="emojiTabLabelColor">@color/emoji_tab_label_color_holo</item>
+ <item name="categoryIndicatorEnabled">true</item>
+ <item name="categoryIndicatorDrawable">@drawable/emoji_category_tab_selected_klp</item>
+ <item name="categoryIndicatorBackground">@drawable/emoji_category_tab_unselected_holo_dark</item>
+ <item name="categoryPageIndicatorColor">@color/highlight_color_klp</item>
+ <item name="categoryPageIndicatorBackground">@color/emoji_tab_page_indicator_background_holo</item>
+ <item name="iconEmojiRecentsTab">@drawable/ic_emoji_recents_holo_dark</item>
+ <item name="iconEmojiCategory1Tab">@drawable/ic_emoji_people_holo_dark</item>
+ <item name="iconEmojiCategory2Tab">@drawable/ic_emoji_objects_holo_dark</item>
+ <item name="iconEmojiCategory3Tab">@drawable/ic_emoji_nature_holo_dark</item>
+ <item name="iconEmojiCategory4Tab">@drawable/ic_emoji_places_holo_dark</item>
+ <item name="iconEmojiCategory5Tab">@drawable/ic_emoji_symbols_holo_dark</item>
+ <item name="iconEmojiCategory6Tab">@drawable/ic_emoji_emoticons_holo_dark</item>
</style>
<style
name="MoreKeysKeyboard.KLP"
@@ -96,29 +107,32 @@
name="MoreKeysKeyboardView.KLP"
parent="KeyboardView.KLP"
>
- <item name="android:background">@null</item>
+ <item name="android:background">@drawable/keyboard_popup_panel_background_klp</item>
<item name="keyBackground">@drawable/btn_keyboard_key_popup_klp</item>
<item name="keyTypeface">normal</item>
- <item name="verticalCorrection">@dimen/more_keys_keyboard_vertical_correction_holo</item>
- </style>
- <style
- name="MoreKeysKeyboardContainer.KLP"
- >
- <item name="android:background">@drawable/keyboard_popup_panel_background_klp</item>
+ <item name="verticalCorrection">@dimen/config_more_keys_keyboard_vertical_correction_holo</item>
</style>
<style
name="SuggestionStripView.KLP"
- parent="SuggestionStripView"
+ parent="KeyboardView.KLP"
>
+ <item name="suggestionsCountInStrip">@integer/config_suggestions_count_in_strip</item>
+ <item name="centerSuggestionPercentile">@fraction/config_center_suggestion_percentile</item>
+ <item name="maxMoreSuggestionsRow">@integer/config_max_more_suggestions_row</item>
+ <item name="minMoreSuggestionsWidth">@fraction/config_min_more_suggestions_width</item>
<item name="android:background">@drawable/keyboard_suggest_strip_holo</item>
- <item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
+ <item name="suggestionStripOptions">autoCorrectBold|validTypedWordBold</item>
<item name="colorValidTypedWord">@color/typed_word_color_klp</item>
<item name="colorTypedWord">@color/typed_word_color_klp</item>
<item name="colorAutoCorrect">@color/highlight_color_klp</item>
<item name="colorSuggested">@color/suggested_word_color_klp</item>
<item name="alphaObsoleted">70%</item>
</style>
- <style name="SuggestionWord.KLP">
+ <style
+ name="SuggestionWord.KLP"
+ parent="SuggestionWord"
+ >
<item name="android:background">@drawable/btn_suggestion_klp</item>
+ <item name="android:textColor">@color/highlight_color_klp</item>
</style>
</resources>
diff --git a/java/res/values/themes-lxx-dark.xml b/java/res/values/themes-lxx-dark.xml
new file mode 100644
index 000000000..1db8f428e
--- /dev/null
+++ b/java/res/values/themes-lxx-dark.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+ <style name="KeyboardTheme.LXX_Dark" parent="KeyboardIcons.LXX_Dark">
+ <item name="keyboardStyle">@style/Keyboard.LXX_Dark</item>
+ <item name="keyboardViewStyle">@style/KeyboardView.LXX_Dark</item>
+ <item name="mainKeyboardViewStyle">@style/MainKeyboardView.LXX_Dark</item>
+ <item name="emojiPalettesViewStyle">@style/EmojiPalettesView.LXX_Dark</item>
+ <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.LXX_Dark</item>
+ <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.LXX_Dark</item>
+ <item name="suggestionStripViewStyle">@style/SuggestionStripView.LXX_Dark</item>
+ <item name="suggestionWordStyle">@style/SuggestionWord.LXX_Dark</item>
+ </style>
+ <style
+ name="Keyboard.LXX_Dark"
+ parent="Keyboard"
+ >
+ <!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
+ <item name="themeId">3</item>
+ <item name="keyboardTopPadding">@fraction/config_keyboard_top_padding_holo</item>
+ <item name="keyboardBottomPadding">@fraction/config_keyboard_bottom_padding_holo</item>
+ <item name="horizontalGap">@fraction/config_key_horizontal_gap_holo</item>
+ <item name="verticalGap">@fraction/config_key_vertical_gap_holo</item>
+ <item name="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
+ </style>
+ <style
+ name="KeyboardView.LXX_Dark"
+ parent="KeyboardView"
+ >
+ <item name="android:background">@color/keyboard_background_lxx_dark</item>
+ <item name="keyBackground">@drawable/btn_keyboard_key_lxx_dark</item>
+ <item name="functionalKeyBackground">@drawable/btn_keyboard_key_functional_lxx_dark</item>
+ <item name="spacebarBackground">@drawable/btn_keyboard_spacebar_lxx_dark</item>
+ <item name="spacebarIconWidthRatio">0.9</item>
+ <item name="keyTypeface">normal</item>
+ <item name="keyTextColor">@color/key_text_color_lxx_dark</item>
+ <item name="keyTextInactivatedColor">@color/key_text_inactive_color_lxx_dark</item>
+ <item name="functionalTextColor">@color/key_hint_letter_color_lxx_dark</item>
+ <item name="keyHintLetterColor">@color/key_hint_letter_color_lxx_dark</item>
+ <item name="keyHintLabelColor">@color/key_text_inactive_color_lxx_dark</item>
+ <item name="keyShiftedLetterHintInactivatedColor">@color/key_text_inactive_color_lxx_dark</item>
+ <item name="keyShiftedLetterHintActivatedColor">@color/key_text_color_lxx_dark</item>
+ <item name="keyPreviewTextColor">@color/key_text_color_lxx_dark</item>
+ <!-- A negative value to disable key text shadow layer. -->
+ <item name="keyTextShadowRadius">-1.0</item>
+ </style>
+ <style
+ name="MainKeyboardView.LXX_Dark"
+ parent="KeyboardView.LXX_Dark"
+ >
+ <item name="keyPreviewBackground">@drawable/keyboard_key_feedback_lxx_dark</item>
+ <item name="keyPreviewOffset">@dimen/config_key_preview_offset_holo</item>
+ <item name="gestureFloatingPreviewTextColor">@color/highlight_color_lxx_dark</item>
+ <item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_lxx_dark</item>
+ <item name="gestureTrailColor">@color/highlight_color_lxx_dark</item>
+ <item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_lxx_dark</item>
+ <item name="languageOnSpacebarTextColor">@color/key_text_inactive_color_lxx_dark</item>
+ <!-- A negative value to disable text shadow layer. -->
+ <item name="languageOnSpacebarTextShadowRadius">-1.0</item>
+ </style>
+ <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
+ for instance delete button, need themed {@link KeyboardView} attributes. -->
+ <style
+ name="EmojiPalettesView.LXX_Dark"
+ parent="MainKeyboardView.LXX_Dark"
+ >
+ <item name="categoryIndicatorEnabled">false</item>
+ <item name="categoryPageIndicatorColor">@color/highlight_color_lxx_dark</item>
+ <item name="categoryPageIndicatorBackground">@color/emoji_tab_page_indicator_background_lxx_dark</item>
+ <!-- TODO: Update those icons to LXX_Dark theme. -->
+ <item name="iconEmojiRecentsTab">@drawable/ic_emoji_recents_holo_dark</item>
+ <item name="iconEmojiCategory1Tab">@drawable/ic_emoji_people_holo_dark</item>
+ <item name="iconEmojiCategory2Tab">@drawable/ic_emoji_objects_holo_dark</item>
+ <item name="iconEmojiCategory3Tab">@drawable/ic_emoji_nature_holo_dark</item>
+ <item name="iconEmojiCategory4Tab">@drawable/ic_emoji_places_holo_dark</item>
+ <item name="iconEmojiCategory5Tab">@drawable/ic_emoji_symbols_holo_dark</item>
+ <item name="iconEmojiCategory6Tab">@drawable/ic_emoji_emoticons_holo_dark</item>
+ </style>
+ <style
+ name="MoreKeysKeyboard.LXX_Dark"
+ parent="Keyboard.LXX_Dark"
+ >
+ <item name="keyboardTopPadding">0%p</item>
+ <item name="keyboardBottomPadding">0%p</item>
+ <item name="horizontalGap">0%p</item>
+ <item name="touchPositionCorrectionData">@null</item>
+ </style>
+ <style
+ name="MoreKeysKeyboardView.LXX_Dark"
+ parent="KeyboardView.LXX_Dark"
+ >
+ <item name="android:background">@drawable/keyboard_popup_panel_background_lxx_dark</item>
+ <!-- Reuse KLP key background -->
+ <item name="keyBackground">@drawable/btn_keyboard_key_popup_klp</item>
+ <item name="keyTypeface">normal</item>
+ <item name="verticalCorrection">@dimen/config_more_keys_keyboard_vertical_correction_holo</item>
+ </style>
+ <style
+ name="SuggestionStripView.LXX_Dark"
+ parent="KeyboardView.LXX_Dark"
+ >
+ <item name="suggestionsCountInStrip">@integer/config_suggestions_count_in_strip</item>
+ <item name="centerSuggestionPercentile">@fraction/config_center_suggestion_percentile</item>
+ <item name="maxMoreSuggestionsRow">@integer/config_max_more_suggestions_row</item>
+ <item name="minMoreSuggestionsWidth">@fraction/config_min_more_suggestions_width</item>
+ <item name="android:background">@color/suggestions_strip_background_lxx_dark</item>
+ <item name="suggestionStripOptions">autoCorrectBold|validTypedWordBold</item>
+ <item name="colorValidTypedWord">@color/typed_word_color_lxx_dark</item>
+ <item name="colorTypedWord">@color/typed_word_color_lxx_dark</item>
+ <item name="colorAutoCorrect">@color/highlight_color_lxx_dark</item>
+ <item name="colorSuggested">@color/suggested_word_color_lxx_dark</item>
+ <item name="alphaObsoleted">70%</item>
+ </style>
+ <style
+ name="SuggestionWord.LXX_Dark"
+ parent="SuggestionWord"
+ >
+ <item name="android:background">@drawable/btn_suggestion_lxx_dark</item>
+ <item name="android:textColor">@color/highlight_color_lxx_dark</item>
+ </style>
+</resources>
diff --git a/java/res/values/touch-position-correction.xml b/java/res/values/touch-position-correction.xml
index becec0e0a..e090d106b 100644
--- a/java/res/values/touch-position-correction.xml
+++ b/java/res/values/touch-position-correction.xml
@@ -37,26 +37,6 @@
</string-array>
<string-array
- name="touch_position_correction_data_gb"
- translatable="false"
- >
- <!-- First row -->
- <item>0.0091285</item>
- <item>0.1193203</item>
- <item>0.1622607</item>
-
- <!-- Second row -->
- <item>-0.0233128</item>
- <item>0.1379798</item>
- <item>0.1585229</item>
-
- <!-- Third row -->
- <item>-0.0080185</item>
- <item>0.1911477</item>
- <item>0.1570948</item>
- </string-array>
-
- <string-array
name="touch_position_correction_data_holo"
translatable="false"
>