Reset to 9bd6dac4708ad94fd0257c53e977df62b152e20c

The bulk merge from -bayo to klp-dev should not have been merged to master.

Change-Id: I527a03a76f5247e4939a672f27c314dc11cbb854
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_normal.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal.9.png
deleted file mode 100644
index 3e25180..0000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png
deleted file mode 100644
index bad360f..0000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png
deleted file mode 100644
index 49f5198..0000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_pressed.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed.9.png
deleted file mode 100644
index e784edd..0000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png
deleted file mode 100644
index a4731cf..0000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png
deleted file mode 100644
index 03e163c..0000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_launcher_keyboard.png b/java/res/drawable-hdpi/ic_launcher_keyboard.png
new file mode 100644
index 0000000..7ae00ed
--- /dev/null
+++ b/java/res/drawable-hdpi/ic_launcher_keyboard.png
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_subtype_mic_dark.png b/java/res/drawable-hdpi/ic_subtype_mic_dark.png
deleted file mode 100644
index eacbcd2..0000000
--- a/java/res/drawable-hdpi/ic_subtype_mic_dark.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background_klp.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background_klp.9.png
index 50ed568..be39415 100644
--- a/java/res/drawable-hdpi/keyboard_key_feedback_background_klp.9.png
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_settings_holo_dark.png b/java/res/drawable-hdpi/sym_keyboard_settings_holo_dark.png
index 5af09ad..2ea4a74 100644
--- a/java/res/drawable-hdpi/sym_keyboard_settings_holo_dark.png
+++ b/java/res/drawable-hdpi/sym_keyboard_settings_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal.9.png
deleted file mode 100644
index 12bc979..0000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_normal_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_off.9.png
deleted file mode 100644
index 44bd414..0000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_normal_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_on.9.png
deleted file mode 100644
index 43fdf5b..0000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_pressed.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed.9.png
deleted file mode 100644
index 1c1f3d7..0000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_pressed_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_off.9.png
deleted file mode 100644
index dacb675..0000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_pressed_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_on.9.png
deleted file mode 100644
index 3daa69f..0000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_pressed_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_launcher_keyboard.png b/java/res/drawable-mdpi/ic_launcher_keyboard.png
new file mode 100644
index 0000000..cc73f3b
--- /dev/null
+++ b/java/res/drawable-mdpi/ic_launcher_keyboard.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background_klp.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background_klp.9.png
index 564f546..625490b 100644
--- a/java/res/drawable-mdpi/keyboard_key_feedback_background_klp.9.png
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_label_mic_holo_dark.png b/java/res/drawable-mdpi/sym_keyboard_label_mic_holo_dark.png
deleted file mode 100644
index 537f39b..0000000
--- a/java/res/drawable-mdpi/sym_keyboard_label_mic_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_mic_holo_light.png b/java/res/drawable-mdpi/sym_keyboard_mic_holo_light.png
deleted file mode 100644
index 84a63dc..0000000
--- a/java/res/drawable-mdpi/sym_keyboard_mic_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_settings_holo_dark.png b/java/res/drawable-mdpi/sym_keyboard_settings_holo_dark.png
index 36c8c96..613f4dc 100644
--- a/java/res/drawable-mdpi/sym_keyboard_settings_holo_dark.png
+++ b/java/res/drawable-mdpi/sym_keyboard_settings_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_normal.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal.9.png
deleted file mode 100644
index 026005d..0000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png
deleted file mode 100644
index 38c5f24..0000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png
deleted file mode 100644
index f1223e5..0000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png
deleted file mode 100644
index ec35db5..0000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png
deleted file mode 100644
index bd30464..0000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png
deleted file mode 100644
index a3ff5d1..0000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_launcher_keyboard.png b/java/res/drawable-xhdpi/ic_launcher_keyboard.png
new file mode 100644
index 0000000..f2ac50d
--- /dev/null
+++ b/java/res/drawable-xhdpi/ic_launcher_keyboard.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_subtype_mic_dark.png b/java/res/drawable-xhdpi/ic_subtype_mic_dark.png
deleted file mode 100644
index 17581ba..0000000
--- a/java/res/drawable-xhdpi/ic_subtype_mic_dark.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_background_klp.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_background_klp.9.png
index e8c65f6..c211d89 100644
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_background_klp.9.png
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_settings_holo_dark.png b/java/res/drawable-xhdpi/sym_keyboard_settings_holo_dark.png
index 99ee97d..15a9739 100644
--- a/java/res/drawable-xhdpi/sym_keyboard_settings_holo_dark.png
+++ b/java/res/drawable-xhdpi/sym_keyboard_settings_holo_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_launcher_keyboard.png b/java/res/drawable-xxhdpi/ic_launcher_keyboard.png
new file mode 100644
index 0000000..df386e8
--- /dev/null
+++ b/java/res/drawable-xxhdpi/ic_launcher_keyboard.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/ic_subtype_mic_dark.png b/java/res/drawable-xxhdpi/ic_subtype_mic_dark.png
deleted file mode 100644
index 811103a..0000000
--- a/java/res/drawable-xxhdpi/ic_subtype_mic_dark.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_background_klp.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_klp.9.png
index 11eee94..fd2f9e5 100644
--- a/java/res/drawable-xxhdpi/keyboard_key_feedback_background_klp.9.png
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_settings_holo_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_settings_holo_dark.png
index 7041bb6..bf643e1 100644
--- a/java/res/drawable-xxhdpi/sym_keyboard_settings_holo_dark.png
+++ b/java/res/drawable-xxhdpi/sym_keyboard_settings_holo_dark.png
Binary files differ
diff --git a/java/res/drawable/btn_keyboard_spacebar_gb.xml b/java/res/drawable/btn_keyboard_spacebar_gb.xml
new file mode 100644
index 0000000..4d51f3c
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_spacebar_gb.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true"
+          android:drawable="@drawable/btn_keyboard_key_light_pressed" />
+    <item android:drawable="@drawable/btn_keyboard_key_light_normal" />
+</selector>
diff --git a/java/res/drawable/btn_keyboard_spacebar_ics.xml b/java/res/drawable/btn_keyboard_spacebar_ics.xml
new file mode 100644
index 0000000..4530ea0
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_spacebar_ics.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true"
+          android:drawable="@drawable/btn_keyboard_key_light_pressed_ics" />
+    <item android:drawable="@drawable/btn_keyboard_key_light_normal_holo" />
+</selector>
diff --git a/java/res/drawable/btn_keyboard_spacebar_klp.xml b/java/res/drawable/btn_keyboard_spacebar_klp.xml
new file mode 100644
index 0000000..6b07a39
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_spacebar_klp.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true"
+          android:drawable="@drawable/btn_keyboard_key_light_pressed_klp" />
+    <item android:drawable="@drawable/btn_keyboard_key_light_normal_holo" />
+</selector>
diff --git a/java/res/layout/emoji_keyboard_page.xml b/java/res/layout/emoji_keyboard_page.xml
index e0b752b..9afad36 100644
--- a/java/res/layout/emoji_keyboard_page.xml
+++ b/java/res/layout/emoji_keyboard_page.xml
@@ -18,16 +18,9 @@
 */
 -->
 
-<com.android.inputmethod.keyboard.internal.ScrollViewWithNotifier
+<com.android.inputmethod.keyboard.internal.EmojiPageKeyboardView
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/emoji_keyboard_scroller"
-    android:clipToPadding="false"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
->
-    <com.android.inputmethod.keyboard.internal.ScrollKeyboardView
-        android:id="@+id/emoji_keyboard_page"
-        android:layoutDirection="ltr"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-</com.android.inputmethod.keyboard.internal.ScrollViewWithNotifier>
+    android:id="@+id/emoji_keyboard_page"
+    android:layoutDirection="ltr"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content" />
diff --git a/java/res/layout/emoji_palettes_view.xml b/java/res/layout/emoji_palettes_view.xml
index 1c6da90..b252859 100644
--- a/java/res/layout/emoji_palettes_view.xml
+++ b/java/res/layout/emoji_palettes_view.xml
@@ -29,7 +29,7 @@
     <LinearLayout
         android:orientation="horizontal"
         android:layout_width="match_parent"
-        android:layout_height="@dimen/suggestions_strip_height"
+        android:layout_height="@dimen/config_suggestions_strip_height"
     >
         <TabHost
             android:id="@+id/emoji_category_tabhost"
@@ -73,7 +73,7 @@
             android:background="@color/emoji_key_background_color"
             android:src="@drawable/sym_keyboard_delete_holo_dark" />
     </LinearLayout>
-    <android.support.v4.view.ViewPager
+    <com.android.inputmethod.keyboard.internal.CustomViewPager
         android:id="@+id/emoji_keyboard_pager"
         android:layout_width="match_parent"
         android:layout_height="wrap_content" />
diff --git a/java/res/layout/hint_add_to_dictionary.xml b/java/res/layout/hint_add_to_dictionary.xml
index 68a9faf..d429082 100644
--- a/java/res/layout/hint_add_to_dictionary.xml
+++ b/java/res/layout/hint_add_to_dictionary.xml
@@ -23,7 +23,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:textSize="@dimen/suggestion_text_size"
+    android:textSize="@dimen/config_suggestion_text_size"
     android:gravity="center"
     android:paddingLeft="0dp"
     android:paddingTop="0dp"
diff --git a/java/res/layout/input_view.xml b/java/res/layout/input_view.xml
index 1e7a384..ed387e5 100644
--- a/java/res/layout/input_view.xml
+++ b/java/res/layout/input_view.xml
@@ -41,10 +41,10 @@
             android:id="@+id/suggestion_strip_view"
             android:layoutDirection="ltr"
             android:layout_width="match_parent"
-            android:layout_height="@dimen/suggestions_strip_height"
+            android:layout_height="@dimen/config_suggestions_strip_height"
             android:gravity="center_vertical"
-            android:paddingRight="@dimen/suggestions_strip_padding"
-            android:paddingLeft="@dimen/suggestions_strip_padding"
+            android:paddingRight="@dimen/config_suggestions_strip_horizontal_padding"
+            android:paddingLeft="@dimen/config_suggestions_strip_horizontal_padding"
             style="?attr/suggestionStripViewStyle" />
 
         <!-- To ensure that key preview popup is correctly placed when the current system locale is
diff --git a/java/res/layout/key_preview_klp.xml b/java/res/layout/key_preview.xml
similarity index 93%
rename from java/res/layout/key_preview_klp.xml
rename to java/res/layout/key_preview.xml
index 160aeb9..16d4c72 100644
--- a/java/res/layout/key_preview_klp.xml
+++ b/java/res/layout/key_preview.xml
@@ -21,7 +21,7 @@
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_klp"
     android:minWidth="32dp"
     android:gravity="center"
+    style="?attr/keyPreviewTextViewStyle"
 />
diff --git a/java/res/layout/key_preview_gb.xml b/java/res/layout/key_preview_gb.xml
deleted file mode 100644
index 2f2a321..0000000
--- a/java/res/layout/key_preview_gb.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, 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.
-*/
--->
-
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_gb"
-    android:minWidth="32dp"
-    android:gravity="center"
-/>
diff --git a/java/res/layout/key_preview_ics.xml b/java/res/layout/key_preview_ics.xml
deleted file mode 100644
index 33b6947..0000000
--- a/java/res/layout/key_preview_ics.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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.
-*/
--->
-
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_ics"
-    android:minWidth="32dp"
-    android:gravity="center"
-/>
diff --git a/java/res/layout/more_keys_keyboard.xml b/java/res/layout/more_keys_keyboard.xml
index 6637117..f3795af 100644
--- a/java/res/layout/more_keys_keyboard.xml
+++ b/java/res/layout/more_keys_keyboard.xml
@@ -22,11 +22,9 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:orientation="horizontal"
-    style="?attr/moreKeysKeyboardContainerStyle"
+    android:orientation="vertical"
 >
     <com.android.inputmethod.keyboard.MoreKeysKeyboardView
-        xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
         android:id="@+id/more_keys_keyboard_view"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" />
diff --git a/java/res/layout/more_suggestions.xml b/java/res/layout/more_suggestions.xml
index 8659f07..0869992 100644
--- a/java/res/layout/more_suggestions.xml
+++ b/java/res/layout/more_suggestions.xml
@@ -22,16 +22,15 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:orientation="horizontal"
-    style="?attr/moreKeysKeyboardContainerStyle"
+    android:orientation="vertical"
 >
     <com.android.inputmethod.latin.suggestions.MoreSuggestionsView
         xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
         android:id="@+id/more_suggestions_view"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        latin:keyLetterSize="@dimen/suggestion_text_size"
-        latin:keyLabelSize="@dimen/suggestion_text_size"
-        latin:keyHintLetterRatio="@fraction/more_suggestions_info_ratio"
+        latin:keyLetterSize="@dimen/config_suggestion_text_size"
+        latin:keyLabelSize="@dimen/config_suggestion_text_size"
+        latin:keyHintLetterRatio="@fraction/config_more_suggestions_info_ratio"
         latin:keyHintLetterColor="@android:color/white" />
 </LinearLayout>
diff --git a/java/res/layout/suggestion_word.xml b/java/res/layout/suggestion_word.xml
index c82a13c..47d2bd8 100644
--- a/java/res/layout/suggestion_word.xml
+++ b/java/res/layout/suggestion_word.xml
@@ -24,12 +24,12 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:minWidth="@dimen/suggestion_min_width"
-    android:textSize="@dimen/suggestion_text_size"
+    android:minWidth="@dimen/config_suggestion_min_width"
+    android:textSize="@dimen/config_suggestion_text_size"
     android:gravity="center"
-    android:paddingLeft="@dimen/suggestion_padding"
+    android:paddingLeft="@dimen/config_suggestion_text_horizontal_padding"
     android:paddingTop="0dp"
-    android:paddingRight="@dimen/suggestion_padding"
+    android:paddingRight="@dimen/config_suggestion_text_horizontal_padding"
     android:paddingBottom="0dp"
     android:hapticFeedbackEnabled="false"
     android:focusable="false"
diff --git a/java/res/layout/user_dictionary_add_word.xml b/java/res/layout/user_dictionary_add_word.xml
index bbf9b1b..607f5c4 100644
--- a/java/res/layout/user_dictionary_add_word.xml
+++ b/java/res/layout/user_dictionary_add_word.xml
@@ -52,7 +52,7 @@
         android:hint="@string/user_dict_settings_add_word_hint"
         android:imeOptions="flagNoFullscreen"
         android:inputType="textNoSuggestions"
-        android:maxLength="@integer/user_dictionary_max_word_length" >
+        android:maxLength="@integer/config_user_dictionary_max_word_length" >
 
         <requestFocus />
     </EditText>
diff --git a/java/res/layout/user_dictionary_add_word_fullscreen.xml b/java/res/layout/user_dictionary_add_word_fullscreen.xml
index 219485b..9bcb189 100644
--- a/java/res/layout/user_dictionary_add_word_fullscreen.xml
+++ b/java/res/layout/user_dictionary_add_word_fullscreen.xml
@@ -30,7 +30,7 @@
         android:hint="@string/user_dict_settings_add_word_hint"
         android:imeOptions="flagNoFullscreen"
         android:inputType="textNoSuggestions"
-        android:maxLength="@integer/user_dictionary_max_word_length" >
+        android:maxLength="@integer/config_user_dictionary_max_word_length" >
 
         <requestFocus />
     </EditText>
@@ -61,7 +61,7 @@
             android:hint="@string/user_dict_settings_add_shortcut_hint"
             android:imeOptions="flagNoFullscreen"
             android:inputType="textNoSuggestions"
-            android:maxLength="@integer/user_dictionary_max_word_length" />
+            android:maxLength="@integer/config_user_dictionary_max_word_length" />
 
         <TextView
             android:id="@+id/user_dictionary_add_locale_label"
diff --git a/java/res/mipmap-hdpi/ic_launcher_keyboard.png b/java/res/mipmap-hdpi/ic_launcher_keyboard.png
deleted file mode 100644
index 36b1cca..0000000
--- a/java/res/mipmap-hdpi/ic_launcher_keyboard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/mipmap-mdpi/ic_launcher_keyboard.png b/java/res/mipmap-mdpi/ic_launcher_keyboard.png
deleted file mode 100644
index 67ef189..0000000
--- a/java/res/mipmap-mdpi/ic_launcher_keyboard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/mipmap-xhdpi/ic_launcher_keyboard.png b/java/res/mipmap-xhdpi/ic_launcher_keyboard.png
deleted file mode 100644
index b332083..0000000
--- a/java/res/mipmap-xhdpi/ic_launcher_keyboard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/mipmap-xxhdpi/ic_launcher_keyboard.png b/java/res/mipmap-xxhdpi/ic_launcher_keyboard.png
deleted file mode 100644
index acc424f..0000000
--- a/java/res/mipmap-xxhdpi/ic_launcher_keyboard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/raw/main_de.dict b/java/res/raw/main_de.dict
index 69796bb..c65698d 100644
--- a/java/res/raw/main_de.dict
+++ b/java/res/raw/main_de.dict
Binary files differ
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
index 045e97d..9607ceb 100644
--- a/java/res/values-af/strings.xml
+++ b/java/res/values-af/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"tyd"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Steminvoerinstellings"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Op hoofsleutelbord"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Op simbolesleutelbord"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Af"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofoon op hoofsleutelbord"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofoon op simbolesleutelbord"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Steminvoer is gedeaktiveer"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Stel invoermetodes op"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Invoertale"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Stuur terugvoer"</string>
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml
index 0b81034..d131e34 100644
--- a/java/res/values-am/strings.xml
+++ b/java/res/values-am/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"ጊዜ"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"ዩ አር ኤል"</string>
     <string name="voice_input" msgid="3583258583521397548">"የድምፅ ግቤት ቁልፍ"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"በዋናቁልፍ ሰሌዳ ላይ"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"በምልክቶች ቁልፍ ሰሌዳ ላይ"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"ውጪ"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"ድምፅ ማጉያ በዋናው ቁልፍሰሌዳው ላይ"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"የድምፅ ማጉያ ምልክትበቁልፍ ሰሌዳላይ"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"የድምፅ ግቤት ቦዝኗል"</string>
     <string name="configure_input_method" msgid="373356270290742459">"ግቤት ሜተዶችን አዋቀር"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"ቋንቋዎች አግቤት"</string>
     <string name="send_feedback" msgid="1780431884109392046">"ግብረ-መልስ ላክ"</string>
diff --git a/java/res/values-ar/donottranslate.xml b/java/res/values-ar/config-spacing-and-punctuations.xml
similarity index 89%
rename from java/res/values-ar/donottranslate.xml
rename to java/res/values-ar/config-spacing-and-punctuations.xml
index 57de253..9e637e4 100644
--- a/java/res/values-ar/donottranslate.xml
+++ b/java/res/values-ar/config-spacing-and-punctuations.xml
@@ -21,5 +21,5 @@
     <!-- The all letters need to be mirrored are found at
          http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
     <!-- Symbols that are suggested between words -->
-    <string name="suggested_punctuations">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
+    <string name="suggested_punctuations" translatable="false">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
 </resources>
diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml
index da33119..226936b 100644
--- a/java/res/values-ar/strings.xml
+++ b/java/res/values-ar/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"الوقت"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"‏عنوان URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"مفتاح الإدخال الصوتي"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"لوحة مفاتيح رئيسية"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"لوحة مفاتيح الرموز"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"إيقاف"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"ميكروفون على لوحة مفاتيح رئيسية"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"ميكروفون على لوحة مفاتيح الرموز"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"الإدخال الصوتي مُعطل"</string>
     <string name="configure_input_method" msgid="373356270290742459">"تهيئة طرق الإدخال"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"لغات الإدخال"</string>
     <string name="send_feedback" msgid="1780431884109392046">"إرسال تعليقات"</string>
diff --git a/java/res/values-be/bools.xml b/java/res/values-be-rBY/bools.xml
similarity index 100%
rename from java/res/values-be/bools.xml
rename to java/res/values-be-rBY/bools.xml
diff --git a/java/res/values-be/strings-action-keys.xml b/java/res/values-be-rBY/strings-action-keys.xml
similarity index 100%
rename from java/res/values-be/strings-action-keys.xml
rename to java/res/values-be-rBY/strings-action-keys.xml
diff --git a/java/res/values-be/strings-appname.xml b/java/res/values-be/strings-appname.xml
deleted file mode 100644
index 2f9593b..0000000
--- a/java/res/values-be/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="english_ime_name" msgid="5940510615957428904">"Клавіятура Android (AOSP)"</string>
-    <string name="spell_checker_service_name" msgid="1254221805440242662">"Iнструмент праверкi правапiсу для Android (AOSP)"</string>
-    <string name="english_ime_settings" msgid="5760361067176802794">"Налады клавіятуры Android (AOSP)"</string>
-    <string name="android_spell_checker_settings" msgid="6123949487832861885">"Налады інструмента праверкі правапісу для Android (AOSP)"</string>
-</resources>
diff --git a/java/res/values-be/strings.xml b/java/res/values-be/strings.xml
deleted file mode 100644
index 02972f0..0000000
--- a/java/res/values-be/strings.xml
+++ /dev/null
@@ -1,253 +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 xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="english_ime_input_options" msgid="3909945612939668554">"Параметры ўводу"</string>
-    <string name="english_ime_research_log" msgid="8492602295696577851">"Каманды гiсторыя даследаванняў"</string>
-    <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Шукаць імёны кантактаў"</string>
-    <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Модуль праверкі правапісу выкарыстоўвае запісы са спісу кантактаў"</string>
-    <string name="vibrate_on_keypress" msgid="5258079494276955460">"Вібрацыя пры націску клавіш"</string>
-    <string name="sound_on_keypress" msgid="6093592297198243644">"Гук пры націску"</string>
-    <string name="popup_on_keypress" msgid="123894815723512944">"Па націску на клавішы ўсплывае акно"</string>
-    <string name="general_category" msgid="1859088467017573195">"Агульныя"</string>
-    <string name="correction_category" msgid="2236750915056607613">"Выпраўленне тэксту"</string>
-    <string name="gesture_typing_category" msgid="497263612130532630">"Набор жэстамі"</string>
-    <string name="misc_category" msgid="6894192814868233453">"Іншыя параметры"</string>
-    <string name="advanced_settings" msgid="362895144495591463">"Адмысловыя налады"</string>
-    <string name="advanced_settings_summary" msgid="4487980456152830271">"Функцыi для спецыялістаў"</string>
-    <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Перакл. да інш. спос. ув."</string>
-    <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Кнопка пераключэння мовы звязана i з iншымi спосабамi ўводу"</string>
-    <string name="show_language_switch_key" msgid="5915478828318774384">"Кнопка пераключэння мовы"</string>
-    <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Паказваць, калі ўключана некалькі моў ўводу"</string>
-    <string name="sliding_key_input_preview" msgid="6604262359510068370">"Iндыкатар слайд-шоу"</string>
-    <string name="sliding_key_input_preview_summary" msgid="6340524345729093886">"Паказаць візуальны сігнал падчас слiзгання клавiш Shift або Symbol"</string>
-    <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Затрым. скр. падк. клав."</string>
-    <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Няма затрымкі"</string>
-    <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Па змаўчанні"</string>
-    <string name="abbreviation_unit_milliseconds" msgid="8700286094028323363">"<xliff:g id="MILLISECONDS">%s</xliff:g> мс"</string>
-    <!-- no translation found for settings_system_default (6268225104743331821) -->
-    <skip />
-    <string name="use_contacts_dict" msgid="4435317977804180815">"Прапан. імёны кантактаў"</string>
-    <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Выкарыстоўваць імёны са спісу кантактаў для прапаноў і выпраўл."</string>
-    <string name="use_double_space_period" msgid="8781529969425082860">"Падвойны iнтэрвал"</string>
-    <string name="use_double_space_period_summary" msgid="6532892187247952799">"Падвойнае нацiсканне на прабел ўстаўляе iнтэрвал з наступным прабелам"</string>
-    <string name="auto_cap" msgid="1719746674854628252">"Аўтаматычна рабіць вялікія літары"</string>
-    <string name="auto_cap_summary" msgid="7934452761022946874">"Пісаць з загалоўнай літары першае слова ў кожным сказе"</string>
-    <string name="edit_personal_dictionary" msgid="3996910038952940420">"Персанальны слоўнік"</string>
-    <string name="configure_dictionaries_title" msgid="4238652338556902049">"Дадатковыя слоўнікі"</string>
-    <string name="main_dictionary" msgid="4798763781818361168">"Асноўны слоўнік"</string>
-    <string name="prefs_show_suggestions" msgid="8026799663445531637">"Паказаць прапановы на выпраўленне"</string>
-    <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Паказваць прапанаваныя словы падчас набору тэксту"</string>
-    <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Заўсёды паказваць"</string>
-    <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3859783767435239118">"Паказаць у партрэтным рэжыме"</string>
-    <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Заўседы хаваць"</string>
-    <string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"Блакіраваць абразлівыя словы"</string>
-    <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Не прапануйце патэнцыяльна абразлівых слоў"</string>
-    <string name="auto_correction" msgid="7630720885194996950">"Аўтавыпраўленне"</string>
-    <string name="auto_correction_summary" msgid="5625751551134658006">"Прабелы і пунктуацыйныя знакі дазваляюць аўтаматычна выпраўляць памылкова ўведзеныя словы"</string>
-    <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Адключаны"</string>
-    <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Сціплы"</string>
-    <!-- no translation found for auto_correction_threshold_mode_aggressive (7319007299148899623) -->
-    <skip />
-    <!-- no translation found for auto_correction_threshold_mode_very_aggressive (1853309024129480416) -->
-    <skip />
-    <string name="bigram_prediction" msgid="1084449187723948550">"Падказкi для наступнага слова"</string>
-    <string name="bigram_prediction_summary" msgid="3896362682751109677">"Выкарыстоўваць папярэдняе слова, каб атрымлiваць падказкi"</string>
-    <string name="gesture_input" msgid="826951152254563827">"Уключыць набор жэстамі"</string>
-    <string name="gesture_input_summary" msgid="9180350639305731231">"Уводзьце слова, перасоўваючы палец па літарах"</string>
-    <string name="gesture_preview_trail" msgid="3802333369335722221">"Паказаць след жэста"</string>
-    <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Дынамічны плаваючы прагляд"</string>
-    <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Праглядаць прапанаванае слова падчас жэсту"</string>
-    <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Захаваныя"</string>
-    <string name="spoken_use_headphones" msgid="896961781287283493">"Каб праслухаць паролi, падключыце гарнiтуру."</string>
-    <string name="spoken_current_text_is" msgid="2485723011272583845">"Бягучы тэкст %s"</string>
-    <string name="spoken_no_text_entered" msgid="7479685225597344496">"Тэкст не ўведзены"</string>
-    <!-- no translation found for spoken_auto_correct (8005997889020109763) -->
-    <skip />
-    <!-- no translation found for spoken_auto_correct_obscured (6276420476908833791) -->
-    <skip />
-    <string name="spoken_description_unknown" msgid="3197434010402179157">"Клавішны код %d"</string>
-    <string name="spoken_description_shift" msgid="244197883292549308">"Зрух"</string>
-    <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift уключаны (націснiце, каб адключыць)"</string>
-    <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock уключаны (націснiце, каб адключыць)"</string>
-    <string name="spoken_description_delete" msgid="8740376944276199801">"Выдаліць"</string>
-    <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Сімвалы"</string>
-    <string name="spoken_description_to_alpha" msgid="23129338819771807">"Літары"</string>
-    <string name="spoken_description_to_numeric" msgid="591752092685161732">"Лічбы"</string>
-    <string name="spoken_description_settings" msgid="4627462689603838099">"Налады"</string>
-    <string name="spoken_description_tab" msgid="2667716002663482248">"Укладка"</string>
-    <string name="spoken_description_space" msgid="2582521050049860859">"Прабел"</string>
-    <string name="spoken_description_mic" msgid="615536748882611950">"Галасавы ўвод"</string>
-    <string name="spoken_description_smiley" msgid="2256309826200113918">"Смайлік"</string>
-    <string name="spoken_description_return" msgid="8178083177238315647">"Увод"</string>
-    <string name="spoken_description_search" msgid="1247236163755920808">"Пошук"</string>
-    <string name="spoken_description_dot" msgid="40711082435231673">"Кропка"</string>
-    <string name="spoken_description_language_switch" msgid="5507091328222331316">"Пераключыць мову"</string>
-    <string name="spoken_description_action_next" msgid="8636078276664150324">"Далей"</string>
-    <string name="spoken_description_action_previous" msgid="800872415009336208">"Назад"</string>
-    <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift уключаны"</string>
-    <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock уключаны"</string>
-    <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift адключаны"</string>
-    <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Рэжым знакаў"</string>
-    <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Рэжым лiтар"</string>
-    <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Рэжым тэлефона"</string>
-    <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Рэжым тэлефонных знакаў"</string>
-    <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Клавіятура схавана"</string>
-    <string name="announce_keyboard_mode" msgid="4729081055438508321">"Паказана клавiятура ў рэжыме \" <xliff:g id="MODE">%s</xliff:g>\""</string>
-    <string name="keyboard_mode_date" msgid="3137520166817128102">"дата"</string>
-    <string name="keyboard_mode_date_time" msgid="339593358488851072">"дата i час"</string>
-    <string name="keyboard_mode_email" msgid="6216248078128294262">"электронная пошта"</string>
-    <string name="keyboard_mode_im" msgid="1137405089766557048">"абмен паведамленнямі"</string>
-    <string name="keyboard_mode_number" msgid="7991623440699957069">"нумар"</string>
-    <string name="keyboard_mode_phone" msgid="6851627527401433229">"тэлефон"</string>
-    <string name="keyboard_mode_text" msgid="6479436687899701619">"тэкст"</string>
-    <string name="keyboard_mode_time" msgid="4381856885582143277">"час"</string>
-    <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
-    <string name="voice_input" msgid="3583258583521397548">"Ключ галасавога ўводу"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"На асн. клавіятуры"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"На сімв. клавіятуры"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Адключана"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Мік. на асн. клав."</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Мік. на сімв. клав."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Галасавы набор адкл."</string>
-    <string name="configure_input_method" msgid="373356270290742459">"Налада метадаў уводу"</string>
-    <string name="language_selection_title" msgid="1651299598555326750">"Мовы ўводу"</string>
-    <string name="send_feedback" msgid="1780431884109392046">"Адправіць водгук"</string>
-    <string name="select_language" msgid="3693815588777926848">"Мовы ўводу"</string>
-    <string name="hint_add_to_dictionary" msgid="573678656946085380">"Дакраніцеся зноў, каб захаваць"</string>
-    <string name="has_dictionary" msgid="6071847973466625007">"Слоўнік даступны"</string>
-    <string name="prefs_enable_log" msgid="6620424505072963557">"Уключыць зваротную сувязь з карыстальнікамі"</string>
-    <string name="prefs_description_log" msgid="7525225584555429211">"Дапамажыце палепшыць гэты рэдактар ​​метаду ўводу, аўтаматычна адпраўляючы статыстыку выкарыстання і справаздачы аб збоях Google."</string>
-    <string name="keyboard_layout" msgid="8451164783510487501">"Тэма клавіятуры"</string>
-    <string name="subtype_en_GB" msgid="88170601942311355">"Англійская (ЗК)"</string>
-    <string name="subtype_en_US" msgid="6160452336634534239">"Англійская (ЗША)"</string>
-    <string name="subtype_es_US" msgid="5583145191430180200">"iспанская (ЗША)"</string>
-    <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Англійская (Вялікабрытанія) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
-    <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Англійская (ЗША) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
-    <string name="subtype_with_layout_es_US" msgid="6261791057007890189">"iспанская (ЗША) ( <xliff:g id="LAYOUT">%s</xliff:g> )"</string>
-    <!-- no translation found for subtype_nepali_traditional (9032247506728040447) -->
-    <skip />
-    <!-- no translation found for subtype_no_language (7137390094240139495) -->
-    <skip />
-    <!-- no translation found for subtype_no_language_qwerty (244337630616742604) -->
-    <skip />
-    <!-- no translation found for subtype_no_language_qwertz (443066912507547976) -->
-    <skip />
-    <!-- no translation found for subtype_no_language_azerty (8144348527575640087) -->
-    <skip />
-    <!-- no translation found for subtype_no_language_dvorak (1564494667584718094) -->
-    <skip />
-    <!-- no translation found for subtype_no_language_colemak (5837418400010302623) -->
-    <skip />
-    <!-- no translation found for subtype_no_language_pcqwerty (5354918232046200018) -->
-    <skip />
-    <!-- no translation found for subtype_emoji (7483586578074549196) -->
-    <skip />
-    <string name="custom_input_styles_title" msgid="8429952441821251512">"Карыстальніцкія стылі ўводу"</string>
-    <string name="add_style" msgid="6163126614514489951">"Дадаць стыль"</string>
-    <string name="add" msgid="8299699805688017798">"Дадаць"</string>
-    <string name="remove" msgid="4486081658752944606">"Выдаліць"</string>
-    <string name="save" msgid="7646738597196767214">"Захаваць"</string>
-    <string name="subtype_locale" msgid="8576443440738143764">"Мова"</string>
-    <string name="keyboard_layout_set" msgid="4309233698194565609">"Раскладка"</string>
-    <string name="custom_input_style_note_message" msgid="8826731320846363423">"Карыстальніцкі метад уводу павінен быць уключаны, перш чым пачаць выкарыстоўваць яго. Жадаеце ўключыць яго зараз?"</string>
-    <string name="enable" msgid="5031294444630523247">"Уключыць"</string>
-    <string name="not_now" msgid="6172462888202790482">"Не цяпер"</string>
-    <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Такі метад уводу ўжо існуе: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
-    <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Рэжым даследвання выкарыстальнасці"</string>
-    <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Затрымка доўгага націску клавішы"</string>
-    <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Працягласць вібрацыі пры націску клавіш"</string>
-    <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Гучнасць гуку пры націску клавіш"</string>
-    <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Чытанне знешняга файла слоўніка"</string>
-    <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"У папцы загрузак няма файлаў слоўніка"</string>
-    <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Вылучыце файл слоўніка для ўсталёўкі"</string>
-    <string name="read_external_dictionary_confirm_install_message" msgid="6898610163768980870">"Сапраўды ўсталяваць гэты файл на мове: <xliff:g id="LOCALE_NAME">%s</xliff:g>?"</string>
-    <string name="error" msgid="8940763624668513648">"Была памылка"</string>
-    <string name="button_default" msgid="3988017840431881491">"Па змаўчанні"</string>
-    <string name="setup_welcome_title" msgid="6112821709832031715">"Вітаем у прыкладанні <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
-    <string name="setup_welcome_additional_description" msgid="8150252008545768953">"з уводам жэстамі"</string>
-    <string name="setup_start_action" msgid="8936036460897347708">"Пачаць"</string>
-    <string name="setup_next_action" msgid="371821437915144603">"Далей"</string>
-    <string name="setup_steps_title" msgid="6400373034871816182">"Наладка прыкладання <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
-    <string name="setup_step1_title" msgid="3147967630253462315">"Уключыць прыкладанне <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
-    <string name="setup_step1_instruction" msgid="2578631936624637241">"Праверце прыкладанне \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" на сваёй мове і параметры ўводу. Гэта дасць магчымасць дазволіць яму працаваць на вашай прыладзе."</string>
-    <string name="setup_step1_finished_instruction" msgid="10761482004957994">"Прыкладанне <xliff:g id="APPLICATION_NAME">%s</xliff:g> ужо ўключана для вашай мовы і параметраў уводу, так што гэты крок зроблены. Пераходзім да наступнага!"</string>
-    <string name="setup_step1_action" msgid="4366513534999901728">"Уключыць у наладах"</string>
-    <string name="setup_step2_title" msgid="6860725447906690594">"Пераключыцца на прыкладанне <xliff:g id="APPLICATION_NAME">%s</xliff:g>."</string>
-    <string name="setup_step2_instruction" msgid="9141481964870023336">"Выберыце \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" як актыўны метад уводу тэксту."</string>
-    <string name="setup_step2_action" msgid="1660330307159824337">"Пераключэнне метадаў уводу"</string>
-    <string name="setup_step3_title" msgid="3154757183631490281">"Усё гатова!"</string>
-    <string name="setup_step3_instruction" msgid="8025981829605426000">"Цяпер вы можаце ўводзіць ўсе свае любімыя прыкладанні з iмем <xliff:g id="APPLICATION_NAME">%s</xliff:g>."</string>
-    <string name="setup_step3_action" msgid="600879797256942259">"Наладка дадатковых моў"</string>
-    <string name="setup_finish_action" msgid="276559243409465389">"Гатова"</string>
-    <string name="show_setup_wizard_icon" msgid="5008028590593710830">"Паказаць значок прыкладання"</string>
-    <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Паказаць значок прыкладання ў панэлi запуску"</string>
-    <string name="app_name" msgid="6320102637491234792">"Пастаўшчык слоўніка"</string>
-    <string name="dictionary_provider_name" msgid="3027315045397363079">"Пастаўшчык слоўніка"</string>
-    <string name="dictionary_service_name" msgid="6237472350693511448">"Слоўнік"</string>
-    <string name="download_description" msgid="6014835283119198591">"Інфармацыя абнаўлення слоўніка"</string>
-    <string name="dictionary_settings_title" msgid="8091417676045693313">"Дадатковыя слоўнікі"</string>
-    <string name="dictionary_install_over_metered_network_prompt" msgid="3587517870006332980">"Даступны слоўнік"</string>
-    <string name="dictionary_settings_summary" msgid="5305694987799824349">"Налады для слоўнікаў"</string>
-    <string name="user_dictionaries" msgid="3582332055892252845">"Карыстальніцкія слоўнікі"</string>
-    <string name="default_user_dict_pref_name" msgid="1625055720489280530">"Карыстацкі слоўнік"</string>
-    <string name="dictionary_available" msgid="4728975345815214218">"Даступны слоўнік"</string>
-    <string name="dictionary_downloading" msgid="2982650524622620983">"Спампоўваецца зараз"</string>
-    <string name="dictionary_installed" msgid="8081558343559342962">"Усталявана"</string>
-    <string name="dictionary_disabled" msgid="8950383219564621762">"Усталявана, адключана"</string>
-    <string name="cannot_connect_to_dict_service" msgid="9216933695765732398">"Праблема падключэння да слоўніка"</string>
-    <string name="no_dictionaries_available" msgid="8039920716566132611">"Слоўнікаў няма"</string>
-    <string name="check_for_updates_now" msgid="8087688440916388581">"Абнавіць"</string>
-    <string name="last_update" msgid="730467549913588780">"Апошняе абнаўленне"</string>
-    <string name="message_updating" msgid="4457761393932375219">"Праверка наяўнасці абнаўленняў"</string>
-    <string name="message_loading" msgid="8689096636874758814">"Загрузка..."</string>
-    <string name="main_dict_description" msgid="3072821352793492143">"Асноўны слоўнік"</string>
-    <string name="cancel" msgid="6830980399865683324">"Адмяніць"</string>
-    <string name="install_dict" msgid="180852772562189365">"Усталяваць"</string>
-    <string name="cancel_download_dict" msgid="7843340278507019303">"Адмена"</string>
-    <string name="delete_dict" msgid="756853268088330054">"Выдаліць"</string>
-    <string name="should_download_over_metered_prompt" msgid="2878629598667658845">"Для выбранай мовы на мабільнай прыладзе ёсць слоўнік.&lt;br/&gt; Мы рэкамендуем &lt;b&gt;спампаваць&lt;/b&gt; слоўнік для мовы \"<xliff:g id="LANGUAGE">%1$s</xliff:g>\" для паляпшэння зручнасці набору.&lt;br/&gt; &lt;br/&gt; Спампоўка можа заняць хвіліну або дзве ў 3G-сетках. Калі ў вас няма &lt;b&gt;безлімітнага тарыфнага плану перадачы дадзеных&lt;/b&gt;, могуць прымяняцца дадатковыя плацяжы&lt;br/&gt;. Калі вы не ведаеце дакладна, які ў вас тарыфны план, мы рэкамендуем знайсці падлучэнне да сеткі Wi-Fi, каб пачаць аўтаматычную спампоўку.&lt;br/&gt; &lt;br/&gt; Парада: можна спампоўваць і выдаляць слоўнікі, перайшоўшы ў раздзел &lt;b&gt;Мова і ўвод&lt;/b&gt; у меню &lt;b&gt;Налады&lt;/b&gt; вашай мабільнай прылады."</string>
-    <string name="download_over_metered" msgid="1643065851159409546">"Спампаваць зараз (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>МБ)"</string>
-    <string name="do_not_download_over_metered" msgid="2176209579313941583">"Спампаваць праз Wi-Fi"</string>
-    <string name="dict_available_notification_title" msgid="6514288591959117288">"Слоўнік для мовы \"<xliff:g id="LANGUAGE">%1$s</xliff:g>\""</string>
-    <string name="dict_available_notification_description" msgid="1075194169443163487">"Нацiснiце, каб прагледзець i спампаваць"</string>
-    <string name="toast_downloading_suggestions" msgid="1313027353588566660">"Загрузка: прапановы для мовы \"<xliff:g id="LANGUAGE">%1$s</xliff:g>\" хутка з\'явяцца."</string>
-    <string name="version_text" msgid="2715354215568469385">"Версія <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string>
-    <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Дадаць"</string>
-    <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Дадаць у слоўнік"</string>
-    <string name="user_dict_settings_add_screen_title" msgid="5818914331629278758">"Выраз"</string>
-    <string name="user_dict_settings_add_dialog_more_options" msgid="5671682004887093112">"Дадатковыя параметры"</string>
-    <string name="user_dict_settings_add_dialog_less_options" msgid="2716586567241724126">"Асн. параметры"</string>
-    <string name="user_dict_settings_add_dialog_confirm" msgid="4703129507388332950">"OК"</string>
-    <string name="user_dict_settings_add_word_option_name" msgid="6665558053408962865">"Слова:"</string>
-    <string name="user_dict_settings_add_shortcut_option_name" msgid="3094731590655523777">"Шлях хуткага доступу:"</string>
-    <string name="user_dict_settings_add_locale_option_name" msgid="4738643440987277705">"Мова:"</string>
-    <string name="user_dict_settings_add_word_hint" msgid="4902434148985906707">"Увядзіце слова"</string>
-    <string name="user_dict_settings_add_shortcut_hint" msgid="2265453012555060178">"Дадатковы цэтлiк"</string>
-    <string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"Рэдагаваць слова"</string>
-    <string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"Рэдагаваць"</string>
-    <string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"Выдаліць"</string>
-    <string name="user_dict_settings_empty_text" msgid="558499587532668203">"У вашым карыстальніцкім слоўніку няма ніводнага слова. Вы можаце дадаваць словы, дакранаючыся да кнопкі \"+\" у пункце меню \"Дадаць\"."</string>
-    <string name="user_dict_settings_all_languages" msgid="8276126583216298886">"Для ўсіх моў"</string>
-    <string name="user_dict_settings_more_languages" msgid="7131268499685180461">"Іншыя мовы..."</string>
-    <string name="user_dict_settings_delete" msgid="110413335187193859">"Выдаліць"</string>
-    <string name="user_dict_fast_scroll_alphabet" msgid="5431919401558285473">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
-</resources>
diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml
index c3fbd79..604c8d9 100644
--- a/java/res/values-bg/strings.xml
+++ b/java/res/values-bg/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"часа"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL адреси"</string>
     <string name="voice_input" msgid="3583258583521397548">"Клавиш за гласово въвеждане"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"На осн. клавиатура"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"На клав. на симв."</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Изкл."</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Микр. на осн. клав."</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Микр. на клав. на симв."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Глас. въвежд. е деакт."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Конфигуриране на въвеждането"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Входни езици"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Изпращане на отзиви"</string>
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index 0b9ee03..e4623da 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"hora"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Tecla d\'entrada de veu"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Al teclat principal"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Al teclat de símbols"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Desactivada"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micròfon al teclat principal"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micro en tecl. símb."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entrada de veu desactivada"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configura mètodes d\'entrada"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Idiomes"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Envia comentaris"</string>
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
index c73e8ab..4b883e3 100644
--- a/java/res/values-cs/strings.xml
+++ b/java/res/values-cs/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"čas"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"adresy URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Klávesa hlasového vstupu"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Na hlavní klávesnici"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Na klávesnici se symboly"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Vypnuto"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon na hlavní klávesnici"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofon na klávesnici se symboly"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hlasový vstup vypnut"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Konfigurace metod zadávání"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Vstupní jazyky"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Odeslat zpětnou vazbu"</string>
diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml
index 86bdad4..33ac25b 100644
--- a/java/res/values-da/strings.xml
+++ b/java/res/values-da/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"klokkeslæt"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"Webadresse"</string>
     <string name="voice_input" msgid="3583258583521397548">"Nøgle til stemmeinput"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"På hovedtastatur"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"På symboltastatur"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Fra"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mik. på hovedtastatur"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mik. på symboltastatur"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Stemmeinput deaktiveret"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Konfigurer inputmetoder"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Inputsprog"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Send feedback"</string>
diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml
index b650534..563f4c2 100644
--- a/java/res/values-de/strings.xml
+++ b/java/res/values-de/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"Zeit"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Taste für Spracheingabe"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Auf Haupttastatur"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Auf Symboltastatur"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Aus"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikro auf Haupttastatur"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikro auf Symboltastatur"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Spracheingabe deaktiviert"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Eingabemethoden konfigurieren"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Eingabesprachen"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Feedback geben"</string>
diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml
index 79e8342..138d64d 100644
--- a/java/res/values-el/strings.xml
+++ b/java/res/values-el/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"ώρα"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"διεύθυνση URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Κλειδί φωνητικής εξόδου"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Στο κύριο πληκτρολ."</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Πληκτρ. συμβ. ενερ."</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Απενεργοποίηση"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Μικ. στο κύριο πληκ."</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Μικ. στο πληκ. συμβ."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Απεν. φωνητ. είσοδος"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Διαμόρφωση μεθόδων εισαγωγής"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Γλώσσες εισόδου"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Αποστολή σχολίων"</string>
diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml
index 4bc1b15..56a8b90 100644
--- a/java/res/values-en-rGB/strings.xml
+++ b/java/res/values-en-rGB/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"time"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Voice input key"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"On main keyboard"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"On symbols keyboard"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Off"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic on main keyboard"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic on symbols keyboard"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Voice input is disabled"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configure input methods"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Input languages"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Send feedback"</string>
diff --git a/java/res/values-en-rIN/strings.xml b/java/res/values-en-rIN/strings.xml
index 4bc1b15..56a8b90 100644
--- a/java/res/values-en-rIN/strings.xml
+++ b/java/res/values-en-rIN/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"time"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Voice input key"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"On main keyboard"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"On symbols keyboard"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Off"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic on main keyboard"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic on symbols keyboard"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Voice input is disabled"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configure input methods"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Input languages"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Send feedback"</string>
diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml
index 1fd9cf8..e33bbd5 100644
--- a/java/res/values-es-rUS/strings.xml
+++ b/java/res/values-es-rUS/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"hora"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Tecla de entrada por voz"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"En el teclado principal"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"En el teclado de símbolos"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Desactivado"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micrófono en el teclado principal"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micrófono en el teclado de símbolos"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"La entrada por voz está inhabilitada"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Enviar comentarios"</string>
diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml
index 39b45e0..8240c89 100644
--- a/java/res/values-es/strings.xml
+++ b/java/res/values-es/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"hora"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Tecla de entrada de voz"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"En teclado principal"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"En teclado de símbolos"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"No"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micrófono en teclado principal"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micrófono en teclado de símbolos"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entrada de voz inhabilitada"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Idiomas"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Danos tu opinión"</string>
diff --git a/java/res/values-et-rEE/strings.xml b/java/res/values-et-rEE/strings.xml
index e0f992c..a01d563 100644
--- a/java/res/values-et-rEE/strings.xml
+++ b/java/res/values-et-rEE/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"aeg"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Häälesisendi klahv"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Peamisel klaviatuuril"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Sümbolite klaviatuuril"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Väljas"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon peamisel klaviatuuril"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikr. sümb. klaviat."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Kõnesisend on keelatud"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Sisestusmeetodite seadistamine"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Sisestuskeeled"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Saatke tagasisidet"</string>
diff --git a/java/res/values-ar/donottranslate.xml b/java/res/values-fa/config-spacing-and-punctuations.xml
similarity index 89%
copy from java/res/values-ar/donottranslate.xml
copy to java/res/values-fa/config-spacing-and-punctuations.xml
index 57de253..9e637e4 100644
--- a/java/res/values-ar/donottranslate.xml
+++ b/java/res/values-fa/config-spacing-and-punctuations.xml
@@ -21,5 +21,5 @@
     <!-- The all letters need to be mirrored are found at
          http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
     <!-- Symbols that are suggested between words -->
-    <string name="suggested_punctuations">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
+    <string name="suggested_punctuations" translatable="false">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
 </resources>
diff --git a/java/res/values-fa/donottranslate.xml b/java/res/values-fa/donottranslate.xml
deleted file mode 100644
index 57de253..0000000
--- a/java/res/values-fa/donottranslate.xml
+++ /dev/null
@@ -1,25 +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">
-    <!-- The all letters need to be mirrored are found at
-         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
-    <!-- Symbols that are suggested between words -->
-    <string name="suggested_punctuations">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
-</resources>
diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml
index af886ef..714dbc8 100644
--- a/java/res/values-fa/strings.xml
+++ b/java/res/values-fa/strings.xml
@@ -121,12 +121,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"زمان"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"نشانی اینترنتی"</string>
     <string name="voice_input" msgid="3583258583521397548">"کلید ورودی صدا"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"در صفحه‌کلید اصلی"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"در صفحه‌کلید نمادها"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"خاموش"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"میکروفن در صفحه‌کلید اصلی"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"میکروفن در صفحه‌کلید نمادها"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ورودی صدا غیرفعال است"</string>
     <string name="configure_input_method" msgid="373356270290742459">"پیکربندی روش‌های ورودی"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"زبان‌های ورودی"</string>
     <string name="send_feedback" msgid="1780431884109392046">"ارسال بازخورد"</string>
diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml
index a58bfac..f623d1a 100644
--- a/java/res/values-fi/strings.xml
+++ b/java/res/values-fi/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"aika"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL-osoite"</string>
     <string name="voice_input" msgid="3583258583521397548">"Äänisyöteavain"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Päänäppäimistössä"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Symbolinäppäim."</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Ei käytössä"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikr. päänäppäim."</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikr. symbolinäpp."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Äänisyöte ei käyt."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Määritä syöttötavat"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Syöttökielet"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Lähetä palautetta"</string>
diff --git a/java/res/values-fr-rCA/donottranslate.xml b/java/res/values-fr-rCA/config-spacing-and-punctuations.xml
similarity index 77%
rename from java/res/values-fr-rCA/donottranslate.xml
rename to java/res/values-fr-rCA/config-spacing-and-punctuations.xml
index 21f18d8..0625480 100644
--- a/java/res/values-fr-rCA/donottranslate.xml
+++ b/java/res/values-fr-rCA/config-spacing-and-punctuations.xml
@@ -20,12 +20,12 @@
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- Symbols that are normally preceded by a space (used to add an auto-space before these) -->
     <!-- This is similar to French with the exception of "!" "?" and ";" which do not take a space before in Canadian French. Note that ":" does take a space before according to Canadian rules. -->
-    <string name="symbols_preceded_by_space">([{&amp;:</string>
+    <string name="symbols_preceded_by_space" translatable="false">([{&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>
+    <string name="symbols_followed_by_space" translatable="false">.,;:!?)]}&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>
+    <string name="symbols_word_separators" translatable="false">"&#x0009;&#x0020;\n"()[]{}*&amp;&lt;&gt;+=|.,;:!?/_\"</string>
     <!-- Word connectors -->
-    <string name="symbols_word_connectors">\'-</string>
+    <string name="symbols_word_connectors" translatable="false">\'-</string>
 </resources>
diff --git a/java/res/values-fr-rCA/strings.xml b/java/res/values-fr-rCA/strings.xml
index 2551ce9..8ff60f6 100644
--- a/java/res/values-fr-rCA/strings.xml
+++ b/java/res/values-fr-rCA/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"Heure"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Touche de saisie vocale"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Sur le clavier principal"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Sur clavier symboles"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Désactiver"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micro sur le clavier principal"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micro sur le clavier des symboles"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Saisie vocale désactivée"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configurer les modes de saisie"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Langues de saisie"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Envoyer des commentaires"</string>
diff --git a/java/res/values-fr/donottranslate.xml b/java/res/values-fr/config-spacing-and-punctuations.xml
similarity index 74%
rename from java/res/values-fr/donottranslate.xml
rename to java/res/values-fr/config-spacing-and-punctuations.xml
index f064411..33e0236 100644
--- a/java/res/values-fr/donottranslate.xml
+++ b/java/res/values-fr/config-spacing-and-punctuations.xml
@@ -19,12 +19,12 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- Symbols that are normally preceded by a space (used to add an auto-space before these) -->
-    <string name="symbols_preceded_by_space">([{&amp;;:!?</string>
+    <string name="symbols_preceded_by_space" translatable="false">([{&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>
+    <string name="symbols_followed_by_space" translatable="false">.,;:!?)]}&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>
+    <string name="symbols_word_separators" translatable="false">"&#x0009;&#x0020;\n"()[]{}*&amp;&lt;&gt;+=|.,;:!?/_\"</string>
     <!-- Word connectors -->
-    <string name="symbols_word_connectors">\'-</string>
+    <string name="symbols_word_connectors" translatable="false">\'-</string>
 </resources>
diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml
index b877db0..9ab9558 100644
--- a/java/res/values-fr/strings.xml
+++ b/java/res/values-fr/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"Heure"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Touche de saisie vocale"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Sur clavier principal"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Sur clavier symboles"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Désactiver"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micro sur le clavier principal"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micro sur clavier symboles"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Saisie vocale désactivée"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configurer les modes de saisie"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Langues de saisie"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Envoyer des commentaires"</string>
diff --git a/java/res/values-h1200dp-port/setup-dimens-large-tablet-port.xml b/java/res/values-h1200dp-port/setup-dimens-large-tablet-port.xml
index bc7928d..adc3e35 100644
--- a/java/res/values-h1200dp-port/setup-dimens-large-tablet-port.xml
+++ b/java/res/values-h1200dp-port/setup-dimens-large-tablet-port.xml
@@ -20,7 +20,6 @@
     <dimen name="setup_welcome_description_text_size">38sp</dimen>
     <dimen name="setup_step_bullet_text_size">24sp</dimen>
     <dimen name="setup_step_triangle_indicator_height">24dp</dimen>
-    <dimen name="setup_step_indicator_height">24dp</dimen>
     <dimen name="setup_step_title_text_size">24sp</dimen>
     <dimen name="setup_step_instruction_text_size">18sp</dimen>
     <dimen name="setup_step_action_text_size">20sp</dimen>
diff --git a/java/res/values-h330dp-land/setup-dimens-large-phone-land.xml b/java/res/values-h330dp-land/setup-dimens-large-phone-land.xml
index aebf6d2..1ff43ff 100644
--- a/java/res/values-h330dp-land/setup-dimens-large-phone-land.xml
+++ b/java/res/values-h330dp-land/setup-dimens-large-phone-land.xml
@@ -20,7 +20,6 @@
     <dimen name="setup_welcome_description_text_size">22sp</dimen>
     <dimen name="setup_step_bullet_text_size">22sp</dimen>
     <dimen name="setup_step_triangle_indicator_height">24dp</dimen>
-    <dimen name="setup_step_indicator_height">24dp</dimen>
     <dimen name="setup_step_title_text_size">20sp</dimen>
     <dimen name="setup_step_instruction_text_size">16sp</dimen>
     <dimen name="setup_step_action_text_size">18sp</dimen>
diff --git a/java/res/values-h520dp-land/setup-dimens-small-tablet-land.xml b/java/res/values-h520dp-land/setup-dimens-small-tablet-land.xml
index aedf79f..a0e30cd 100644
--- a/java/res/values-h520dp-land/setup-dimens-small-tablet-land.xml
+++ b/java/res/values-h520dp-land/setup-dimens-small-tablet-land.xml
@@ -20,7 +20,6 @@
     <dimen name="setup_welcome_description_text_size">32sp</dimen>
     <dimen name="setup_step_bullet_text_size">24sp</dimen>
     <dimen name="setup_step_triangle_indicator_height">24dp</dimen>
-    <dimen name="setup_step_indicator_height">24dp</dimen>
     <dimen name="setup_step_title_text_size">24sp</dimen>
     <dimen name="setup_step_instruction_text_size">18sp</dimen>
     <dimen name="setup_step_action_text_size">20sp</dimen>
diff --git a/java/res/values-h540dp-port/setup-dimens-large-phone-port.xml b/java/res/values-h540dp-port/setup-dimens-large-phone-port.xml
index 6d66f46..cf2a10a 100644
--- a/java/res/values-h540dp-port/setup-dimens-large-phone-port.xml
+++ b/java/res/values-h540dp-port/setup-dimens-large-phone-port.xml
@@ -20,7 +20,6 @@
     <dimen name="setup_welcome_description_text_size">26sp</dimen>
     <dimen name="setup_step_bullet_text_size">22sp</dimen>
     <dimen name="setup_step_triangle_indicator_height">24dp</dimen>
-    <dimen name="setup_step_indicator_height">24dp</dimen>
     <dimen name="setup_step_title_text_size">20sp</dimen>
     <dimen name="setup_step_instruction_text_size">16sp</dimen>
     <dimen name="setup_step_action_text_size">18sp</dimen>
diff --git a/java/res/values-h720dp-land/setup-dimens-large-tablet-land.xml b/java/res/values-h720dp-land/setup-dimens-large-tablet-land.xml
index e22b741..a782ef8 100644
--- a/java/res/values-h720dp-land/setup-dimens-large-tablet-land.xml
+++ b/java/res/values-h720dp-land/setup-dimens-large-tablet-land.xml
@@ -20,7 +20,6 @@
     <dimen name="setup_welcome_description_text_size">38sp</dimen>
     <dimen name="setup_step_bullet_text_size">24sp</dimen>
     <dimen name="setup_step_triangle_indicator_height">24dp</dimen>
-    <dimen name="setup_step_indicator_height">24dp</dimen>
     <dimen name="setup_step_title_text_size">24sp</dimen>
     <dimen name="setup_step_instruction_text_size">18sp</dimen>
     <dimen name="setup_step_action_text_size">20sp</dimen>
diff --git a/java/res/values-h800dp-port/setup-dimens-small-tablet-port.xml b/java/res/values-h800dp-port/setup-dimens-small-tablet-port.xml
index 86cf3a0..9ac0f11 100644
--- a/java/res/values-h800dp-port/setup-dimens-small-tablet-port.xml
+++ b/java/res/values-h800dp-port/setup-dimens-small-tablet-port.xml
@@ -20,7 +20,6 @@
     <dimen name="setup_welcome_description_text_size">36sp</dimen>
     <dimen name="setup_step_bullet_text_size">24sp</dimen>
     <dimen name="setup_step_triangle_indicator_height">24dp</dimen>
-    <dimen name="setup_step_indicator_height">24dp</dimen>
     <dimen name="setup_step_title_text_size">24sp</dimen>
     <dimen name="setup_step_instruction_text_size">18sp</dimen>
     <dimen name="setup_step_action_text_size">20sp</dimen>
diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml
index d773543..d2ace1a 100644
--- a/java/res/values-hi/strings.xml
+++ b/java/res/values-hi/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"समय"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"ध्‍वनि‍ इनपुट कुंजी"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"मुख्‍य कीबोर्ड पर"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"प्रतीक कीबोर्ड पर"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"बंद"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"मुख्‍य कीबोर्ड पर माइक"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"प्रतीक कीबोर्ड पर माइक"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ध्‍वनि इनपुट अक्षम है"</string>
     <string name="configure_input_method" msgid="373356270290742459">"इनपुट पद्धति कॉन्‍फ़िगर करें"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"इनपुट भाषा"</string>
     <string name="send_feedback" msgid="1780431884109392046">"सुझाव भेजें"</string>
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
index b9cfef3..e7a72f9 100644
--- a/java/res/values-hr/strings.xml
+++ b/java/res/values-hr/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"vrijeme"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Tipka za glasovni unos"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Na glavnoj tipkovnici"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Na tipkovnici simb."</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Isključeno"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon na gl. tipkovnici"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mik. na tipk. simb."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Glas. unos onemog."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Konfiguriraj načine ulaza"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Jezici unosa"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Slanje povratnih informacija"</string>
diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml
index a61378f..27efd0c 100644
--- a/java/res/values-hu/strings.xml
+++ b/java/res/values-hu/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"idő"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Hangbeviteli gomb"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"A fő billentyűzeten"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Szimbólumoknál"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Ki"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon a billentyűzeten"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikr. a szimbólumoknál"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hangbevivel KI"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Beviteli módok beállítása"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Beviteli nyelvek"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Visszajelzés küldése"</string>
diff --git a/java/res/values-hy-rAM/donottranslate.xml b/java/res/values-hy-rAM/config-spacing-and-punctuations.xml
similarity index 79%
rename from java/res/values-hy-rAM/donottranslate.xml
rename to java/res/values-hy-rAM/config-spacing-and-punctuations.xml
index 7b0c566..f26a30d 100644
--- a/java/res/values-hy-rAM/donottranslate.xml
+++ b/java/res/values-hy-rAM/config-spacing-and-punctuations.xml
@@ -22,11 +22,11 @@
     <!-- U+055D: "՝" ARMENIAN COMMA -->
     <!-- U+0589: "։" ARMENIAN FULL STOP -->
     <!-- Symbols that are normally followed by a space (used to add an auto-space after these) -->
-    <string name="symbols_followed_by_space">.,;:!?)]}&amp;&#x0589;&#x055D;</string>
+    <string name="symbols_followed_by_space" translatable="false">.,;:!?)]}&amp;&#x0589;&#x055D;</string>
     <!-- Symbols that separate words. Adding armenian period and comma. -->
     <!-- 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;+=|.,;:!?/_\"&#x0589;&#x055D;</string>
+    <string name="symbols_word_separators" translatable="false">"&#x0009;&#x0020;\n"()[]{}*&amp;&lt;&gt;+=|.,;:!?/_\"&#x0589;&#x055D;</string>
     <!-- The sentence separator code point, for capitalization -->
     <!-- U+0589: "։" ARMENIAN FULL STOP   ; 589h = 1417d -->
-    <integer name="sentence_separator">1417</integer>
+    <integer name="sentence_separator" translatable="false">1417</integer>
 </resources>
diff --git a/java/res/values-hy-rAM/strings.xml b/java/res/values-hy-rAM/strings.xml
index 0b8e19a..62dc45b 100644
--- a/java/res/values-hy-rAM/strings.xml
+++ b/java/res/values-hy-rAM/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"ժամանակ"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Ձայնային մուտքագրման ստեղն"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Հիմնական ստեղնաշարի վրա"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Նշանների ստեղնաշարի վրա"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Անջատված"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Բարձրախոս հիմնական ստեղնաշարի վրա"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Բարձրախոս նշանների ստեղնաշարի վրա"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Ձայնային մուտքագրումն անջատված է"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Կարգավորել մուտքագրման մեթոդները"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Մուտքագրման լեզուներ"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Արձագանքել"</string>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index d83a22c..83530f2 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"waktu"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Tombol masukan suara"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Pada keyboard utama"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Pada keyboard simbol"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Mati"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mik pada keyboard utama"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mik pada keyboard simbol"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Masukan suara dinonaktifkan"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Konfigurasikan metode masukan"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Bahasa masukan"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Kirim masukan"</string>
diff --git a/java/res/values-is/strings.xml b/java/res/values-is/strings.xml
index 6f685d3..1137fd0 100644
--- a/java/res/values-is/strings.xml
+++ b/java/res/values-is/strings.xml
@@ -214,18 +214,6 @@
     <skip />
     <!-- no translation found for voice_input (3583258583521397548) -->
     <skip />
-    <!-- no translation found for voice_input_modes_main_keyboard (3360660341121083174) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_symbols_keyboard (7203213240786084067) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_off (3745699748218082014) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_main_keyboard (6586544292900314339) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_symbols_keyboard (5233725927281932391) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_off (63875609591897607) -->
-    <skip />
     <!-- no translation found for configure_input_method (373356270290742459) -->
     <skip />
     <!-- no translation found for language_selection_title (1651299598555326750) -->
diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml
index 1111c49..12b597a 100644
--- a/java/res/values-it/strings.xml
+++ b/java/res/values-it/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"ora"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Tasto input vocale"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Su tastiera principale"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Su tastiera simboli"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"OFF"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Microfono su tastiera principale"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Microfono su tastiera simboli"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Input vocale disatt."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configura metodi di immissione"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Lingue comandi"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Invia feedback"</string>
diff --git a/java/res/values-ar/donottranslate.xml b/java/res/values-iw/config-spacing-and-punctuations.xml
similarity index 89%
copy from java/res/values-ar/donottranslate.xml
copy to java/res/values-iw/config-spacing-and-punctuations.xml
index 57de253..9e637e4 100644
--- a/java/res/values-ar/donottranslate.xml
+++ b/java/res/values-iw/config-spacing-and-punctuations.xml
@@ -21,5 +21,5 @@
     <!-- The all letters need to be mirrored are found at
          http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
     <!-- Symbols that are suggested between words -->
-    <string name="suggested_punctuations">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
+    <string name="suggested_punctuations" translatable="false">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
 </resources>
diff --git a/java/res/values-iw/donottranslate.xml b/java/res/values-iw/donottranslate.xml
deleted file mode 100644
index 57de253..0000000
--- a/java/res/values-iw/donottranslate.xml
+++ /dev/null
@@ -1,25 +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">
-    <!-- The all letters need to be mirrored are found at
-         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
-    <!-- Symbols that are suggested between words -->
-    <string name="suggested_punctuations">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
-</resources>
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
index 8d02e68..ab15649 100644
--- a/java/res/values-iw/strings.xml
+++ b/java/res/values-iw/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"זמן"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"כתובות אתרים"</string>
     <string name="voice_input" msgid="3583258583521397548">"מקש קלט קולי"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"במקלדת הראשית"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"במקלדת סמלים"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"כבוי"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"מיקרופון במקלדת הראשית"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"מיקרופון במקלדת סמלים"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"הקלט הקולי מושבת"</string>
     <string name="configure_input_method" msgid="373356270290742459">"הגדרת שיטות קלט"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"שפות קלט"</string>
     <string name="send_feedback" msgid="1780431884109392046">"שלח משוב"</string>
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
index fbfd3b7..39f14ff 100644
--- a/java/res/values-ja/strings.xml
+++ b/java/res/values-ja/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"時刻"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"音声入力キー"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"メインキーボード上"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"記号キーボード上"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"OFF"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"メインキーボードのマイク"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"記号キーボードのマイク"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"音声入力は無効です"</string>
     <string name="configure_input_method" msgid="373356270290742459">"入力方法を設定"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"入力言語"</string>
     <string name="send_feedback" msgid="1780431884109392046">"フィードバックを送信"</string>
diff --git a/java/res/values-ka-rGE/strings.xml b/java/res/values-ka-rGE/strings.xml
index dec6b3a..2adf9c4 100644
--- a/java/res/values-ka-rGE/strings.xml
+++ b/java/res/values-ka-rGE/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"დრო"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"ხმოვანი შეყვანის კლავიში"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"მთავარ კლავიატურაზე"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"სიმბოლოთა კლავიატურაზე"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"გამორთვა"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"მიკროფონი მთავარ კლავიატურაზე"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"მიკროფონი სიმბოლოთა კლავიატურაზე"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ხმოვანი შეყვანა გამორთულია"</string>
     <string name="configure_input_method" msgid="373356270290742459">"შეყვანის მეთოდების კონფიგურაცია"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"შეყვანის ენები"</string>
     <string name="send_feedback" msgid="1780431884109392046">"უკუკავშირის გაგზავნა"</string>
diff --git a/java/res/values-kk/strings.xml b/java/res/values-kk/strings.xml
index 947ff2f..80b289f 100644
--- a/java/res/values-kk/strings.xml
+++ b/java/res/values-kk/strings.xml
@@ -119,12 +119,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"уақыт"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Дауыстық енгізу пернесі"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Негізгі пернетақтада"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Таңбалар пернетақтасында"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Өшірулі"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Негізгі пернетақтадағы Mic"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Таңбалар пернетақтасындағы Mic"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Дауыстық енгізу өшірілген"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Енгізу әдістерін теңшеу"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Енгізу тілдері"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Кері байланыс жіберу"</string>
diff --git a/java/res/values-km-rKH/donottranslate.xml b/java/res/values-km-rKH/config-spacing-and-punctuations.xml
similarity index 100%
rename from java/res/values-km-rKH/donottranslate.xml
rename to java/res/values-km-rKH/config-spacing-and-punctuations.xml
diff --git a/java/res/values-km-rKH/strings.xml b/java/res/values-km-rKH/strings.xml
index 86ecc5e..0609bd2 100644
--- a/java/res/values-km-rKH/strings.xml
+++ b/java/res/values-km-rKH/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"ពេលវេលា"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"គ្រាប់​ចុច​បញ្ចូល​​សំឡេង"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"នៅ​លើ​ក្ដារចុច​ចម្បង"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"នៅ​លើ​ក្ដារចុច​​និមិត្ត​សញ្ញា"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"បិទ"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"មីក្រូហ្វូន​នៅ​លើ​​ក្ដារចុច​ចម្បង"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"មីក្រូហ្វូន​នៅ​លើ​​ក្ដារចុច​និមិត្ត​សញ្ញា"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"បាន​បិទ​ការ​បញ្ចូល​សំឡេង"</string>
     <string name="configure_input_method" msgid="373356270290742459">"កំណត់​រចនាសម្ព័ន្ធ​វិធីសាស្ត្រ​បញ្ចូល"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"បញ្ចូល​ភាសា"</string>
     <string name="send_feedback" msgid="1780431884109392046">"ផ្ញើ​មតិ​អ្នក​ប្រើ"</string>
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
index ca10bdf..678cc3e 100644
--- a/java/res/values-ko/strings.xml
+++ b/java/res/values-ko/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"시간"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"음성 입력 키"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"기본 키보드"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"기호 키보드"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"사용 안함"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"기본 키보드의 마이크"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"기호 키보드의 마이크"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"음성 입력이 사용 중지됨"</string>
     <string name="configure_input_method" msgid="373356270290742459">"입력 방법 설정"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"입력 언어"</string>
     <string name="send_feedback" msgid="1780431884109392046">"의견 보내기"</string>
diff --git a/java/res/values-ky/strings.xml b/java/res/values-ky/strings.xml
index e30c4b9..c3aab78 100644
--- a/java/res/values-ky/strings.xml
+++ b/java/res/values-ky/strings.xml
@@ -168,18 +168,6 @@
     <skip />
     <!-- no translation found for voice_input (3583258583521397548) -->
     <skip />
-    <!-- no translation found for voice_input_modes_main_keyboard (3360660341121083174) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_symbols_keyboard (7203213240786084067) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_off (3745699748218082014) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_main_keyboard (6586544292900314339) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_symbols_keyboard (5233725927281932391) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_off (63875609591897607) -->
-    <skip />
     <!-- no translation found for configure_input_method (373356270290742459) -->
     <skip />
     <!-- no translation found for language_selection_title (1651299598555326750) -->
diff --git a/java/res/values-land/config.xml b/java/res/values-land/config.xml
index 7d93cc2..b6ef4a7 100644
--- a/java/res/values-land/config.xml
+++ b/java/res/values-land/config.xml
@@ -18,6 +18,68 @@
 */
 -->
 
+<!-- Configuration values for Small Phone Landscape. -->
 <resources>
     <bool name="config_use_fullscreen_mode">true</bool>
+
+    <!-- Preferable keyboard height in absolute scale: 1.100in -->
+    <!-- This config_default_keyboard_height value should match with keyboard-heights.xml -->
+    <dimen name="config_default_keyboard_height">176.0dp</dimen>
+    <fraction name="config_min_keyboard_height">45%p</fraction>
+    <!-- key_height + key_bottom_gap = config_more_keys_keyboard_key_height -->
+    <dimen name="config_more_keys_keyboard_key_height">44.8dp</dimen>
+
+    <fraction name="config_keyboard_top_padding_gb">1.818%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_gb">0.0%p</fraction>
+    <fraction name="config_key_vertical_gap_gb">5.941%p</fraction>
+    <fraction name="config_key_horizontal_gap_gb">0.997%p</fraction>
+
+    <fraction name="config_keyboard_top_padding_holo">2.727%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_holo">0.0%p</fraction>
+    <fraction name="config_key_vertical_gap_holo">5.368%p</fraction>
+    <fraction name="config_key_horizontal_gap_holo">1.020%p</fraction>
+
+    <!-- left or right padding of label alignment -->
+    <dimen name="config_key_label_horizontal_padding">8dp</dimen>
+
+    <fraction name="config_key_letter_ratio">65%</fraction>
+    <fraction name="config_key_large_letter_ratio">74%</fraction>
+    <fraction name="config_key_label_ratio">40%</fraction>
+    <fraction name="config_key_hint_letter_ratio">30%</fraction>
+    <fraction name="config_key_hint_label_ratio">52%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio">40%</fraction>
+    <fraction name="config_key_preview_text_ratio">90%</fraction>
+    <fraction name="config_language_on_spacebar_text_ratio">40.000%</fraction>
+    <dimen name="config_key_preview_offset_gb">0.0dp</dimen>
+
+    <!-- For 5-row keyboard -->
+    <fraction name="config_key_vertical_gap_5row">3.20%p</fraction>
+    <fraction name="config_key_letter_ratio_5row">78%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio_5row">48%</fraction>
+
+    <dimen name="config_key_preview_offset_holo">1.6dp</dimen>
+    <!-- config_more_keys_keyboard_key_height x -0.5 -->
+    <dimen name="config_more_keys_keyboard_vertical_correction_holo">-22.4dp</dimen>
+
+    <dimen name="config_suggestions_strip_height">36dp</dimen>
+    <dimen name="config_more_suggestions_row_height">36dp</dimen>
+    <integer name="config_max_more_suggestions_row">2</integer>
+    <fraction name="config_min_more_suggestions_width">60%</fraction>
+    <!-- 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">53.76dp</dimen>
+    <!-- config_more_keys_keyboard_key_height x -1.0 -->
+    <dimen name="config_more_keys_keyboard_vertical_correction_gb">-44.8dp</dimen>
+
+    <!-- Gesture floating preview text parameters -->
+    <dimen name="config_gesture_floating_preview_text_size">23dp</dimen>
+    <dimen name="config_gesture_floating_preview_text_offset">54dp</dimen>
+    <dimen name="config_gesture_floating_preview_horizontal_padding">23dp</dimen>
+    <dimen name="config_gesture_floating_preview_vertical_padding">15dp</dimen>
+
+    <!-- Emoji keyboard -->
+    <fraction name="config_emoji_keyboard_key_width">10%p</fraction>
+    <fraction name="config_emoji_keyboard_row_height">50%p</fraction>
+    <fraction name="config_emoji_keyboard_key_letter_size">54%p</fraction>
+    <integer name="config_emoji_keyboard_max_page_key_count">20</integer>
 </resources>
diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml
deleted file mode 100644
index c97e68f..0000000
--- a/java/res/values-land/dimens.xml
+++ /dev/null
@@ -1,83 +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.100in -->
-    <!-- This keyboardHeight value should match with keyboard-heights.xml -->
-    <dimen name="keyboardHeight">176.0dp</dimen>
-    <fraction name="minKeyboardHeight">45%p</fraction>
-    <!-- key_height + key_bottom_gap = popup_key_height -->
-    <dimen name="popup_key_height">44.8dp</dimen>
-
-    <fraction name="keyboard_top_padding_gb">1.818%p</fraction>
-    <fraction name="keyboard_bottom_padding_gb">0.0%p</fraction>
-    <fraction name="key_bottom_gap_gb">5.941%p</fraction>
-    <fraction name="key_horizontal_gap_gb">0.997%p</fraction>
-
-    <fraction name="keyboard_top_padding_holo">2.727%p</fraction>
-    <fraction name="keyboard_bottom_padding_holo">0.0%p</fraction>
-    <fraction name="key_bottom_gap_holo">5.368%p</fraction>
-    <fraction name="key_horizontal_gap_holo">1.020%p</fraction>
-
-    <!-- left or right padding of label alignment -->
-    <dimen name="key_label_horizontal_padding">8dp</dimen>
-
-    <fraction name="key_letter_ratio">65%</fraction>
-    <fraction name="key_large_letter_ratio">74%</fraction>
-    <fraction name="key_label_ratio">40%</fraction>
-    <fraction name="key_hint_letter_ratio">30%</fraction>
-    <fraction name="key_hint_label_ratio">52%</fraction>
-    <fraction name="key_uppercase_letter_ratio">40%</fraction>
-    <fraction name="key_preview_text_ratio">90%</fraction>
-    <fraction name="spacebar_text_ratio">40.000%</fraction>
-    <dimen name="key_preview_offset_gb">0.0dp</dimen>
-
-    <!-- For 5-row keyboard -->
-    <fraction name="key_bottom_gap_5row">3.20%p</fraction>
-    <fraction name="key_letter_ratio_5row">78%</fraction>
-    <fraction name="key_uppercase_letter_ratio_5row">48%</fraction>
-
-    <dimen name="key_preview_offset_holo">1.6dp</dimen>
-    <!-- popup_key_height x -0.5 -->
-    <dimen name="more_keys_keyboard_vertical_correction_holo">-22.4dp</dimen>
-
-    <dimen name="suggestions_strip_height">36dp</dimen>
-    <dimen name="more_suggestions_row_height">36dp</dimen>
-    <integer name="max_more_suggestions_row">2</integer>
-    <fraction name="min_more_suggestions_width">60%</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">53.76dp</dimen>
-    <!-- popup_key_height x -1.0 -->
-    <dimen name="more_keys_keyboard_vertical_correction_gb">-44.8dp</dimen>
-
-    <!-- Gesture floating preview text parameters -->
-    <dimen name="gesture_floating_preview_text_size">23dp</dimen>
-    <dimen name="gesture_floating_preview_text_offset">54dp</dimen>
-    <dimen name="gesture_floating_preview_horizontal_padding">23dp</dimen>
-    <dimen name="gesture_floating_preview_vertical_padding">15dp</dimen>
-
-    <!-- Emoji keyboard -->
-    <fraction name="emoji_keyboard_key_width">10%p</fraction>
-    <fraction name="emoji_keyboard_row_height">50%p</fraction>
-    <fraction name="emoji_keyboard_key_letter_size">54%p</fraction>
-    <integer name="emoji_keyboard_max_key_count">20</integer>
-
-</resources>
diff --git a/java/res/values-land/setup-dimens-small-phone-land.xml b/java/res/values-land/setup-dimens-small-phone-land.xml
index 088e656..de93eee 100644
--- a/java/res/values-land/setup-dimens-small-phone-land.xml
+++ b/java/res/values-land/setup-dimens-small-phone-land.xml
@@ -20,7 +20,6 @@
     <dimen name="setup_welcome_description_text_size">18sp</dimen>
     <dimen name="setup_step_bullet_text_size">18sp</dimen>
     <dimen name="setup_step_triangle_indicator_height">18dp</dimen>
-    <dimen name="setup_step_indicator_height">18dp</dimen>
     <dimen name="setup_step_title_text_size">18sp</dimen>
     <dimen name="setup_step_instruction_text_size">14sp</dimen>
     <dimen name="setup_step_action_text_size">16sp</dimen>
diff --git a/java/res/values-lo-rLA/donottranslate.xml b/java/res/values-lo-rLA/config-spacing-and-punctuations.xml
similarity index 100%
rename from java/res/values-lo-rLA/donottranslate.xml
rename to java/res/values-lo-rLA/config-spacing-and-punctuations.xml
diff --git a/java/res/values-lo-rLA/strings.xml b/java/res/values-lo-rLA/strings.xml
index a4dbc2d..bbf1715 100644
--- a/java/res/values-lo-rLA/strings.xml
+++ b/java/res/values-lo-rLA/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"ເວລາ"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"ປຸ່ມປ້ອນຂໍ້ມູນດ້ວຍສຽງ"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"ແປ້ນພິມຫຼັກ"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"ໃນແປ້ນພິມສັນຍາລັກ"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"ປິດ"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"ໄມໃນແປ້ນພິມຫຼັກ"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"ໄມໃນແປ້ນພິມສັນຍາລັກ"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ການປ້ອນຂໍ້ມູນດ້ວຍສຽງປິດນຳໃຊ້ຢູ່"</string>
     <string name="configure_input_method" msgid="373356270290742459">"ຕັ້ງຄ່າຮູບແບບການປ້ອນຂໍ້ມູນ"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"ພາສາການປ້ອນຂໍ້ມູນ"</string>
     <string name="send_feedback" msgid="1780431884109392046">"ສົ່ງຄຳຕິຊົມ"</string>
diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml
index 1f94394..bf37143 100644
--- a/java/res/values-lt/strings.xml
+++ b/java/res/values-lt/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"laiko"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Įvesties balsu klavišas"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Pagr. klaviatūroje"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Simbolių klaviatūr."</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Išjungta"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrof. pagr. klav."</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrof. simb. klav."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Balso įv. neleidž."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Konfigūruoti įvesties metodus"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Įvesties kalbos"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Siųsti atsiliepimą"</string>
diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml
index 8ea24ed..9afea26 100644
--- a/java/res/values-lv/strings.xml
+++ b/java/res/values-lv/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"laiks"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Balss ievades atslēga"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Uz galv. tastatūras"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Uz simbolu tastat."</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Izslēgts"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikr.uz galv.tastat."</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikr.uz simb.tastat."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Balss iev. atspējota"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Ievades metožu konfigurēšana"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Ievades valodas"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Sūtīt atsauksmes"</string>
diff --git a/java/res/values-mk/strings.xml b/java/res/values-mk/strings.xml
index 6f685d3..1137fd0 100644
--- a/java/res/values-mk/strings.xml
+++ b/java/res/values-mk/strings.xml
@@ -214,18 +214,6 @@
     <skip />
     <!-- no translation found for voice_input (3583258583521397548) -->
     <skip />
-    <!-- no translation found for voice_input_modes_main_keyboard (3360660341121083174) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_symbols_keyboard (7203213240786084067) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_off (3745699748218082014) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_main_keyboard (6586544292900314339) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_symbols_keyboard (5233725927281932391) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_off (63875609591897607) -->
-    <skip />
     <!-- no translation found for configure_input_method (373356270290742459) -->
     <skip />
     <!-- no translation found for language_selection_title (1651299598555326750) -->
diff --git a/java/res/values-mn-rMN/strings.xml b/java/res/values-mn-rMN/strings.xml
index d417589..4b36f03 100644
--- a/java/res/values-mn-rMN/strings.xml
+++ b/java/res/values-mn-rMN/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"цаг"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Дуун оруулгын товч"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Үндсэн гар дээр"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Симбол гар дээр"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Идэвхгүй"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Мик үндсэн гар дээр"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Мик симбол гар дээр"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Дуун оруулах идэвхгүйжсэн"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Оруулах аргуудын тохиргоо"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Оруулах хэл"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Санал хүсэлт илгээх"</string>
diff --git a/java/res/values-ms-rMY/strings.xml b/java/res/values-ms-rMY/strings.xml
index c9b4a03..d3ab3f9 100644
--- a/java/res/values-ms-rMY/strings.xml
+++ b/java/res/values-ms-rMY/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"masa"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Kunci input suara"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Pada papan kekunci utama"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Pada papan kekunci simbol"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Dimati"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon pada papan kekunci utama"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofon pada papan kekunci simbol"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Input suara dilmphkn"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Konfigurasikan kaedah input"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Bahasa input"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Hantar maklum balas"</string>
diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml
index 00aa10d..6d9f64f 100644
--- a/java/res/values-nb/strings.xml
+++ b/java/res/values-nb/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"tid"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"Nettadresse"</string>
     <string name="voice_input" msgid="3583258583521397548">"Tast for taleinndata"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"På hovedtastatur"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"På talltastatur"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Av"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon på hovedtast."</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofon på talltastatur"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Taleinndata er deaktiv."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Konfigurer inndatametoder"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Inndataspråk"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Send tilbakemelding"</string>
@@ -186,7 +180,7 @@
     <string name="setup_step3_title" msgid="3154757183631490281">"Gratulerer, du er klar!"</string>
     <string name="setup_step3_instruction" msgid="8025981829605426000">"Nå kan du skrive inn alle favorittappene dine med <xliff:g id="APPLICATION_NAME">%s</xliff:g>."</string>
     <string name="setup_step3_action" msgid="600879797256942259">"Konfigurer flere språk"</string>
-    <string name="setup_finish_action" msgid="276559243409465389">"Ferdig"</string>
+    <string name="setup_finish_action" msgid="276559243409465389">"Fullført"</string>
     <string name="show_setup_wizard_icon" msgid="5008028590593710830">"Vis app-ikonet"</string>
     <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Vis app-ikonet i appvelgeren"</string>
     <string name="app_name" msgid="6320102637491234792">"Ordlisteleverandør"</string>
diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml
index dcbf2c0..f99c345 100644
--- a/java/res/values-nl/strings.xml
+++ b/java/res/values-nl/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"tijd"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Toets voor spraakinvoer"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Op hoofdtoetsenbord"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Op symbooltoetsenb."</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Uitgeschakeld"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Microfoon op hoofdtoetsenbord"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic op symb.toetsb."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Spraakinvoer is uit"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Invoermethoden configureren"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Invoertalen"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Feedback verzenden"</string>
diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml
index c78674a..558415d 100644
--- a/java/res/values-pl/strings.xml
+++ b/java/res/values-pl/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"godzina"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Klawisz rozpoznawania mowy"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Na klawiaturze głównej"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Na klawiaturze z symbolami"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Wyłącz"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon na klawiaturze głównej"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofon na klawiaturze z symbolami"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Rozpoznawanie mowy jest wyłączone"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Konfiguruj metody wprowadzania"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Języki wprowadzania"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Prześlij opinię"</string>
diff --git a/java/res/values-port/setup-dimens-small-phone-port.xml b/java/res/values-port/setup-dimens-small-phone-port.xml
index 8ac72ea..cf2751f 100644
--- a/java/res/values-port/setup-dimens-small-phone-port.xml
+++ b/java/res/values-port/setup-dimens-small-phone-port.xml
@@ -20,7 +20,6 @@
     <dimen name="setup_welcome_description_text_size">20sp</dimen>
     <dimen name="setup_step_bullet_text_size">18sp</dimen>
     <dimen name="setup_step_triangle_indicator_height">18dp</dimen>
-    <dimen name="setup_step_indicator_height">18dp</dimen>
     <dimen name="setup_step_title_text_size">18sp</dimen>
     <dimen name="setup_step_instruction_text_size">14sp</dimen>
     <dimen name="setup_step_action_text_size">16sp</dimen>
diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml
index c277581..36425e1 100644
--- a/java/res/values-pt-rPT/strings.xml
+++ b/java/res/values-pt-rPT/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"hora"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URLs"</string>
     <string name="voice_input" msgid="3583258583521397548">"Chave de entrada de voz"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"No teclado principal"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"No teclado símbolos"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Desligar"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic. tecl. principal"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic. tecl. símbolos"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entr. voz desact."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de introdução"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Enviar comentários"</string>
diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml
index f98ef8c..925adf0 100644
--- a/java/res/values-pt/strings.xml
+++ b/java/res/values-pt/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"hora"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Chave de entrada de texto por voz"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"No teclado principal"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"No teclado de símb."</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Desativado"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic. no teclado"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic. no teclado"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Texto por voz desat."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Enviar comentários"</string>
diff --git a/java/res/values-rm/strings.xml b/java/res/values-rm/strings.xml
index 3f0bab9..378c254 100644
--- a/java/res/values-rm/strings.xml
+++ b/java/res/values-rm/strings.xml
@@ -209,18 +209,6 @@
     <skip />
     <!-- no translation found for voice_input (3583258583521397548) -->
     <skip />
-    <!-- no translation found for voice_input_modes_main_keyboard (3360660341121083174) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_symbols_keyboard (7203213240786084067) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_off (3745699748218082014) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_main_keyboard (6586544292900314339) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_symbols_keyboard (5233725927281932391) -->
-    <skip />
-    <!-- no translation found for voice_input_modes_summary_off (63875609591897607) -->
-    <skip />
     <!-- no translation found for configure_input_method (373356270290742459) -->
     <skip />
     <string name="language_selection_title" msgid="1651299598555326750">"Linguas da cumonds vocals"</string>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index 147f83e..9758a0b 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"ore"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"adrese URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Tastă pentru intrarea vocală"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Pe tastat. princip."</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Pe tastat. simbol."</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Dezactivată"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic. pe tast. princ."</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micr. pe tast. simb."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Intr. vocală dezact."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Configuraţi metodele de intrare"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Selectaţi limba"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Trimiteți feedback"</string>
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
index 8bbaead..36990fe 100644
--- a/java/res/values-ru/strings.xml
+++ b/java/res/values-ru/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"ввода времени"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"ввода URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Кнопка голосового ввода"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Значок на основной клавиатуре"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Значок на клавиатуре символов"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Выкл."</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Значок на основной клавиатуре"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Значок на клавиатуре символов"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Голосовой ввод откл."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Настройка способов ввода"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Языки ввода"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Отправить отзыв"</string>
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
index d1f966c..42e55fa 100644
--- a/java/res/values-sk/strings.xml
+++ b/java/res/values-sk/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"čas"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"Adresa URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Kľúč hlasového vstupu"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Na hlavnej klávesnici"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Na klávesnici so symbolmi"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Vypnuté"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofón na hlavnej klávesnici"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofón na klávesnici so symbolmi"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hlasový vstup je zakázaný"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Konfigurovať metódy vstupu"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Jazyky vstupu"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Odoslať spätnú väzbu"</string>
diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml
index a0f83c1..59113e3 100644
--- a/java/res/values-sl/strings.xml
+++ b/java/res/values-sl/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"ura"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Tipka za glasovni vnos"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Na glavni tipkovnici"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Na tipk. s simboli"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Izklopljeno"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mik. na glavni tipk."</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mik. na tipk. s sim."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Glas. vnos je onem."</string>
     <string name="configure_input_method" msgid="373356270290742459">"Nastavitev načinov vnosa"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Jeziki vnosa"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Pošljite povratne informacije"</string>
diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml
index ce4978f..663cb32 100644
--- a/java/res/values-sr/strings.xml
+++ b/java/res/values-sr/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"време"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Тастер за гласовни унос"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"На главној тастатури"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"На тастатури са симболима"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Искључи"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Микрофон на главној тастатури"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Микрофон на тастатури са симболима"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Гласовни унос је онемогућен"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Конфигурисање метода уноса"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Језици за унос"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Пошаљи повратне информације"</string>
diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml
index afe349a..f5e129a 100644
--- a/java/res/values-sv/strings.xml
+++ b/java/res/values-sv/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"klockslag"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"webbadresser"</string>
     <string name="voice_input" msgid="3583258583521397548">"Röstinmatningsknapp"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"På huvudtangentbord"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"På symboltangentbord"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Av"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mick huvudtangentbord"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mick bland symboler"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Röstinmatning inaktiv"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Konfigurera inmatningsmetoder"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Inmatningsspråk"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Skicka feedback"</string>
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index 191ad97..8e23496 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"wakati"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Kibao cha kuweka data kwa kutamka"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Kwenye kibodi kuu"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Kwenye kibodi ya ishara"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Zima"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Maikrofoni kwenye kibodi kuu"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Maikrofoni kwenye kibodi ya ishara"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Kipengele cha kuweka data kwa kutamka kimezimwa"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Sanidi mbinu za uingizaji"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Lugha za uingizaji"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Tuma maoni"</string>
diff --git a/java/res/values-sw540dp-land/config.xml b/java/res/values-sw540dp-land/config.xml
index b3cd727..55dcd51 100644
--- a/java/res/values-sw540dp-land/config.xml
+++ b/java/res/values-sw540dp-land/config.xml
@@ -18,6 +18,57 @@
 */
 -->
 
+<!-- Configuration values for Large Phone and Small Tablet Landscape. -->
 <resources>
     <bool name="config_use_fullscreen_mode">false</bool>
+
+    <!-- Preferable keyboard height in absolute scale: 45.0mm -->
+    <!-- This config_default_keyboard_height value should match with keyboard-heights.xml -->
+    <dimen name="config_default_keyboard_height">283.5dp</dimen>
+    <fraction name="config_min_keyboard_height">45%p</fraction>
+
+    <fraction name="config_keyboard_top_padding_gb">2.444%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_gb">0.0%p</fraction>
+    <fraction name="config_key_vertical_gap_gb">5.200%p</fraction>
+    <fraction name="config_key_horizontal_gap_gb">1.447%p</fraction>
+
+    <fraction name="config_keyboard_top_padding_holo">2.727%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_holo">0.0%p</fraction>
+    <fraction name="config_key_vertical_gap_holo">4.5%p</fraction>
+    <fraction name="config_key_horizontal_gap_holo">0.9%p</fraction>
+
+    <dimen name="config_more_keys_keyboard_key_height">81.9dp</dimen>
+
+    <!-- left or right padding of label alignment -->
+    <dimen name="config_key_label_horizontal_padding">18dp</dimen>
+
+    <fraction name="config_key_letter_ratio">50%</fraction>
+    <fraction name="config_key_large_letter_ratio">48%</fraction>
+    <fraction name="config_key_label_ratio">32%</fraction>
+    <fraction name="config_key_hint_letter_ratio">23%</fraction>
+    <fraction name="config_key_hint_label_ratio">34%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio">29%</fraction>
+    <fraction name="config_language_on_spacebar_text_ratio">30.0%</fraction>
+    <dimen name="config_key_shifted_letter_hint_padding">4dp</dimen>
+
+    <!-- For 5-row keyboard -->
+    <fraction name="config_key_vertical_gap_5row">3.20%p</fraction>
+    <fraction name="config_key_letter_ratio_5row">62%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio_5row">36%</fraction>
+
+    <dimen name="config_suggestions_strip_horizontal_padding">252.0dp</dimen>
+    <integer name="config_max_more_suggestions_row">5</integer>
+    <fraction name="config_min_more_suggestions_width">50%</fraction>
+
+    <!-- Gesture floating preview text parameters -->
+    <dimen name="config_gesture_floating_preview_text_size">26dp</dimen>
+    <dimen name="config_gesture_floating_preview_text_offset">76dp</dimen>
+    <dimen name="config_gesture_floating_preview_horizontal_padding">26dp</dimen>
+    <dimen name="config_gesture_floating_preview_vertical_padding">17dp</dimen>
+
+    <!-- Emoji keyboard -->
+    <fraction name="config_emoji_keyboard_key_width">10%p</fraction>
+    <fraction name="config_emoji_keyboard_row_height">33%p</fraction>
+    <fraction name="config_emoji_keyboard_key_letter_size">70%p</fraction>
+    <integer name="config_emoji_keyboard_max_page_key_count">30</integer>
 </resources>
diff --git a/java/res/values-sw540dp-land/dimens.xml b/java/res/values-sw540dp-land/dimens.xml
deleted file mode 100644
index 0024937..0000000
--- a/java/res/values-sw540dp-land/dimens.xml
+++ /dev/null
@@ -1,72 +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>
-    <!-- Preferable keyboard height in absolute scale: 45.0mm -->
-    <!-- This keyboardHeight value should match with keyboard-heights.xml -->
-    <dimen name="keyboardHeight">283.5dp</dimen>
-    <fraction name="minKeyboardHeight">45%p</fraction>
-
-    <fraction name="keyboard_top_padding_gb">2.444%p</fraction>
-    <fraction name="keyboard_bottom_padding_gb">0.0%p</fraction>
-    <fraction name="key_bottom_gap_gb">5.200%p</fraction>
-    <fraction name="key_horizontal_gap_gb">1.447%p</fraction>
-
-    <fraction name="keyboard_top_padding_holo">2.727%p</fraction>
-    <fraction name="keyboard_bottom_padding_holo">0.0%p</fraction>
-    <fraction name="key_bottom_gap_holo">4.5%p</fraction>
-    <fraction name="key_horizontal_gap_holo">0.9%p</fraction>
-
-    <dimen name="popup_key_height">81.9dp</dimen>
-
-    <!-- left or right padding of label alignment -->
-    <dimen name="key_label_horizontal_padding">18dp</dimen>
-
-    <fraction name="key_letter_ratio">50%</fraction>
-    <fraction name="key_large_letter_ratio">48%</fraction>
-    <fraction name="key_label_ratio">32%</fraction>
-    <fraction name="key_hint_letter_ratio">23%</fraction>
-    <fraction name="key_hint_label_ratio">34%</fraction>
-    <fraction name="key_uppercase_letter_ratio">29%</fraction>
-    <fraction name="spacebar_text_ratio">30.0%</fraction>
-    <dimen name="key_uppercase_letter_padding">4dp</dimen>
-
-    <!-- For 5-row keyboard -->
-    <fraction name="key_bottom_gap_5row">3.20%p</fraction>
-    <fraction name="key_letter_ratio_5row">62%</fraction>
-    <fraction name="key_uppercase_letter_ratio_5row">36%</fraction>
-
-    <dimen name="suggestions_strip_padding">252.0dp</dimen>
-    <integer name="max_more_suggestions_row">5</integer>
-    <fraction name="min_more_suggestions_width">50%</fraction>
-
-    <!-- Gesture floating preview text parameters -->
-    <dimen name="gesture_floating_preview_text_size">26dp</dimen>
-    <dimen name="gesture_floating_preview_text_offset">76dp</dimen>
-    <dimen name="gesture_floating_preview_horizontal_padding">26dp</dimen>
-    <dimen name="gesture_floating_preview_vertical_padding">17dp</dimen>
-
-    <!-- Emoji keyboard -->
-    <fraction name="emoji_keyboard_key_width">10%p</fraction>
-    <fraction name="emoji_keyboard_row_height">33%p</fraction>
-    <fraction name="emoji_keyboard_key_letter_size">70%p</fraction>
-    <integer name="emoji_keyboard_max_key_count">30</integer>
-
-</resources>
diff --git a/java/res/values-hdpi/config.xml b/java/res/values-sw540dp/config-screen-metrics.xml
similarity index 76%
rename from java/res/values-hdpi/config.xml
rename to java/res/values-sw540dp/config-screen-metrics.xml
index 4cf3562..1205aaa 100644
--- a/java/res/values-hdpi/config.xml
+++ b/java/res/values-sw540dp/config-screen-metrics.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2011, 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.
@@ -20,11 +20,10 @@
 
 <resources>
     <!--  Screen metrics for logging.
-            0 = "mdpi phone screen"
-            1 = "hdpi phone screen"
-            2 = "mdpi 11 inch tablet screen"
-            3 = "xhdpi phone screen?"
-            4 = ?
+            0 = "small phone screen"
+            1 = "large phone screen"
+            2 = "large tablet screen"
+            3 = "small tablet screen"
     -->
     <integer name="log_screen_metrics">1</integer>
 </resources>
diff --git a/java/res/values-sw540dp/config.xml b/java/res/values-sw540dp/config.xml
index 027780c..09fe7d3 100644
--- a/java/res/values-sw540dp/config.xml
+++ b/java/res/values-sw540dp/config.xml
@@ -18,22 +18,90 @@
 */
 -->
 
+<!-- Configuration values for Large Phone and Small Tablet Portrait. -->
 <resources>
-    <bool name="config_enable_show_option_of_key_preview_popup">false</bool>
-    <bool name="config_enable_bigram_suggestions_option">false</bool>
+    <bool name="config_enable_show_key_preview_popup_option">false</bool>
     <!-- Whether or not Popup on key press is enabled by default -->
     <bool name="config_default_key_preview_popup">false</bool>
     <bool name="config_default_sound_enabled">true</bool>
-    <bool name="config_auto_correction_spacebar_led_enabled">false</bool>
-    <!-- The language is never displayed if == 0, always displayed if < 0 -->
-    <integer name="config_delay_before_fadeout_language_on_spacebar">1200</integer>
-    <integer name="config_max_more_keys_column">5</integer>
-    <!--
-        Configuration for MainKeyboardView
-    -->
+
     <dimen name="config_key_hysteresis_distance">40.0dp</dimen>
-    <bool name="config_sliding_key_input_enabled">false</bool>
+    <bool name="config_key_selection_by_dragging_finger">false</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">true</bool>
+    <bool name="config_show_more_keys_keyboard_at_touched_point">false</bool>
+
+    <!-- Preferable keyboard height in absolute scale: 48.0mm -->
+    <!-- This config_default_keyboard_height value should match with keyboard-heights.xml -->
+    <dimen name="config_default_keyboard_height">302.4dp</dimen>
+    <fraction name="config_max_keyboard_height">46%p</fraction>
+    <fraction name="config_min_keyboard_height">-35.0%p</fraction>
+
+    <dimen name="config_more_keys_keyboard_key_height">63.0dp</dimen>
+
+    <fraction name="config_keyboard_top_padding_gb">2.291%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_gb">0.0%p</fraction>
+    <fraction name="config_key_vertical_gap_gb">4.625%p</fraction>
+    <fraction name="config_key_horizontal_gap_gb">2.113%p</fraction>
+
+    <fraction name="config_keyboard_top_padding_holo">2.335%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_holo">4.0%p</fraction>
+    <fraction name="config_key_vertical_gap_holo">4.5%p</fraction>
+    <fraction name="config_key_horizontal_gap_holo">1.565%p</fraction>
+
+    <dimen name="config_more_keys_keyboard_key_horizontal_padding">6dp</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">98.3dp</dimen>
+    <!-- config_more_keys_keyboard_key_height x -1.0 -->
+    <dimen name="config_more_keys_keyboard_vertical_correction_gb">-81.9dp</dimen>
+
+    <!-- left or right padding of label alignment -->
+    <dimen name="config_key_label_horizontal_padding">6dp</dimen>
+    <dimen name="config_key_hint_letter_padding">3dp</dimen>
+    <dimen name="config_key_shifted_letter_hint_padding">3dp</dimen>
+
+    <fraction name="config_key_letter_ratio">42%</fraction>
+    <fraction name="config_key_large_letter_ratio">45%</fraction>
+    <fraction name="config_key_label_ratio">25%</fraction>
+    <fraction name="config_key_large_label_ratio">32%</fraction>
+    <fraction name="config_key_hint_letter_ratio">23%</fraction>
+    <fraction name="config_key_hint_label_ratio">28%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio">22%</fraction>
+    <fraction name="config_key_preview_text_ratio">50%</fraction>
+    <fraction name="config_language_on_spacebar_text_ratio">28.0%</fraction>
+    <dimen name="config_key_preview_height">94.5dp</dimen>
+    <dimen name="config_key_preview_offset_gb">16.0dp</dimen>
+
+    <!-- For 5-row keyboard -->
+    <fraction name="config_key_vertical_gap_5row">3.20%p</fraction>
+    <fraction name="config_key_letter_ratio_5row">52%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio_5row">27%</fraction>
+
+    <dimen name="config_key_preview_offset_holo">8.0dp</dimen>
+    <!-- config_more_keys_keyboard_key_height x -0.5 -->
+    <dimen name="config_more_keys_keyboard_vertical_correction_holo">-31.5dp</dimen>
+
+    <dimen name="config_suggestions_strip_height">44dp</dimen>
+    <dimen name="config_more_suggestions_row_height">44dp</dimen>
+    <integer name="config_max_more_suggestions_row">6</integer>
+    <fraction name="config_min_more_suggestions_width">90%</fraction>
+    <dimen name="config_suggestions_strip_horizontal_padding">94.5dp</dimen>
+    <dimen name="config_suggestion_min_width">48.0dp</dimen>
+    <dimen name="config_suggestion_text_horizontal_padding">12dp</dimen>
+    <dimen name="config_suggestion_text_size">22dp</dimen>
+    <dimen name="config_more_suggestions_hint_text_size">33dp</dimen>
+
+    <!-- Gesture floating preview text parameters -->
+    <dimen name="config_gesture_floating_preview_text_size">28dp</dimen>
+    <dimen name="config_gesture_floating_preview_text_offset">87dp</dimen>
+    <dimen name="config_gesture_floating_preview_horizontal_padding">28dp</dimen>
+    <dimen name="config_gesture_floating_preview_vertical_padding">19dp</dimen>
+    <dimen name="config_gesture_floating_preview_round_radius">3dp</dimen>
+
+    <!-- Emoji keyboard -->
+    <fraction name="config_emoji_keyboard_key_width">12.5%p</fraction>
+    <fraction name="config_emoji_keyboard_row_height">33%p</fraction>
+    <fraction name="config_emoji_keyboard_key_letter_size">60%p</fraction>
+    <integer name="config_emoji_keyboard_max_page_key_count">24</integer>
 </resources>
diff --git a/java/res/values-sw540dp/dimens.xml b/java/res/values-sw540dp/dimens.xml
deleted file mode 100644
index 801b7ac..0000000
--- a/java/res/values-sw540dp/dimens.xml
+++ /dev/null
@@ -1,98 +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>
-    <!-- Preferable keyboard height in absolute scale: 48.0mm -->
-    <!-- This keyboardHeight value should match with keyboard-heights.xml -->
-    <dimen name="keyboardHeight">302.4dp</dimen>
-    <fraction name="maxKeyboardHeight">46%p</fraction>
-    <fraction name="minKeyboardHeight">-35.0%p</fraction>
-
-    <dimen name="popup_key_height">63.0dp</dimen>
-
-    <fraction name="keyboard_top_padding_gb">2.291%p</fraction>
-    <fraction name="keyboard_bottom_padding_gb">0.0%p</fraction>
-    <fraction name="key_bottom_gap_gb">4.625%p</fraction>
-    <fraction name="key_horizontal_gap_gb">2.113%p</fraction>
-
-    <fraction name="keyboard_top_padding_holo">2.335%p</fraction>
-    <fraction name="keyboard_bottom_padding_holo">4.0%p</fraction>
-    <fraction name="key_bottom_gap_holo">4.5%p</fraction>
-    <fraction name="key_horizontal_gap_holo">1.565%p</fraction>
-
-    <dimen name="more_keys_keyboard_key_horizontal_padding">6dp</dimen>
-    <!-- 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">98.3dp</dimen>
-    <!-- popup_key_height x -1.0 -->
-    <dimen name="more_keys_keyboard_vertical_correction_gb">-81.9dp</dimen>
-
-    <!-- left or right padding of label alignment -->
-    <dimen name="key_label_horizontal_padding">6dp</dimen>
-    <dimen name="key_hint_letter_padding">3dp</dimen>
-    <dimen name="key_uppercase_letter_padding">3dp</dimen>
-
-    <fraction name="key_letter_ratio">42%</fraction>
-    <fraction name="key_large_letter_ratio">45%</fraction>
-    <fraction name="key_label_ratio">25%</fraction>
-    <fraction name="key_large_label_ratio">32%</fraction>
-    <fraction name="key_hint_letter_ratio">23%</fraction>
-    <fraction name="key_hint_label_ratio">28%</fraction>
-    <fraction name="key_uppercase_letter_ratio">22%</fraction>
-    <fraction name="key_preview_text_ratio">50%</fraction>
-    <fraction name="spacebar_text_ratio">28.0%</fraction>
-    <dimen name="key_preview_height">94.5dp</dimen>
-    <dimen name="key_preview_offset_gb">16.0dp</dimen>
-
-    <!-- For 5-row keyboard -->
-    <fraction name="key_bottom_gap_5row">3.20%p</fraction>
-    <fraction name="key_letter_ratio_5row">52%</fraction>
-    <fraction name="key_uppercase_letter_ratio_5row">27%</fraction>
-
-    <dimen name="key_preview_offset_holo">8.0dp</dimen>
-    <!-- popup_key_height x -0.5 -->
-    <dimen name="more_keys_keyboard_vertical_correction_holo">-31.5dp</dimen>
-
-    <dimen name="suggestions_strip_height">44dp</dimen>
-    <dimen name="more_suggestions_row_height">44dp</dimen>
-    <integer name="max_more_suggestions_row">6</integer>
-    <fraction name="min_more_suggestions_width">90%</fraction>
-    <dimen name="suggestions_strip_padding">94.5dp</dimen>
-    <dimen name="suggestion_min_width">48.0dp</dimen>
-    <dimen name="suggestion_padding">12dp</dimen>
-    <dimen name="suggestion_text_size">22dp</dimen>
-    <dimen name="more_suggestions_hint_text_size">33dp</dimen>
-
-    <!-- Gesture trail parameters -->
-    <dimen name="gesture_trail_width">2.5dp</dimen>
-    <!-- Gesture floating preview text parameters -->
-    <dimen name="gesture_floating_preview_text_size">28dp</dimen>
-    <dimen name="gesture_floating_preview_text_offset">87dp</dimen>
-    <dimen name="gesture_floating_preview_horizontal_padding">28dp</dimen>
-    <dimen name="gesture_floating_preview_vertical_padding">19dp</dimen>
-    <dimen name="gesture_floating_preview_round_radius">3dp</dimen>
-
-    <!-- Emoji keyboard -->
-    <fraction name="emoji_keyboard_key_width">12.5%p</fraction>
-    <fraction name="emoji_keyboard_row_height">33%p</fraction>
-    <fraction name="emoji_keyboard_key_letter_size">60%p</fraction>
-    <integer name="emoji_keyboard_max_key_count">24</integer>
-
-</resources>
diff --git a/java/res/layout/key_preview_klp.xml b/java/res/values-sw600dp/config-screen-metrics.xml
similarity index 70%
copy from java/res/layout/key_preview_klp.xml
copy to java/res/values-sw600dp/config-screen-metrics.xml
index 160aeb9..e939c06 100644
--- a/java/res/layout/key_preview_klp.xml
+++ b/java/res/values-sw600dp/config-screen-metrics.xml
@@ -18,10 +18,12 @@
 */
 -->
 
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_klp"
-    android:minWidth="32dp"
-    android:gravity="center"
-/>
+<resources>
+    <!--  Screen metrics for logging.
+            0 = "small phone screen"
+            1 = "large phone screen"
+            2 = "large tablet screen"
+            3 = "small tablet screen"
+    -->
+    <integer name="log_screen_metrics">3</integer>
+</resources>
diff --git a/java/res/values-sw600dp/config.xml b/java/res/values-sw600dp/config.xml
index e72e494..c2419b6 100644
--- a/java/res/values-sw600dp/config.xml
+++ b/java/res/values-sw600dp/config.xml
@@ -18,6 +18,7 @@
 */
 -->
 
+<!-- Configuration values for Small Tablet Portrait. -->
 <resources>
     <bool name="config_enable_show_voice_key_option">false</bool>
 </resources>
diff --git a/java/res/values-sw768dp-land/config.xml b/java/res/values-sw768dp-land/config.xml
index b3cd727..b27d4c0 100644
--- a/java/res/values-sw768dp-land/config.xml
+++ b/java/res/values-sw768dp-land/config.xml
@@ -18,6 +18,58 @@
 */
 -->
 
+<!-- Configuration values for Large Tablet Landscape. -->
 <resources>
     <bool name="config_use_fullscreen_mode">false</bool>
+
+    <!-- Preferable keyboard height in absolute scale: 58.0mm -->
+    <!-- This config_default_keyboard_height value should match with keyboard-heights.xml -->
+    <dimen name="config_default_keyboard_height">365.4dp</dimen>
+    <fraction name="config_min_keyboard_height">45%p</fraction>
+
+    <fraction name="config_keyboard_top_padding_gb">1.896%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_gb">0.0%p</fraction>
+    <fraction name="config_key_vertical_gap_gb">3.896%p</fraction>
+    <fraction name="config_key_horizontal_gap_gb">1.195%p</fraction>
+
+    <fraction name="config_keyboard_top_padding_holo">1.896%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_holo">0.0%p</fraction>
+    <fraction name="config_key_vertical_gap_holo">3.690%p</fraction>
+    <fraction name="config_key_horizontal_gap_holo">1.030%p</fraction>
+
+    <dimen name="config_more_keys_keyboard_key_height">81.9dp</dimen>
+
+    <!-- left or right padding of label alignment -->
+    <dimen name="config_key_label_horizontal_padding">18dp</dimen>
+
+    <fraction name="config_key_letter_ratio">43%</fraction>
+    <fraction name="config_key_large_letter_ratio">42%</fraction>
+    <fraction name="config_key_label_ratio">28%</fraction>
+    <fraction name="config_key_hint_letter_ratio">23%</fraction>
+    <fraction name="config_key_hint_label_ratio">28%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio">24%</fraction>
+    <fraction name="config_language_on_spacebar_text_ratio">24.00%</fraction>
+    <dimen name="config_key_preview_height">107.1dp</dimen>
+
+    <!-- For 5-row keyboard -->
+    <fraction name="config_key_vertical_gap_5row">2.65%p</fraction>
+    <fraction name="config_key_letter_ratio_5row">53%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio_5row">30%</fraction>
+
+    <dimen name="config_key_preview_offset_holo">8.0dp</dimen>
+
+    <dimen name="config_suggestions_strip_horizontal_padding">252.0dp</dimen>
+    <fraction name="config_min_more_suggestions_width">50%</fraction>
+
+    <!-- Gesture floating preview text parameters -->
+    <dimen name="config_gesture_floating_preview_text_size">32dp</dimen>
+    <dimen name="config_gesture_floating_preview_text_offset">100dp</dimen>
+    <dimen name="config_gesture_floating_preview_horizontal_padding">32dp</dimen>
+    <dimen name="config_gesture_floating_preview_vertical_padding">21dp</dimen>
+
+    <!-- Emoji keyboard -->
+    <fraction name="config_emoji_keyboard_key_width">7.69%p</fraction>
+    <fraction name="config_emoji_keyboard_row_height">33%p</fraction>
+    <fraction name="config_emoji_keyboard_key_letter_size">60%p</fraction>
+    <integer name="config_emoji_keyboard_max_page_key_count">39</integer>
 </resources>
diff --git a/java/res/values-sw768dp-land/dimens.xml b/java/res/values-sw768dp-land/dimens.xml
deleted file mode 100644
index 653f5e7..0000000
--- a/java/res/values-sw768dp-land/dimens.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, 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: 58.0mm -->
-    <!-- This keyboardHeight value should match with keyboard-heights.xml -->
-    <dimen name="keyboardHeight">365.4dp</dimen>
-    <fraction name="minKeyboardHeight">45%p</fraction>
-
-    <fraction name="keyboard_top_padding_gb">1.896%p</fraction>
-    <fraction name="keyboard_bottom_padding_gb">0.0%p</fraction>
-    <fraction name="key_bottom_gap_gb">3.896%p</fraction>
-    <fraction name="key_horizontal_gap_gb">1.195%p</fraction>
-
-    <fraction name="keyboard_top_padding_holo">1.896%p</fraction>
-    <fraction name="keyboard_bottom_padding_holo">0.0%p</fraction>
-    <fraction name="key_bottom_gap_holo">3.690%p</fraction>
-    <fraction name="key_horizontal_gap_holo">1.030%p</fraction>
-
-    <dimen name="popup_key_height">81.9dp</dimen>
-
-    <!-- left or right padding of label alignment -->
-    <dimen name="key_label_horizontal_padding">18dp</dimen>
-
-    <fraction name="key_letter_ratio">43%</fraction>
-    <fraction name="key_large_letter_ratio">42%</fraction>
-    <fraction name="key_label_ratio">28%</fraction>
-    <fraction name="key_hint_letter_ratio">23%</fraction>
-    <fraction name="key_hint_label_ratio">28%</fraction>
-    <fraction name="key_uppercase_letter_ratio">24%</fraction>
-    <fraction name="spacebar_text_ratio">24.00%</fraction>
-    <dimen name="key_preview_height">107.1dp</dimen>
-
-    <!-- For 5-row keyboard -->
-    <fraction name="key_bottom_gap_5row">2.65%p</fraction>
-    <fraction name="key_letter_ratio_5row">53%</fraction>
-    <fraction name="key_uppercase_letter_ratio_5row">30%</fraction>
-
-    <dimen name="key_preview_offset_holo">8.0dp</dimen>
-
-    <dimen name="suggestions_strip_padding">252.0dp</dimen>
-    <fraction name="min_more_suggestions_width">50%</fraction>
-
-    <!-- Gesture floating preview text parameters -->
-    <dimen name="gesture_floating_preview_text_size">32dp</dimen>
-    <dimen name="gesture_floating_preview_text_offset">100dp</dimen>
-    <dimen name="gesture_floating_preview_horizontal_padding">32dp</dimen>
-    <dimen name="gesture_floating_preview_vertical_padding">21dp</dimen>
-
-    <!-- Emoji keyboard -->
-    <fraction name="emoji_keyboard_key_width">7.69%p</fraction>
-    <fraction name="emoji_keyboard_row_height">33%p</fraction>
-    <fraction name="emoji_keyboard_key_letter_size">60%p</fraction>
-    <integer name="emoji_keyboard_max_key_count">39</integer>
-
-</resources>
diff --git a/java/res/layout/key_preview_klp.xml b/java/res/values-sw768dp/config-screen-metrics.xml
similarity index 70%
copy from java/res/layout/key_preview_klp.xml
copy to java/res/values-sw768dp/config-screen-metrics.xml
index 160aeb9..c555cbb 100644
--- a/java/res/layout/key_preview_klp.xml
+++ b/java/res/values-sw768dp/config-screen-metrics.xml
@@ -18,10 +18,12 @@
 */
 -->
 
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_klp"
-    android:minWidth="32dp"
-    android:gravity="center"
-/>
+<resources>
+    <!--  Screen metrics for logging.
+            0 = "small phone screen"
+            1 = "large phone screen"
+            2 = "large tablet screen"
+            3 = "small tablet screen"
+    -->
+    <integer name="log_screen_metrics">2</integer>
+</resources>
diff --git a/java/res/values-sw768dp/config.xml b/java/res/values-sw768dp/config.xml
index e1c07d6..b63b509 100644
--- a/java/res/values-sw768dp/config.xml
+++ b/java/res/values-sw768dp/config.xml
@@ -18,28 +18,90 @@
 */
 -->
 
+<!-- Configuration values for Large Tablet Portrait. -->
 <resources>
     <bool name="config_enable_show_voice_key_option">false</bool>
-    <bool name="config_enable_show_option_of_key_preview_popup">false</bool>
-    <bool name="config_enable_bigram_suggestions_option">false</bool>
+    <bool name="config_enable_show_key_preview_popup_option">false</bool>
     <!-- Whether or not Popup on key press is enabled by default -->
     <bool name="config_default_key_preview_popup">false</bool>
     <bool name="config_default_sound_enabled">true</bool>
-    <bool name="config_auto_correction_spacebar_led_enabled">false</bool>
-    <integer name="config_max_more_keys_column">5</integer>
-    <!--
-        Configuration for MainKeyboardView
-    -->
-    <bool name="config_sliding_key_input_enabled">false</bool>
+
+    <bool name="config_key_selection_by_dragging_finger">false</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">true</bool>
-    <!--  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">2</integer>
+
+    <!-- Preferable keyboard height in absolute scale: 48.0mm -->
+    <!-- This config_default_keyboard_height value should match with keyboard-heights.xml -->
+    <dimen name="config_default_keyboard_height">302.4dp</dimen>
+    <fraction name="config_max_keyboard_height">46%p</fraction>
+    <fraction name="config_min_keyboard_height">-35.0%p</fraction>
+
+    <fraction name="config_keyboard_top_padding_gb">2.291%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_gb">0.0%p</fraction>
+    <fraction name="config_key_vertical_gap_gb">4.687%p</fraction>
+    <fraction name="config_key_horizontal_gap_gb">1.272%p</fraction>
+
+    <fraction name="config_keyboard_top_padding_holo">2.335%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_holo">0.0%p</fraction>
+    <fraction name="config_key_vertical_gap_holo">3.312%p</fraction>
+    <fraction name="config_key_horizontal_gap_holo">1.066%p</fraction>
+
+    <dimen name="config_more_keys_keyboard_key_height">63.0dp</dimen>
+
+    <dimen name="config_more_keys_keyboard_key_horizontal_padding">12dp</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">98.3dp</dimen>
+    <!-- config_more_keys_keyboard_key_height x -1.0 -->
+    <dimen name="config_more_keys_keyboard_vertical_correction_gb">-81.9dp</dimen>
+
+    <!-- left or right padding of label alignment -->
+    <dimen name="config_key_label_horizontal_padding">6dp</dimen>
+    <dimen name="config_key_hint_letter_padding">3dp</dimen>
+    <dimen name="config_key_shifted_letter_hint_padding">3dp</dimen>
+
+    <fraction name="config_key_letter_ratio">40%</fraction>
+    <fraction name="config_key_large_letter_ratio">42%</fraction>
+    <fraction name="config_key_label_ratio">28%</fraction>
+    <fraction name="config_key_large_label_ratio">28%</fraction>
+    <fraction name="config_key_hint_letter_ratio">23%</fraction>
+    <fraction name="config_key_hint_label_ratio">28%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio">26%</fraction>
+    <fraction name="config_key_preview_text_ratio">50%</fraction>
+    <fraction name="config_language_on_spacebar_text_ratio">29.03%</fraction>
+    <dimen name="config_key_preview_height">94.5dp</dimen>
+    <dimen name="config_key_preview_offset_gb">16.0dp</dimen>
+
+    <!-- For 5-row keyboard -->
+    <fraction name="config_key_vertical_gap_5row">2.95%p</fraction>
+    <fraction name="config_key_letter_ratio_5row">51%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio_5row">33%</fraction>
+
+    <dimen name="config_key_preview_offset_holo">8.0dp</dimen>
+    <!-- config_more_keys_keyboard_key_height x -0.5 -->
+    <dimen name="config_more_keys_keyboard_vertical_correction_holo">-31.5dp</dimen>
+
+    <dimen name="config_suggestions_strip_height">44dp</dimen>
+    <dimen name="config_more_suggestions_row_height">44dp</dimen>
+    <integer name="config_max_more_suggestions_row">6</integer>
+    <fraction name="config_min_more_suggestions_width">90%</fraction>
+    <dimen name="config_suggestions_strip_horizontal_padding">94.5dp</dimen>
+    <dimen name="config_suggestion_min_width">46dp</dimen>
+    <dimen name="config_suggestion_text_horizontal_padding">8dp</dimen>
+    <dimen name="config_suggestion_text_size">22dp</dimen>
+    <dimen name="config_more_suggestions_hint_text_size">33dp</dimen>
+
+    <!-- Gesture floating preview text parameters -->
+    <dimen name="config_gesture_floating_preview_text_size">26dp</dimen>
+    <dimen name="config_gesture_floating_preview_text_offset">86dp</dimen>
+    <dimen name="config_gesture_floating_preview_horizontal_padding">26dp</dimen>
+    <dimen name="config_gesture_floating_preview_vertical_padding">17dp</dimen>
+    <dimen name="config_gesture_floating_preview_round_radius">3dp</dimen>
+
+    <!-- Emoji keyboard -->
+    <fraction name="config_emoji_keyboard_key_width">10%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">30</integer>
 </resources>
diff --git a/java/res/values-sw768dp/dimens.xml b/java/res/values-sw768dp/dimens.xml
deleted file mode 100644
index 4671aa2..0000000
--- a/java/res/values-sw768dp/dimens.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, 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: 48.0mm -->
-    <!-- This keyboardHeight value should match with keyboard-heights.xml -->
-    <dimen name="keyboardHeight">302.4dp</dimen>
-    <fraction name="maxKeyboardHeight">46%p</fraction>
-    <fraction name="minKeyboardHeight">-35.0%p</fraction>
-
-    <fraction name="keyboard_top_padding_gb">2.291%p</fraction>
-    <fraction name="keyboard_bottom_padding_gb">0.0%p</fraction>
-    <fraction name="key_bottom_gap_gb">4.687%p</fraction>
-    <fraction name="key_horizontal_gap_gb">1.272%p</fraction>
-
-    <fraction name="keyboard_top_padding_holo">2.335%p</fraction>
-    <fraction name="keyboard_bottom_padding_holo">0.0%p</fraction>
-    <fraction name="key_bottom_gap_holo">3.312%p</fraction>
-    <fraction name="key_horizontal_gap_holo">1.066%p</fraction>
-
-    <dimen name="popup_key_height">63.0dp</dimen>
-
-    <dimen name="more_keys_keyboard_key_horizontal_padding">12dp</dimen>
-    <!-- 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">98.3dp</dimen>
-    <!-- popup_key_height x -1.0 -->
-    <dimen name="more_keys_keyboard_vertical_correction_gb">-81.9dp</dimen>
-
-    <!-- left or right padding of label alignment -->
-    <dimen name="key_label_horizontal_padding">6dp</dimen>
-    <dimen name="key_hint_letter_padding">3dp</dimen>
-    <dimen name="key_uppercase_letter_padding">3dp</dimen>
-
-    <fraction name="key_letter_ratio">40%</fraction>
-    <fraction name="key_large_letter_ratio">42%</fraction>
-    <fraction name="key_label_ratio">28%</fraction>
-    <fraction name="key_large_label_ratio">28%</fraction>
-    <fraction name="key_hint_letter_ratio">23%</fraction>
-    <fraction name="key_hint_label_ratio">28%</fraction>
-    <fraction name="key_uppercase_letter_ratio">26%</fraction>
-    <fraction name="key_preview_text_ratio">50%</fraction>
-    <fraction name="spacebar_text_ratio">29.03%</fraction>
-    <dimen name="key_preview_height">94.5dp</dimen>
-    <dimen name="key_preview_offset_gb">16.0dp</dimen>
-
-    <!-- For 5-row keyboard -->
-    <fraction name="key_bottom_gap_5row">2.95%p</fraction>
-    <fraction name="key_letter_ratio_5row">51%</fraction>
-    <fraction name="key_uppercase_letter_ratio_5row">33%</fraction>
-
-    <dimen name="key_preview_offset_holo">8.0dp</dimen>
-    <!-- popup_key_height x -0.5 -->
-    <dimen name="more_keys_keyboard_vertical_correction_holo">-31.5dp</dimen>
-
-    <dimen name="suggestions_strip_height">44dp</dimen>
-    <dimen name="more_suggestions_row_height">44dp</dimen>
-    <integer name="max_more_suggestions_row">6</integer>
-    <fraction name="min_more_suggestions_width">90%</fraction>
-    <dimen name="suggestions_strip_padding">94.5dp</dimen>
-    <dimen name="suggestion_min_width">46dp</dimen>
-    <dimen name="suggestion_padding">8dp</dimen>
-    <dimen name="suggestion_text_size">22dp</dimen>
-    <dimen name="more_suggestions_hint_text_size">33dp</dimen>
-
-    <!-- Gesture trail parameters -->
-    <dimen name="gesture_trail_width">2.5dp</dimen>
-    <!-- Gesture floating preview text parameters -->
-    <dimen name="gesture_floating_preview_text_size">26dp</dimen>
-    <dimen name="gesture_floating_preview_text_offset">86dp</dimen>
-    <dimen name="gesture_floating_preview_horizontal_padding">26dp</dimen>
-    <dimen name="gesture_floating_preview_vertical_padding">17dp</dimen>
-    <dimen name="gesture_floating_preview_round_radius">3dp</dimen>
-
-    <!-- Emoji keyboard -->
-    <fraction name="emoji_keyboard_key_width">10%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">30</integer>
-
-</resources>
diff --git a/java/res/values-th/donottranslate.xml b/java/res/values-th/config-spacing-and-punctuations.xml
similarity index 100%
rename from java/res/values-th/donottranslate.xml
rename to java/res/values-th/config-spacing-and-punctuations.xml
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index 9249c05..8b15676 100644
--- a/java/res/values-th/strings.xml
+++ b/java/res/values-th/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"เวลา"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"แป้นการป้อนข้อมูลด้วยเสียง"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"บนแป้นพิมพ์หลัก"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"บนแป้นพิมพ์สัญลักษณ์"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"ปิด"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"ไมค์บนแป้นพิมพ์หลัก"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"ไมค์บนแป้นพิมพ์สัญลักษณ์"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ปิดใช้งานป้อนข้อมูลด้วยเสียง"</string>
     <string name="configure_input_method" msgid="373356270290742459">"กำหนดค่าวิธีการป้อนข้อมูล"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"ภาษาในการป้อนข้อมูล"</string>
     <string name="send_feedback" msgid="1780431884109392046">"ส่งข้อเสนอแนะ"</string>
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
index df6bda0..5da0861 100644
--- a/java/res/values-tl/strings.xml
+++ b/java/res/values-tl/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"oras"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Voice input key"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Sa pangunahing keyboard"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Sa keyboard ng mga simbolo"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Naka-off"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic sa pangunahing keyboard"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic sa keyboard ng mga simbolo"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hindi pinagana ang voice input"</string>
     <string name="configure_input_method" msgid="373356270290742459">"I-configure ang mga pamamaraan ng pag-input"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Mag-input ng mga wika"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Magpadala ng feedback"</string>
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
index a142951..7304f46 100644
--- a/java/res/values-tr/strings.xml
+++ b/java/res/values-tr/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"saat"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Ses girişi tuşu"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Ana klavyede"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Simge klavyesinde"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Kapalı"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Ana klavyedeki mikrofon"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Simge klavysnd mikrf"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Sesle grş devre dışı"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Giriş yöntemlerini yapılandır"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Giriş dilleri"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Geri bildirim gönder"</string>
diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml
index da26d50..ab95291 100644
--- a/java/res/values-uk/strings.xml
+++ b/java/res/values-uk/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"час"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL-адреси"</string>
     <string name="voice_input" msgid="3583258583521397548">"Ключ голосового вводу"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"На основ. клавіатурі"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Символьна клавіатура"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Вимк."</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Мікрофон на основній клавіатурі"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Miкр. на симв. клавіат."</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Голос. ввід вимкнено"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Налаштування методів введення"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Мови вводу"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Надіслати відгук"</string>
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
index 81cd373..d75016a 100644
--- a/java/res/values-vi/strings.xml
+++ b/java/res/values-vi/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"giờ"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Khóa nhập giọng nói"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Trên bàn phím chính"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Trên bàn phím biểu tượng"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"Tắt"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micrô trên bàn phím chính"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micrô trên bàn phím biểu tượng"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Nhập liệu bằng giọng nói đã bị tắt"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Định cấu hình phương thức nhập"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Ngôn ngữ nhập"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Gửi phản hồi"</string>
diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml
index d347c9c..1b59935 100644
--- a/java/res/values-zh-rCN/strings.xml
+++ b/java/res/values-zh-rCN/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"时间"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"网址"</string>
     <string name="voice_input" msgid="3583258583521397548">"语音输入键"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"主键盘上"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"符号键盘上"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"关闭"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"主键盘上的麦克风"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"符号键盘上的麦克风"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"语音输入功能已停用"</string>
     <string name="configure_input_method" msgid="373356270290742459">"配置输入法"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"输入语言"</string>
     <string name="send_feedback" msgid="1780431884109392046">"发送反馈"</string>
diff --git a/java/res/values-zh-rHK/strings.xml b/java/res/values-zh-rHK/strings.xml
index 3060455..665728d 100644
--- a/java/res/values-zh-rHK/strings.xml
+++ b/java/res/values-zh-rHK/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"時間"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"網址"</string>
     <string name="voice_input" msgid="3583258583521397548">"語音輸入鍵"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"於主鍵盤"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"符號鍵盤上"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"關閉"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"主鍵盤上的麥克風"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"符號鍵盤上的麥克風"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"語音輸入已停用"</string>
     <string name="configure_input_method" msgid="373356270290742459">"設定輸入法"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"輸入語言"</string>
     <string name="send_feedback" msgid="1780431884109392046">"傳送意見"</string>
diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml
index 2c474b7..d082fc7 100644
--- a/java/res/values-zh-rTW/strings.xml
+++ b/java/res/values-zh-rTW/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"時間"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"網址"</string>
     <string name="voice_input" msgid="3583258583521397548">"語音輸入按鍵"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"主鍵盤上"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"符號鍵盤上"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"關閉"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"主鍵盤上的麥克風"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"符號鍵盤上的麥克風"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"語音輸入已停用"</string>
     <string name="configure_input_method" msgid="373356270290742459">"設定輸入法"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"輸入語言"</string>
     <string name="send_feedback" msgid="1780431884109392046">"提供意見"</string>
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
index 27d1131..fb2cd6e 100644
--- a/java/res/values-zu/strings.xml
+++ b/java/res/values-zu/strings.xml
@@ -117,12 +117,6 @@
     <string name="keyboard_mode_time" msgid="4381856885582143277">"isikhathi"</string>
     <string name="keyboard_mode_url" msgid="1519819835514911218">"I-URL"</string>
     <string name="voice_input" msgid="3583258583521397548">"Inkinobho yokufaka izwi"</string>
-    <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Kwikhibhodi eyisisekelo"</string>
-    <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Ikhibhodi yezimpawu"</string>
-    <string name="voice_input_modes_off" msgid="3745699748218082014">"VALIWE"</string>
-    <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"I-mic kwikhibhodi eyisisekelo"</string>
-    <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Ikhibhodi yezimpawu ze-mic"</string>
-    <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Okufakwayo ngezwi kuvinjelwe"</string>
     <string name="configure_input_method" msgid="373356270290742459">"Misa izindlela zokufakwayo"</string>
     <string name="language_selection_title" msgid="1651299598555326750">"Izilimi zokufakwayo"</string>
     <string name="send_feedback" msgid="1780431884109392046">"Thumela impendulo"</string>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 31945d0..a9474a0 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -26,14 +26,14 @@
         <attr name="keyboardViewStyle" format="reference" />
         <!-- MainKeyboardView style -->
         <attr name="mainKeyboardViewStyle" format="reference" />
+        <!-- Key preview text view style -->
+        <attr name="keyPreviewTextViewStyle" format="reference"/>
         <!-- EmojiPalettesView style -->
         <attr name="emojiPalettesViewStyle" format="reference" />
         <!-- MoreKeysKeyboard style -->
         <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,9 +41,9 @@
     </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. -->
+        <!-- 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" />
@@ -72,9 +72,11 @@
         <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="languageOnSpacebarTextShadowColor" format="color" />
+        <!-- Background image for the spacebar. -->
+        <attr name="spacebarBackground" format="reference" />
         <!-- Fadeout animator for spacebar language label. -->
         <attr name="languageOnSpacebarFinalAlpha" format="integer" />
         <attr name="languageOnSpacebarFadeoutAnimator" format="reference" />
@@ -89,8 +91,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" />
@@ -109,6 +111,10 @@
         <attr name="keyPreviewOffset" format="dimension" />
         <!-- Height of the key press feedback popup. -->
         <attr name="keyPreviewHeight" format="dimension" />
+        <!-- Duration of key preview popup zoom in animation in millisecond -->
+        <attr name="keyPreviewZoomInDuration" format="integer" />
+        <!-- Duration of key preview popup zoom out animation in millisecond -->
+        <attr name="keyPreviewZoomOutDuration" format="integer" />
         <!-- Delay after key releasing and key press feedback dismissing in millisecond -->
         <attr name="keyPreviewLingerTimeout" format="integer" />
         <!-- Layout resource for more keys keyboard -->
@@ -217,7 +223,6 @@
         <attr name="iconSearchKey" 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" />
@@ -276,6 +281,8 @@
         <attr name="keyLabel" 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__* -->
@@ -292,17 +299,20 @@
             <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, disable keyHintLabel. -->
             <flag name="disableKeyHintLabel" value="0x40000000" />
             <!-- If true, disable additionalMoreKeys. -->
@@ -415,8 +425,7 @@
         <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="supportsSwitchingToShortcutIme" format="boolean" />
         <attr name="hasShortcutKey" format="boolean" />
         <attr name="languageSwitchKeyEnabled" format="boolean" />
         <attr name="isMultiLine" format="boolean" />
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 0000000..7d94a42
--- /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 0000000..ab16a90
--- /dev/null
+++ b/java/res/values/config-common.xml
@@ -0,0 +1,142 @@
+<?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>
+
+    <!-- This configuration is an index of  {@link KeyboardSwitcher#KEYBOARD_THEMES[]}. -->
+    <string name="config_default_keyboard_theme_index" translatable="false">2</string>
+
+    <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_zoom_in_duration">35</integer>
+    <integer name="config_key_preview_zoom_out_duration">40</integer>
+    <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_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">3dp</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>
+</resources>
diff --git a/java/res/values/config-dictionary-pack.xml b/java/res/values/config-dictionary-pack.xml
new file mode 100644
index 0000000..d076af4
--- /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/layout/key_preview_klp.xml b/java/res/values/config-screen-metrics.xml
similarity index 70%
copy from java/res/layout/key_preview_klp.xml
copy to java/res/values/config-screen-metrics.xml
index 160aeb9..7b98706 100644
--- a/java/res/layout/key_preview_klp.xml
+++ b/java/res/values/config-screen-metrics.xml
@@ -18,10 +18,12 @@
 */
 -->
 
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_klp"
-    android:minWidth="32dp"
-    android:gravity="center"
-/>
+<resources>
+    <!--  Screen metrics for logging.
+            0 = "small phone screen"
+            1 = "large phone screen"
+            2 = "large tablet screen"
+            3 = "small tablet screen"
+    -->
+    <integer name="log_screen_metrics">0</integer>
+</resources>
diff --git a/java/res/values/config-spacing-and-punctuations.xml b/java/res/values/config-spacing-and-punctuations.xml
new file mode 100644
index 0000000..f10f810
--- /dev/null
+++ b/java/res/values/config-spacing-and-punctuations.xml
@@ -0,0 +1,39 @@
+<?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" translatable="false">!,?,\\,,:,;,\",(,),\',-,/,@,_</string>
+    <!-- Symbols that are normally preceded by a space (used to add an auto-space before these) -->
+    <string name="symbols_preceded_by_space" translatable="false">([{&amp;</string>
+    <!-- Symbols that are normally followed by a space (used to add an auto-space after these) -->
+    <string name="symbols_followed_by_space" translatable="false">.,;:!?)]}&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" translatable="false">"&#x0009;&#x0020;\n"()[]{}*&amp;&lt;&gt;+=|.,;:!?/_\"</string>
+    <!-- Word connectors -->
+    <string name="symbols_word_connectors" translatable="false">\'-</string>
+    <!-- The sentence separator code point, for capitalization -->
+    <!-- U+002E: "." FULL STOP   ; 2Eh = 46d -->
+    <integer name="sentence_separator" translatable="false">46</integer>
+    <!-- Whether this language uses spaces between words -->
+    <bool name="current_language_has_spaces">true</bool>
+</resources>
diff --git a/java/res/layout/key_preview_klp.xml b/java/res/values/config-spellchecker-thresholds.xml
similarity index 70%
copy from java/res/layout/key_preview_klp.xml
copy to java/res/values/config-spellchecker-thresholds.xml
index 160aeb9..e99ba66 100644
--- a/java/res/layout/key_preview_klp.xml
+++ b/java/res/values/config-spellchecker-thresholds.xml
@@ -18,10 +18,8 @@
 */
 -->
 
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_klp"
-    android:minWidth="32dp"
-    android:gravity="center"
-/>
+<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 61779d4..698efa9 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -18,120 +18,92 @@
 */
 -->
 
+<!-- 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>
+    <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>
-    <!-- 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 -->
+    <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>
-    <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>
+
+    <dimen name="config_more_keys_keyboard_key_horizontal_padding">8dp</dimen>
+
+    <fraction name="config_keyboard_top_padding_gb">1.556%p</fraction>
+    <fraction name="config_keyboard_bottom_padding_gb">4.669%p</fraction>
+    <fraction name="config_key_vertical_gap_gb">6.495%p</fraction>
+    <fraction name="config_key_horizontal_gap_gb">1.971%p</fraction>
+
+    <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>
+
+    <!-- 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>
+    <!-- config_more_keys_keyboard_key_height x -1.0 -->
+    <dimen name="config_more_keys_keyboard_vertical_correction_gb">-52.8dp</dimen>
+
+    <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_key_preview_text_ratio">82%</fraction>
+    <fraction name="config_language_on_spacebar_text_ratio">33.735%</fraction>
+    <dimen name="config_key_preview_height">80dp</dimen>
+    <dimen name="config_key_preview_offset_gb">-8.0dp</dimen>
+
+    <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">64%</fraction>
+    <fraction name="config_key_shifted_letter_hint_ratio_5row">41%</fraction>
+
+    <dimen name="config_key_preview_offset_holo">8.0dp</dimen>
+    <!-- config_more_keys_keyboard_key_height x -0.5 -->
+    <dimen name="config_more_keys_keyboard_vertical_correction_holo">-26.4dp</dimen>
+
+    <dimen name="config_suggestions_strip_height">40dp</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_suggestions_strip_horizontal_padding">0dp</dimen>
+    <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 4588b10..0000000
--- 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.xml b/java/res/values/donottranslate.xml
index af5ec06..4be5863 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,43 +38,9 @@
        <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>
diff --git a/java/res/values/keyboard-icons-holo.xml b/java/res/values/keyboard-icons-holo.xml
index b49e1d1..4c888d5 100644
--- a/java/res/values/keyboard-icons-holo.xml
+++ b/java/res/values/keyboard-icons-holo.xml
@@ -32,7 +32,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/strings.xml b/java/res/values/strings.xml
index 11b3ea3..a269d49 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -245,21 +245,6 @@
     <!-- 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>
-
     <!-- Title for configuring input method settings [CHAR LIMIT=35] -->
     <string name="configure_input_method">Configure input methods</string>
 
diff --git a/java/res/values/themes-common.xml b/java/res/values/themes-common.xml
index 298936d..7c9b51c 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,14 @@
         <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="keyPreviewLayout">@layout/key_preview</item>
+        <item name="keyPreviewHeight">@dimen/config_key_preview_height</item>
+        <item name="keyPreviewZoomInDuration">@integer/config_key_preview_zoom_in_duration</item>
+        <item name="keyPreviewZoomOutDuration">@integer/config_key_preview_zoom_out_duration</item>
         <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.
@@ -104,6 +107,7 @@
     <style
         name="MainKeyboardView"
         parent="KeyboardView" />
+    <style name="KeyPreviewTextView" />
     <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
          for instance delete button, need themed {@link KeyboardView} attributes. -->
     <style
@@ -118,14 +122,14 @@
         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>
+        <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>
     </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
index f52695f..52ecafd 100644
--- a/java/res/values/themes-gb.xml
+++ b/java/res/values/themes-gb.xml
@@ -23,10 +23,10 @@
         <item name="keyboardStyle">@style/Keyboard.GB</item>
         <item name="keyboardViewStyle">@style/KeyboardView.GB</item>
         <item name="mainKeyboardViewStyle">@style/MainKeyboardView.GB</item>
+        <item name="keyPreviewTextViewStyle">@style/KeyPreviewTextView.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>
@@ -40,7 +40,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_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 -->
@@ -59,10 +58,10 @@
         <!-- 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>
+        <item name="keyboardTopPadding">@fraction/config_keyboard_top_padding_gb</item>
+        <item name="keyboardBottomPadding">@fraction/config_keyboard_bottom_padding_gb</item>
+        <item name="horizontalGap">@fraction/config_key_horizontal_gap_gb</item>
+        <item name="verticalGap">@fraction/config_key_vertical_gap_gb</item>
     </style>
     <style
         name="KeyboardView.GB"
@@ -85,16 +84,22 @@
         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="keyPreviewOffset">@dimen/config_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>
+        <item name="languageOnSpacebarTextColor">@color/spacebar_text_color_gb</item>
+        <item name="languageOnSpacebarTextShadowColor">@color/spacebar_text_shadow_color_gb</item>
+        <item name="spacebarBackground">@drawable/btn_keyboard_spacebar_gb</item>
+    </style>
+    <style
+        name="KeyPreviewTextView.GB"
+        parent="KeyPreviewTextView"
+    >
+        <item name="android:background">@drawable/keyboard_key_feedback_gb</item>
     </style>
     <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
          for instance delete button, need themed {@link KeyboardView} attributes. -->
@@ -118,15 +123,10 @@
         name="MoreKeysKeyboardView.GB"
         parent="KeyboardView.GB"
     >
-        <item name="android:background">@null</item>
+        <item name="android:background">@drawable/keyboard_popup_panel_background_gb</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>
+        <item name="verticalCorrection">@dimen/config_more_keys_keyboard_vertical_correction_gb</item>
     </style>
     <style
         name="SuggestionStripView.GB"
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
index 432ad51..125b640 100644
--- a/java/res/values/themes-ics.xml
+++ b/java/res/values/themes-ics.xml
@@ -23,10 +23,10 @@
         <item name="keyboardStyle">@style/Keyboard.ICS</item>
         <item name="keyboardViewStyle">@style/KeyboardView.ICS</item>
         <item name="mainKeyboardViewStyle">@style/MainKeyboardView.ICS</item>
+        <item name="keyPreviewTextViewStyle">@style/KeyPreviewTextView.ICS</item>
         <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 +36,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
@@ -63,16 +63,22 @@
         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="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="languageOnSpacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item>
+        <item name="spacebarBackground">@drawable/btn_keyboard_spacebar_ics</item>
+    </style>
+    <style
+        name="KeyPreviewTextView.ICS"
+        parent="KeyPreviewTextView"
+    >
+        <item name="android:background">@drawable/keyboard_key_feedback_ics</item>
     </style>
     <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
          for instance delete button, need themed {@link KeyboardView} attributes. -->
@@ -96,15 +102,10 @@
         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"
diff --git a/java/res/values/themes-klp.xml b/java/res/values/themes-klp.xml
index a373001..f6c0767 100644
--- a/java/res/values/themes-klp.xml
+++ b/java/res/values/themes-klp.xml
@@ -23,10 +23,10 @@
         <item name="keyboardStyle">@style/Keyboard.KLP</item>
         <item name="keyboardViewStyle">@style/KeyboardView.KLP</item>
         <item name="mainKeyboardViewStyle">@style/MainKeyboardView.KLP</item>
+        <item name="keyPreviewTextViewStyle">@style/KeyPreviewTextView.KLP</item>
         <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 +36,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
@@ -63,16 +63,22 @@
         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="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="languageOnSpacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item>
+        <item name="spacebarBackground">@drawable/btn_keyboard_spacebar_klp</item>
+    </style>
+    <style
+        name="KeyPreviewTextView.KLP"
+        parent="KeyPreviewTextView"
+    >
+        <item name="android:background">@drawable/keyboard_key_feedback_klp</item>
     </style>
     <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
          for instance delete button, need themed {@link KeyboardView} attributes. -->
@@ -96,15 +102,10 @@
         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"
diff --git a/java/res/xml-sw600dp-land/kbd_more_keys_keyboard_template.xml b/java/res/xml-sw600dp-land/kbd_more_keys_keyboard_template.xml
index 4d8b446..c7d4460 100644
--- a/java/res/xml-sw600dp-land/kbd_more_keys_keyboard_template.xml
+++ b/java/res/xml-sw600dp-land/kbd_more_keys_keyboard_template.xml
@@ -20,7 +20,7 @@
 
 <Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:keyWidth="5%p"
-    latin:rowHeight="@dimen/popup_key_height"
+    latin:rowHeight="@dimen/config_more_keys_keyboard_key_height"
     style="?attr/moreKeysKeyboardStyle"
     >
 </Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_more_keys_keyboard_template.xml b/java/res/xml-sw600dp/kbd_more_keys_keyboard_template.xml
index d90a588..fbe8cfc 100644
--- a/java/res/xml-sw600dp/kbd_more_keys_keyboard_template.xml
+++ b/java/res/xml-sw600dp/kbd_more_keys_keyboard_template.xml
@@ -20,7 +20,7 @@
 
 <Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:keyWidth="8%p"
-    latin:rowHeight="@dimen/popup_key_height"
+    latin:rowHeight="@dimen/config_more_keys_keyboard_key_height"
     style="?attr/moreKeysKeyboardStyle"
     >
 </Keyboard>
diff --git a/java/res/xml-sw600dp/key_f1.xml b/java/res/xml-sw600dp/key_f1.xml
index ac00532..530f7d6 100644
--- a/java/res/xml-sw600dp/key_f1.xml
+++ b/java/res/xml-sw600dp/key_f1.xml
@@ -23,34 +23,11 @@
 >
     <switch>
         <case
-            latin:keyboardLayoutSetElement="symbols"
-            latin:mode="url"
-        >
-            <Key
-                latin:keyLabel=":" />
-        </case>
-        <case
-            latin:keyboardLayoutSetElement="symbols"
-        >
-            <Key
-                latin:keyLabel="\@" />
-        </case>
-        <!-- keyboardLayoutSetElement != "symbols" -->
-        <case
             latin:mode="email"
         >
             <Key
                 latin:keyLabel="\@" />
         </case>
-        <case
-            latin:mode="url"
-        >
-            <Key
-                latin:keyLabel="/"
-                latin:keyHintLabel=":"
-                latin:moreKeys=":"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-        </case>
         <default>
             <Key
                 latin:keyLabel="/" />
diff --git a/java/res/xml-sw600dp/key_shortcut.xml b/java/res/xml-sw600dp/key_shortcut.xml
index 87fc75c..c869e74 100644
--- a/java/res/xml-sw600dp/key_shortcut.xml
+++ b/java/res/xml-sw600dp/key_shortcut.xml
@@ -23,7 +23,7 @@
 >
     <switch>
         <case
-            latin:shortcutKeyEnabled="true"
+            latin:supportsSwitchingToShortcutIme="true"
             latin:clobberSettingsKey="false"
         >
             <Key
@@ -32,20 +32,20 @@
                 latin:moreKeys="!text/settings_as_more_key" />
         </case>
         <case
-            latin:shortcutKeyEnabled="true"
+            latin:supportsSwitchingToShortcutIme="true"
             latin:clobberSettingsKey="true"
         >
             <Key
                 latin:keyStyle="shortcutKeyStyle" />
         </case>
         <case
-            latin:shortcutKeyEnabled="false"
+            latin:supportsSwitchingToShortcutIme="false"
             latin:clobberSettingsKey="false"
         >
             <Key
                 latin:keyStyle="settingsKeyStyle" />
         </case>
-        <!-- shortcutKeyEnabled="false" clobberSettingsKey="true" -->
+        <!-- supportsSwitchingToShortcutIme="false" clobberSettingsKey="true" -->
         <default>
             <Spacer />
         </default>
diff --git a/java/res/xml-sw600dp/key_space_symbols.xml b/java/res/xml-sw600dp/key_space_symbols.xml
index 07aa7d1..d6f7cab 100644
--- a/java/res/xml-sw600dp/key_space_symbols.xml
+++ b/java/res/xml-sw600dp/key_space_symbols.xml
@@ -22,5 +22,6 @@
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
     <include
+        latin:backgroundType="normal"
         latin:keyboardLayout="@xml/key_space_5kw" />
 </merge>
diff --git a/java/res/xml-sw600dp/keys_comma_period.xml b/java/res/xml-sw600dp/keys_comma_period.xml
index 7604e03..55302ae 100644
--- a/java/res/xml-sw600dp/keys_comma_period.xml
+++ b/java/res/xml-sw600dp/keys_comma_period.xml
@@ -21,83 +21,18 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <switch>
-        <case
-            latin:mode="email|url"
-        >
-            <Key
-                latin:keyLabel=","
-                latin:keyHintLabel="-"
-                latin:moreKeys="-"
-                latin:backgroundType="functional"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-            <Key
-                latin:keyLabel="."
-                latin:keyHintLabel="_"
-                latin:moreKeys="_"
-                latin:backgroundType="functional"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-        </case>
-        <case
-            latin:languageCode="ar"
-        >
-            <Key
-                latin:keyLabel="!text/keylabel_for_apostrophe"
-                latin:keyHintLabel="!text/keyhintlabel_for_apostrophe"
-                latin:moreKeys="!text/more_keys_for_apostrophe"
-                latin:backgroundType="functional"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-            <Key
-                latin:keyLabel="."
-                latin:keyHintLabel="!text/keyhintlabel_for_arabic_diacritics"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="!text/more_keys_for_arabic_diacritics"
-                latin:backgroundType="functional"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-        </case>
-        <case
-            latin:languageCode="fa"
-        >
-            <Key
-                latin:keyLabel="!text/keylabel_for_apostrophe"
-                latin:keyHintLabel="!text/keyhintlabel_for_apostrophe"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="!text/more_keys_for_apostrophe"
-                latin:backgroundType="functional"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-            <Key
-                latin:keyLabel="."
-                latin:keyHintLabel="!text/keyhintlabel_for_arabic_diacritics"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="!text/more_keys_for_arabic_diacritics"
-                latin:backgroundType="functional"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-        </case>
-        <case
-            latin:languageCode="hy"
-        >
-            <!-- U+055D: "՝" ARMENIAN COMMA -->
-            <Key
-                latin:keyLabel="&#x055D;"
-                latin:backgroundType="functional" />
-            <!-- U+0589: "։" ARMENIAN FULL STOP -->
-            <Key
-                latin:keyLabel="&#x0589;"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:backgroundType="functional"
-                latin:moreKeys="!text/more_keys_for_punctuation" />
-        </case>
-        <default>
-            <Key
-                latin:keyLabel="!text/keylabel_for_tablet_comma"
-                latin:keyHintLabel="!text/keyhintlabel_for_tablet_comma"
-                latin:backgroundType="functional"
-                latin:moreKeys="!text/more_keys_for_tablet_comma" />
-            <Key
-                latin:keyLabel="."
-                latin:keyHintLabel="!text/keyhintlabel_for_period"
-                latin:backgroundType="functional"
-                latin:moreKeys="!text/more_keys_for_period" />
-        </default>
-    </switch>
+    <Key
+        latin:keyLabel="!text/keylabel_for_tablet_comma"
+        latin:keyHintLabel="!text/keyhintlabel_for_tablet_comma"
+        latin:keyLabelFlags="hasPopupHint"
+        latin:moreKeys="!text/more_keys_for_tablet_comma"
+        latin:backgroundType="functional"
+        latin:keyStyle="hasShiftedLetterHintStyle" />
+    <Key
+        latin:keyLabel="!text/keylabel_for_tablet_period"
+        latin:keyHintLabel="!text/keyhintlabel_for_tablet_period"
+        latin:keyLabelFlags="hasPopupHint"
+        latin:moreKeys="!text/more_keys_for_tablet_period"
+        latin:backgroundType="functional"
+        latin:keyStyle="hasShiftedLetterHintStyle" />
 </merge>
diff --git a/java/res/xml-sw600dp/keys_exclamation_question.xml b/java/res/xml-sw600dp/keys_exclamation_question.xml
index cd38282..fd84922 100644
--- a/java/res/xml-sw600dp/keys_exclamation_question.xml
+++ b/java/res/xml-sw600dp/keys_exclamation_question.xml
@@ -22,7 +22,9 @@
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
     <Key
-        latin:keyLabel="!" />
+        latin:keyLabel="!"
+        latin:moreKeys="!text/more_keys_for_exclamation" />
     <Key
-        latin:keyLabel="\?" />
+        latin:keyLabel="\?"
+        latin:moreKeys="!text/more_keys_for_question" />
 </merge>
diff --git a/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml b/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml
index 774ff8d..46a1c85 100644
--- a/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml
+++ b/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml
@@ -40,7 +40,7 @@
                 latin:keyHintLabel="\?"
                 latin:additionalMoreKeys="\?"
                 latin:keyStyle="hasShiftedLetterHintStyle"
-                latin:moreKeys="!text/more_keys_for_symbols_question" />
+                latin:moreKeys="!text/more_keys_for_question" />
         </case>
         <!-- keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted" -->
         <default>
@@ -58,7 +58,7 @@
                 latin:moreKeys="!fixedColumnOrder!3,&#x203A;,&#x2265;,&#x00BB;" />
             <Key
                 latin:keyLabel="\?"
-                latin:moreKeys="!text/more_keys_for_symbols_question" />
+                latin:moreKeys="!text/more_keys_for_question" />
         </default>
     </switch>
 </merge>
diff --git a/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml b/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml
index 254d3fd..ae6bab7 100644
--- a/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml
+++ b/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml
@@ -31,7 +31,7 @@
         latin:keyHintLabel="!"
         latin:additionalMoreKeys="!"
         latin:keyStyle="hasShiftedLetterHintStyle"
-        latin:moreKeys="!text/more_keys_for_symbols_exclamation,!text/more_keys_for_symbols_1" />
+        latin:moreKeys="!text/more_keys_for_exclamation,!text/more_keys_for_symbols_1" />
     <Key
         latin:keyLabel="2"
         latin:keyHintLabel="\@"
diff --git a/java/res/xml-sw600dp/rows_hebrew.xml b/java/res/xml-sw600dp/rows_hebrew.xml
index 852e176..86b3420 100644
--- a/java/res/xml-sw600dp/rows_hebrew.xml
+++ b/java/res/xml-sw600dp/rows_hebrew.xml
@@ -45,8 +45,10 @@
         latin:keyWidth="9.0%p"
     >
         <include
-            latin:keyboardLayout="@xml/rowkeys_hebrew3"
-            latin:keyXPos="10.0%p" />
+            latin:keyboardLayout="@xml/rowkeys_hebrew3" />
+        <include
+            latin:keyboardLayout="@xml/keys_exclamation_question"
+            latin:keyWidth="9.5%p" />
     </Row>
     <include
         latin:keyboardLayout="@xml/row_qwerty4" />
diff --git a/java/res/xml-sw600dp/rows_swiss.xml b/java/res/xml-sw600dp/rows_swiss.xml
new file mode 100644
index 0000000..4f4ca85
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_swiss.xml
@@ -0,0 +1,63 @@
+<?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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <include
+        latin:keyboardLayout="@xml/key_styles_common" />
+    <Row
+        latin:keyWidth="8.182%p"
+    >
+        <include
+            latin:keyboardLayout="@xml/rowkeys_swiss1" />
+        <Key
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyWidth="fillRight" />
+    </Row>
+    <Row
+        latin:keyWidth="8.182%p"
+    >
+        <include
+            latin:keyboardLayout="@xml/rowkeys_swiss2" />
+        <Key
+            latin:keyStyle="enterKeyStyle"
+            latin:keyWidth="fillRight" />
+    </Row>
+    <Row
+        latin:keyWidth="8.182%p"
+    >
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="10.0%p" />
+        <Spacer
+            latin:keyWidth="3.181%p" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_qwertz3" />
+        <include
+            latin:keyboardLayout="@xml/keys_exclamation_question" />
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyXPos="-10.0%p"
+            latin:keyWidth="fillRight" />
+    </Row>
+    <include
+        latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml-sw600dp/rows_symbols.xml b/java/res/xml-sw600dp/rows_symbols.xml
index cf94b06..7a33f49 100644
--- a/java/res/xml-sw600dp/rows_symbols.xml
+++ b/java/res/xml-sw600dp/rows_symbols.xml
@@ -62,6 +62,7 @@
     </Row>
     <Row
         latin:keyWidth="9.0%p"
+        latin:backgroundType="functional"
     >
         <Key
             latin:keyStyle="toAlphaKeyStyle"
diff --git a/java/res/xml-sw600dp/rows_symbols_shift.xml b/java/res/xml-sw600dp/rows_symbols_shift.xml
index 92299f6..79d1aa1 100644
--- a/java/res/xml-sw600dp/rows_symbols_shift.xml
+++ b/java/res/xml-sw600dp/rows_symbols_shift.xml
@@ -64,6 +64,7 @@
     </Row>
     <Row
         latin:keyWidth="9.0%p"
+        latin:backgroundType="functional"
     >
         <Key
             latin:keyStyle="toAlphaKeyStyle"
diff --git a/java/res/xml/kbd_armenian_phonetic.xml b/java/res/xml/kbd_armenian_phonetic.xml
index 1eb3c7e..da12870 100644
--- a/java/res/xml/kbd_armenian_phonetic.xml
+++ b/java/res/xml/kbd_armenian_phonetic.xml
@@ -21,9 +21,9 @@
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:rowHeight="20%p"
-    latin:verticalGap="@fraction/key_bottom_gap_5row"
-    latin:keyLetterSize="@fraction/key_letter_ratio_5row"
-    latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
+    latin:verticalGap="@fraction/config_key_vertical_gap_5row"
+    latin:keyLetterSize="@fraction/config_key_letter_ratio_5row"
+    latin:keyShiftedLetterHintRatio="@fraction/config_key_shifted_letter_hint_ratio_5row"
     latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
 >
     <include
diff --git a/java/res/xml/kbd_emoji_category1.xml b/java/res/xml/kbd_emoji_category1.xml
index c11a830..5145ea9 100644
--- a/java/res/xml/kbd_emoji_category1.xml
+++ b/java/res/xml/kbd_emoji_category1.xml
@@ -20,9 +20,9 @@
 
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyWidth="@fraction/emoji_keyboard_key_width"
+    latin:keyWidth="@fraction/config_emoji_keyboard_key_width"
     latin:keyLetterSize="90%p"
-    latin:rowHeight="@fraction/emoji_keyboard_row_height"
+    latin:rowHeight="@fraction/config_emoji_keyboard_row_height"
 >
     <GridRows
         latin:codesArray="@array/emoji_faces"
diff --git a/java/res/xml/kbd_emoji_category2.xml b/java/res/xml/kbd_emoji_category2.xml
index d3e5890..ac8784f 100644
--- a/java/res/xml/kbd_emoji_category2.xml
+++ b/java/res/xml/kbd_emoji_category2.xml
@@ -20,9 +20,9 @@
 
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyWidth="@fraction/emoji_keyboard_key_width"
+    latin:keyWidth="@fraction/config_emoji_keyboard_key_width"
     latin:keyLetterSize="90%p"
-    latin:rowHeight="@fraction/emoji_keyboard_row_height"
+    latin:rowHeight="@fraction/config_emoji_keyboard_row_height"
 >
     <GridRows
         latin:codesArray="@array/emoji_objects"
diff --git a/java/res/xml/kbd_emoji_category3.xml b/java/res/xml/kbd_emoji_category3.xml
index 0efafa8..88c4db9 100644
--- a/java/res/xml/kbd_emoji_category3.xml
+++ b/java/res/xml/kbd_emoji_category3.xml
@@ -20,9 +20,9 @@
 
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyWidth="@fraction/emoji_keyboard_key_width"
+    latin:keyWidth="@fraction/config_emoji_keyboard_key_width"
     latin:keyLetterSize="90%p"
-    latin:rowHeight="@fraction/emoji_keyboard_row_height"
+    latin:rowHeight="@fraction/config_emoji_keyboard_row_height"
 >
     <GridRows
         latin:codesArray="@array/emoji_nature"
diff --git a/java/res/xml/kbd_emoji_category4.xml b/java/res/xml/kbd_emoji_category4.xml
index e529120..262384d 100644
--- a/java/res/xml/kbd_emoji_category4.xml
+++ b/java/res/xml/kbd_emoji_category4.xml
@@ -20,9 +20,9 @@
 
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyWidth="@fraction/emoji_keyboard_key_width"
+    latin:keyWidth="@fraction/config_emoji_keyboard_key_width"
     latin:keyLetterSize="90%p"
-    latin:rowHeight="@fraction/emoji_keyboard_row_height"
+    latin:rowHeight="@fraction/config_emoji_keyboard_row_height"
 >
     <GridRows
         latin:codesArray="@array/emoji_places"
diff --git a/java/res/xml/kbd_emoji_category5.xml b/java/res/xml/kbd_emoji_category5.xml
index 1836879..bf823f9 100644
--- a/java/res/xml/kbd_emoji_category5.xml
+++ b/java/res/xml/kbd_emoji_category5.xml
@@ -20,9 +20,9 @@
 
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyWidth="@fraction/emoji_keyboard_key_width"
+    latin:keyWidth="@fraction/config_emoji_keyboard_key_width"
     latin:keyLetterSize="90%p"
-    latin:rowHeight="@fraction/emoji_keyboard_row_height"
+    latin:rowHeight="@fraction/config_emoji_keyboard_row_height"
 >
     <GridRows
         latin:codesArray="@array/emoji_symbols"
diff --git a/java/res/xml/kbd_emoji_category6.xml b/java/res/xml/kbd_emoji_category6.xml
index b47ebfe..edb82fc 100644
--- a/java/res/xml/kbd_emoji_category6.xml
+++ b/java/res/xml/kbd_emoji_category6.xml
@@ -20,10 +20,10 @@
 
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyWidth="@fraction/emoji_keyboard_key_width"
+    latin:keyWidth="@fraction/config_emoji_keyboard_key_width"
     latin:keyLetterSize="90%p"
     latin:keyLabelSize="60%p"
-    latin:rowHeight="@fraction/emoji_keyboard_row_height"
+    latin:rowHeight="@fraction/config_emoji_keyboard_row_height"
 >
     <GridRows
         latin:textsArray="@array/emoji_emoticons"
diff --git a/java/res/xml/kbd_emoji_recents.xml b/java/res/xml/kbd_emoji_recents.xml
index 73926ec..edf3872 100644
--- a/java/res/xml/kbd_emoji_recents.xml
+++ b/java/res/xml/kbd_emoji_recents.xml
@@ -20,10 +20,10 @@
 
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyWidth="@fraction/emoji_keyboard_key_width"
-    latin:keyLetterSize="@fraction/emoji_keyboard_key_letter_size"
+    latin:keyWidth="@fraction/config_emoji_keyboard_key_width"
+    latin:keyLetterSize="@fraction/config_emoji_keyboard_key_letter_size"
     latin:keyLabelSize="60%p"
-    latin:rowHeight="@fraction/emoji_keyboard_row_height"
+    latin:rowHeight="@fraction/config_emoji_keyboard_row_height"
 >
     <GridRows
         latin:codesArray="@array/emoji_recents"
diff --git a/java/res/xml/kbd_khmer.xml b/java/res/xml/kbd_khmer.xml
index 7a2337a..d703e78 100644
--- a/java/res/xml/kbd_khmer.xml
+++ b/java/res/xml/kbd_khmer.xml
@@ -21,9 +21,9 @@
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:rowHeight="20%p"
-    latin:verticalGap="@fraction/key_bottom_gap_5row"
-    latin:keyLetterSize="@fraction/key_letter_ratio_5row"
-    latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
+    latin:verticalGap="@fraction/config_key_vertical_gap_5row"
+    latin:keyLetterSize="@fraction/config_key_letter_ratio_5row"
+    latin:keyShiftedLetterHintRatio="@fraction/config_key_shifted_letter_hint_ratio_5row"
     latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
 >
     <include
diff --git a/java/res/xml/kbd_lao.xml b/java/res/xml/kbd_lao.xml
index 2bba330..6f77095 100644
--- a/java/res/xml/kbd_lao.xml
+++ b/java/res/xml/kbd_lao.xml
@@ -21,9 +21,9 @@
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:rowHeight="20%p"
-    latin:verticalGap="@fraction/key_bottom_gap_5row"
-    latin:keyLetterSize="@fraction/key_letter_ratio_5row"
-    latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
+    latin:verticalGap="@fraction/config_key_vertical_gap_5row"
+    latin:keyLetterSize="@fraction/config_key_letter_ratio_5row"
+    latin:keyShiftedLetterHintRatio="@fraction/config_key_shifted_letter_hint_ratio_5row"
     latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
 >
     <include
diff --git a/java/res/xml/kbd_more_keys_keyboard_template.xml b/java/res/xml/kbd_more_keys_keyboard_template.xml
index 537973d..7104ec7 100644
--- a/java/res/xml/kbd_more_keys_keyboard_template.xml
+++ b/java/res/xml/kbd_more_keys_keyboard_template.xml
@@ -20,7 +20,7 @@
 
 <Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:keyWidth="10%p"
-    latin:rowHeight="@dimen/popup_key_height"
+    latin:rowHeight="@dimen/config_more_keys_keyboard_key_height"
     style="?attr/moreKeysKeyboardStyle"
     >
 </Keyboard>
diff --git a/java/res/xml/kbd_pcqwerty.xml b/java/res/xml/kbd_pcqwerty.xml
index 5155bc5..0456964 100644
--- a/java/res/xml/kbd_pcqwerty.xml
+++ b/java/res/xml/kbd_pcqwerty.xml
@@ -21,9 +21,9 @@
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:rowHeight="20%p"
-    latin:verticalGap="@fraction/key_bottom_gap_5row"
-    latin:keyLetterSize="@fraction/key_letter_ratio_5row"
-    latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
+    latin:verticalGap="@fraction/config_key_vertical_gap_5row"
+    latin:keyLetterSize="@fraction/config_key_letter_ratio_5row"
+    latin:keyShiftedLetterHintRatio="@fraction/config_key_shifted_letter_hint_ratio_5row"
     latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
 >
     <include
diff --git a/java/res/xml/kbd_suggestions_pane_template.xml b/java/res/xml/kbd_suggestions_pane_template.xml
index 21316e6..5b4f606 100644
--- a/java/res/xml/kbd_suggestions_pane_template.xml
+++ b/java/res/xml/kbd_suggestions_pane_template.xml
@@ -20,6 +20,6 @@
 
 <Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:keyWidth="10%p"
-    latin:rowHeight="@dimen/more_suggestions_row_height"
+    latin:rowHeight="@dimen/config_more_suggestions_row_height"
     >
 </Keyboard>
diff --git a/java/res/layout/key_preview_klp.xml b/java/res/xml/kbd_swiss.xml
similarity index 70%
copy from java/res/layout/key_preview_klp.xml
copy to java/res/xml/kbd_swiss.xml
index 160aeb9..c64ad11 100644
--- a/java/res/layout/key_preview_klp.xml
+++ b/java/res/xml/kbd_swiss.xml
@@ -18,10 +18,9 @@
 */
 -->
 
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_klp"
-    android:minWidth="32dp"
-    android:gravity="center"
-/>
+<Keyboard
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <include
+        latin:keyboardLayout="@xml/rows_swiss" />
+</Keyboard>
diff --git a/java/res/xml/kbd_thai.xml b/java/res/xml/kbd_thai.xml
index 294bffb..7e65217 100644
--- a/java/res/xml/kbd_thai.xml
+++ b/java/res/xml/kbd_thai.xml
@@ -21,9 +21,9 @@
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:rowHeight="20%p"
-    latin:verticalGap="@fraction/key_bottom_gap_5row"
-    latin:keyLetterSize="@fraction/key_letter_ratio_5row"
-    latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
+    latin:verticalGap="@fraction/config_key_vertical_gap_5row"
+    latin:keyLetterSize="@fraction/config_key_letter_ratio_5row"
+    latin:keyShiftedLetterHintRatio="@fraction/config_key_shifted_letter_hint_ratio_5row"
     latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
 >
     <include
diff --git a/java/res/xml/key_f1.xml b/java/res/xml/key_f1.xml
index 72e38cb..0e9d497 100644
--- a/java/res/xml/key_f1.xml
+++ b/java/res/xml/key_f1.xml
@@ -37,6 +37,16 @@
                 latin:keyStyle="f1MoreKeysStyle" />
         </case>
         <case
+            latin:supportsSwitchingToShortcutIme="false"
+        >
+            <Key
+                latin:keyLabel="!text/keylabel_for_comma"
+                latin:keyLabelFlags="hasPopupHint"
+                latin:additionalMoreKeys="!text/more_keys_for_comma"
+                latin:keyStyle="f1MoreKeysStyle" />
+        </case>
+        <!-- latin:supportsSwitchingToShortcutIme="true" -->
+        <case
             latin:hasShortcutKey="true"
         >
             <Key
diff --git a/java/res/xml/key_nepali_traditional_period.xml b/java/res/xml/key_period.xml
similarity index 69%
rename from java/res/xml/key_nepali_traditional_period.xml
rename to java/res/xml/key_period.xml
index 1c389b0..838db25 100644
--- a/java/res/xml/key_nepali_traditional_period.xml
+++ b/java/res/xml/key_period.xml
@@ -18,32 +18,31 @@
 */
 -->
 
-<!-- The code point U+25CC for key label is needed because the font rendering system prior to
-     API version 16 can't automatically render dotted circle for incomplete combining letter
-     of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
-     counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
     <switch>
         <case
-            latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+            latin:languageCode="ne"
+            latin:keyboardLayoutSet="nepali_traditional"
         >
-            <Key
-                latin:keyLabel=","
-                latin:backgroundType="functional" />
-        </case>
-        <default>
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_sign_virama" />
-            <!-- U+002E: "." FULL STOP -->
             <Key
                 latin:keyStyle="baseKeyDevanagariSignVirama"
                 latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="!fixedColumnOrder!9,&#x002E;,!text/more_keys_for_punctuation"
+                latin:moreKeys="!text/more_keys_for_punctuation"
+                latin:backgroundType="functional" />
+        </case>
+        <default>
+            <Key
+                latin:keyLabel="!text/keylabel_for_period"
+                latin:keyHintLabel="!text/keyhintlabel_for_period"
+                latin:keyLabelFlags="hasPopupHint|hasShiftedLetterHint"
+                latin:moreKeys="!text/more_keys_for_period"
                 latin:backgroundType="functional" />
         </default>
     </switch>
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index c9d87bf..d538eb8 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -160,27 +160,10 @@
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
-    <switch>
-        <!-- When this qwerty keyboard has no shortcut keys but shortcut key is enabled, then symbol
-             keyboard will have a shortcut key. That means we should use label_to_symbol_key label
-             and shortcut_for_label icon. -->
-        <case
-            latin:shortcutKeyOnSymbols="true"
-        >
-            <key-style
-                latin:styleName="baseForToSymbolKeyStyle"
-                latin:keyIcon="!icon/shortcut_for_label"
-                latin:keyLabel="!text/label_to_symbol_with_microphone_key"
-                latin:keyLabelFlags="withIconRight|preserveCase"
-                latin:parentStyle="baseForLayoutSwitchKeyStyle" />
-        </case>
-        <default>
-            <key-style
-                latin:styleName="baseForToSymbolKeyStyle"
-                latin:keyLabel="!text/label_to_symbol_key"
-                latin:parentStyle="baseForLayoutSwitchKeyStyle" />
-        </default>
-    </switch>
+    <key-style
+        latin:styleName="baseForToSymbolKeyStyle"
+        latin:keyLabel="!text/label_to_symbol_key"
+        latin:parentStyle="baseForLayoutSwitchKeyStyle" />
     <key-style
         latin:styleName="toSymbolKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
@@ -200,12 +183,6 @@
         latin:code="!code/key_shift"
         latin:parentStyle="baseForToSymbolKeyStyle" />
     <key-style
-        latin:styleName="punctuationKeyStyle"
-        latin:keyLabel="."
-        latin:keyLabelFlags="hasPopupHint"
-        latin:moreKeys="!text/more_keys_for_punctuation"
-        latin:backgroundType="functional" />
-    <key-style
         latin:styleName="comKeyStyle"
         latin:keyLabel="!text/keylabel_for_popular_domain"
         latin:keyLabelFlags="autoXScale|fontNormal|hasPopupHint|preserveCase"
diff --git a/java/res/xml/key_symbols_period.xml b/java/res/xml/key_symbols_period.xml
deleted file mode 100644
index 6efc9de..0000000
--- a/java/res/xml/key_symbols_period.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?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.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <!-- U+2105: "℅" CARE OF
-         U+2122: "™" TRADE MARK SIGN
-         U+00AE: "®" REGISTERED SIGN
-         U+00A9: "©" COPYRIGHT SIGN
-         U+00A7: "§" SECTION SIGN
-         U+00B6: "¶" PILCROW SIGN
-         U+002C: "," COMMA
-         U+2022: "•" BULLET -->
-    <!-- U+00B0: "°" DEGREE SIGN
-         U+2032: "′" PRIME
-         U+2033: "″" DOUBLE PRIME
-         U+2191: "↑" UPWARDS ARROW
-         U+2193: "↓" DOWNWARDS ARROW
-         U+2190: "←" LEFTWARDS ARROW
-         U+2192: "→" RIGHTWARDS ARROW
-         U+2026: "…" HORIZONTAL ELLIPSIS -->
-    <!-- U+0394: "Δ" GREEK CAPITAL LETTER DELTA
-         U+03A0: "Π" GREEK CAPITAL LETTER PI
-         U+03C0: "π" GREEK SMALL LETTER PI -->
-    <Key
-        latin:keyLabel="."
-        latin:keyLabelFlags="hasPopupHint"
-        latin:moreKeys="!fixedColumnOrder!8,&#x2105;,&#x2122;,&#x00AE;,&#x00A9;,&#x00A7;,&#x00B6;,\\,,&#x2022;,&#x00B0;,&#x2032;,&#x2033;,&#x2191;,&#x2193;,&#x2190;,&#x2192;,&#x2026;,!text/more_keys_for_bullet,&#x0394;,&#x03A0;,&#x03C0;" />
-</merge>
diff --git a/java/res/xml/keyboard_layout_set_swiss.xml b/java/res/xml/keyboard_layout_set_swiss.xml
new file mode 100644
index 0000000..e17a5ab
--- /dev/null
+++ b/java/res/xml/keyboard_layout_set_swiss.xml
@@ -0,0 +1,42 @@
+<?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.
+*/
+-->
+
+<KeyboardLayoutSet
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+    <Element
+        latin:elementName="alphabet"
+        latin:elementKeyboard="@xml/kbd_swiss"
+        latin:enableProximityCharsCorrection="true" />
+    <Element
+        latin:elementName="symbols"
+        latin:elementKeyboard="@xml/kbd_symbols" />
+    <Element
+        latin:elementName="symbolsShifted"
+        latin:elementKeyboard="@xml/kbd_symbols_shift" />
+    <Element
+        latin:elementName="phone"
+        latin:elementKeyboard="@xml/kbd_phone" />
+    <Element
+        latin:elementName="phoneSymbols"
+        latin:elementKeyboard="@xml/kbd_phone_symbols" />
+    <Element
+        latin:elementName="number"
+        latin:elementKeyboard="@xml/kbd_number" />
+</KeyboardLayoutSet>
diff --git a/java/res/xml/keys_comma_period.xml b/java/res/xml/keys_comma_period.xml
deleted file mode 100644
index 1b51e45..0000000
--- a/java/res/xml/keys_comma_period.xml
+++ /dev/null
@@ -1,87 +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.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <switch>
-        <case
-            latin:languageCode="ar"
-        >
-            <Key
-                latin:keyLabel="!text/keylabel_for_apostrophe"
-                latin:keyHintLabel="!text/keyhintlabel_for_apostrophe"
-                latin:moreKeys="!text/more_keys_for_apostrophe"
-                latin:backgroundType="functional"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-            <Key
-                latin:keyLabel="."
-                latin:keyHintLabel="!text/keyhintlabel_for_arabic_diacritics"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="!text/more_keys_for_arabic_diacritics"
-                latin:backgroundType="functional"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-        </case>
-        <case
-            latin:languageCode="fa"
-        >
-            <Key
-                latin:keyLabel="!text/keylabel_for_apostrophe"
-                latin:keyHintLabel="!text/keyhintlabel_for_apostrophe"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="!text/more_keys_for_apostrophe"
-                latin:backgroundType="functional"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-            <Key
-                latin:keyLabel="."
-                latin:keyHintLabel="!text/keyhintlabel_for_arabic_diacritics"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="!text/more_keys_for_arabic_diacritics"
-                latin:backgroundType="functional"
-                latin:keyStyle="hasShiftedLetterHintStyle" />
-        </case>
-        <case
-            latin:languageCode="hy"
-        >
-            <!-- U+055D: "՝" ARMENIAN COMMA -->
-            <Key
-                latin:keyLabel="&#x055D;"
-                latin:backgroundType="functional" />
-            <!-- U+0589: "։" ARMENIAN FULL STOP -->
-            <Key
-                latin:keyLabel="&#x0589;"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:backgroundType="functional"
-                latin:moreKeys="!text/more_keys_for_punctuation" />
-        </case>
-        <default>
-            <Key
-                latin:keyLabel="!text/keylabel_for_tablet_comma"
-                latin:keyHintLabel="!text/keyhintlabel_for_tablet_comma"
-                latin:backgroundType="functional"
-                latin:moreKeys="!text/more_keys_for_tablet_comma" />
-            <Key
-                latin:keyLabel="."
-                latin:keyHintLabel="!text/keyhintlabel_for_period"
-                latin:backgroundType="functional"
-                latin:moreKeys="!text/more_keys_for_period" />
-        </default>
-    </switch>
-</merge>
diff --git a/java/res/layout/key_preview_klp.xml b/java/res/xml/keys_comma_period_symbols.xml
similarity index 65%
copy from java/res/layout/key_preview_klp.xml
copy to java/res/xml/keys_comma_period_symbols.xml
index 160aeb9..6465fed 100644
--- a/java/res/layout/key_preview_klp.xml
+++ b/java/res/xml/keys_comma_period_symbols.xml
@@ -18,10 +18,15 @@
 */
 -->
 
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_klp"
-    android:minWidth="32dp"
-    android:gravity="center"
-/>
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <Key
+        latin:keyLabel=","
+        latin:backgroundType="functional" />
+    <!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
+    <Key
+        latin:keyLabel="."
+        latin:moreKeys="&#x2026;"
+        latin:backgroundType="functional" />
+</merge>
diff --git a/java/res/xml/keys_pcqwerty4_right3.xml b/java/res/xml/keys_pcqwerty4_right3.xml
index e6084cb..a5d5a42 100644
--- a/java/res/xml/keys_pcqwerty4_right3.xml
+++ b/java/res/xml/keys_pcqwerty4_right3.xml
@@ -34,7 +34,7 @@
             <Key
                 latin:keyLabel="/"
                 latin:additionalMoreKeys="\?"
-                latin:moreKeys="!text/more_keys_for_symbols_question" />
+                latin:moreKeys="!text/more_keys_for_question" />
         </case>
         <!-- keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted" -->
         <default>
@@ -52,7 +52,7 @@
                 latin:moreKeys="!fixedColumnOrder!3,&#x203A;,&#x2265;,&#x00BB;" />
             <Key
                 latin:keyLabel="\?"
-                latin:moreKeys="!text/more_keys_for_symbols_question" />
+                latin:moreKeys="!text/more_keys_for_question" />
         </default>
     </switch>
 </merge>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index 0a27da9..78e771f 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -25,13 +25,14 @@
     af: Afrikaans/qwerty
     ar: Arabic/arabic
     (az: Azerbaijani/qwerty)  # disabled temporarily. waiting for string resources.
-    be: Belarusian/east_slavic
+    be_BY: Belarusian/east_slavic
     bg: Bulgarian/bulgarian
     bg: Bulgarian/bulgarian_bds
     ca: Catalan/spanish
     cs: Czech/qwertz
     da: Danish/nordic
     de: German/qwertz
+    de_CH: German Switzerland/swiss
     el: Greek/greek
     en_US: English United States/qwerty
     en_GB: English Great Britain/qwerty
@@ -44,6 +45,7 @@
     fi: Finnish/nordic
     fr: French/azerty
     fr_CA: French Canada/qwerty
+    fr_CH: French Switzerland/swiss
     hi: Hindi/hindi
     hr: Croatian/qwertz
     hu: Hungarian/qwertz
@@ -88,19 +90,22 @@
     (zz: Emoji/emoji)
     -->
 <!-- TODO: use <lang>_keyboard icon instead of a common keyboard icon. -->
+<!-- TODO: Remove "AsciiCapable" from the extra values when we can stop supporting JB-MR1 -->
 <!-- Note: SupportTouchPositionCorrection extra value is obsolete and maintained for backward
      compatibility. -->
 <!-- If IME doesn't have an applicable subtype, the first subtype will be used as a default
      subtype.-->
 <input-method xmlns:android="http://schemas.android.com/apk/res/android"
         android:settingsActivity="com.android.inputmethod.latin.settings.SettingsActivity"
-        android:isDefault="@bool/im_is_default">
+        android:isDefault="@bool/im_is_default"
+        android:supportsSwitchingToNextInputMethod="true">
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_en_US"
             android:subtypeId="0xc9194f98"
             android:imeSubtypeLocale="en_US"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="TrySuppressingImeSwitcher,AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_en_GB"
@@ -108,6 +113,7 @@
             android:imeSubtypeLocale="en_GB"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="TrySuppressingImeSwitcher,AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -115,6 +121,7 @@
             android:imeSubtypeLocale="af"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -122,6 +129,7 @@
             android:imeSubtypeLocale="ar"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <!--
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -130,14 +138,16 @@
             android:imeSubtypeLocale="az"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     -->
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
             android:subtypeId="0x1dc3a859"
-            android:imeSubtypeLocale="be"
+            android:imeSubtypeLocale="be_BY"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -145,6 +155,7 @@
             android:imeSubtypeLocale="bg"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=bulgarian,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_bulgarian_bds"
@@ -152,6 +163,7 @@
             android:imeSubtypeLocale="bg"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=bulgarian_bds,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -159,6 +171,7 @@
             android:imeSubtypeLocale="ca"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -166,6 +179,7 @@
             android:imeSubtypeLocale="cs"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -173,6 +187,7 @@
             android:imeSubtypeLocale="da"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -180,6 +195,15 @@
             android:imeSubtypeLocale="de"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
+    />
+    <subtype android:icon="@drawable/ic_ime_switcher_dark"
+            android:label="@string/subtype_generic"
+            android:subtypeId="0x7acfd0aa"
+            android:imeSubtypeLocale="de_CH"
+            android:imeSubtypeMode="keyboard"
+            android:imeSubtypeExtraValue="KeyboardLayoutSet=swiss,AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -187,6 +211,7 @@
             android:imeSubtypeLocale="el"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=greek,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -194,6 +219,7 @@
             android:imeSubtypeLocale="eo"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -201,6 +227,7 @@
             android:imeSubtypeLocale="es"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_es_US"
@@ -208,6 +235,7 @@
             android:imeSubtypeLocale="es_US"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <!--
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -216,6 +244,7 @@
             android:imeSubtypeLocale="es_419"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     -->
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -224,6 +253,7 @@
             android:imeSubtypeLocale="et_EE"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=nordic,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -231,6 +261,7 @@
             android:imeSubtypeLocale="fa"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=farsi,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -238,6 +269,7 @@
             android:imeSubtypeLocale="fi"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -245,6 +277,7 @@
             android:imeSubtypeLocale="fr"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -252,6 +285,15 @@
             android:imeSubtypeLocale="fr_CA"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
+    />
+    <subtype android:icon="@drawable/ic_ime_switcher_dark"
+            android:label="@string/subtype_generic"
+            android:subtypeId="0xeadc55f5"
+            android:imeSubtypeLocale="fr_CH"
+            android:imeSubtypeMode="keyboard"
+            android:imeSubtypeExtraValue="KeyboardLayoutSet=swiss,AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -259,6 +301,7 @@
             android:imeSubtypeLocale="hi"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=hindi,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -266,6 +309,7 @@
             android:imeSubtypeLocale="hr"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -273,6 +317,7 @@
             android:imeSubtypeLocale="hu"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -280,6 +325,7 @@
             android:imeSubtypeLocale="hy_AM"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=armenian_phonetic,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <!-- Java uses the deprecated "in" code instead of the standard "id" code for Indonesian. -->
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -288,6 +334,7 @@
             android:imeSubtypeLocale="in"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -295,6 +342,7 @@
             android:imeSubtypeLocale="is"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -302,6 +350,7 @@
             android:imeSubtypeLocale="it"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <!-- Java uses the deprecated "iw" code instead of the standard "he" code for Hebrew. -->
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -310,6 +359,7 @@
             android:imeSubtypeLocale="iw"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -317,6 +367,7 @@
             android:imeSubtypeLocale="ka_GE"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=georgian,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <!--
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -325,6 +376,7 @@
             android:imeSubtypeLocale="kk"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     -->
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -333,6 +385,7 @@
             android:imeSubtypeLocale="km_KH"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=khmer,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -340,6 +393,7 @@
             android:imeSubtypeLocale="ky"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -347,6 +401,7 @@
             android:imeSubtypeLocale="lo_LA"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=lao,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -354,6 +409,7 @@
             android:imeSubtypeLocale="lt"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -361,6 +417,7 @@
             android:imeSubtypeLocale="lv"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -368,6 +425,7 @@
             android:imeSubtypeLocale="mk"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=south_slavic,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -375,6 +433,7 @@
             android:imeSubtypeLocale="mn_MN"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=mongolian,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -382,6 +441,7 @@
             android:imeSubtypeLocale="ms_MY"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -389,6 +449,7 @@
             android:imeSubtypeLocale="nb"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <!--
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -397,6 +458,7 @@
             android:imeSubtypeLocale="ne"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=nepali_romanized,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_nepali_traditional"
@@ -404,6 +466,7 @@
             android:imeSubtypeLocale="ne"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=nepali_traditional,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     -->
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -412,6 +475,7 @@
             android:imeSubtypeLocale="nl"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -419,6 +483,7 @@
             android:imeSubtypeLocale="nl_BE"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=azerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -426,6 +491,7 @@
             android:imeSubtypeLocale="pl"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -433,6 +499,7 @@
             android:imeSubtypeLocale="pt_BR"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -440,6 +507,7 @@
             android:imeSubtypeLocale="pt_PT"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -447,6 +515,7 @@
             android:imeSubtypeLocale="ro"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -454,6 +523,7 @@
             android:imeSubtypeLocale="ru"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -461,6 +531,7 @@
             android:imeSubtypeLocale="sk"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -468,6 +539,7 @@
             android:imeSubtypeLocale="sl"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -475,6 +547,7 @@
             android:imeSubtypeLocale="sr"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <!-- TODO: Uncomment once we can handle IETF language tag with script name specified.
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -483,6 +556,7 @@
             android:imeSubtypeLocale="sr"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_serbian_latin"
@@ -490,6 +564,7 @@
             android:imeSubtypeLocale="sr-Latn"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     -->
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
@@ -498,6 +573,7 @@
             android:imeSubtypeLocale="sv"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -505,6 +581,7 @@
             android:imeSubtypeLocale="sw"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -512,6 +589,7 @@
             android:imeSubtypeLocale="th"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=thai,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -519,6 +597,7 @@
             android:imeSubtypeLocale="tl"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -526,6 +605,7 @@
             android:imeSubtypeLocale="tr"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -533,6 +613,7 @@
             android:imeSubtypeLocale="uk"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -540,6 +621,7 @@
             android:imeSubtypeLocale="vi"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
@@ -547,6 +629,7 @@
             android:imeSubtypeLocale="zu"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_no_language_qwerty"
@@ -554,6 +637,7 @@
             android:imeSubtypeLocale="zz"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EnabledWhenDefaultIsNotAsciiCapable,EmojiCapable"
+            android:isAsciiCapable="true"
     />
     <!-- Emoji subtype has to be an addtional subtype added at boot time because ICS doesn't
          support Emoji. -->
@@ -564,6 +648,7 @@
             android:imeSubtypeLocale="zz"
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="KeyboardLayoutSet=emoji,EmojiCapable"
+            android:isAsciiCapable="false"
     />
     -->
 </input-method>
diff --git a/java/res/xml/prefs_for_debug.xml b/java/res/xml/prefs_for_debug.xml
index 8d9508e..124c443 100644
--- a/java/res/xml/prefs_for_debug.xml
+++ b/java/res/xml/prefs_for_debug.xml
@@ -58,6 +58,12 @@
         android:persistent="true"
         android:title="@string/prefs_use_only_personalization_dictionary" />
 
+    <CheckBoxPreference
+        android:defaultValue="false"
+        android:key="boost_personalization_dictionary_for_debug"
+        android:persistent="true"
+        android:title="@string/prefs_boost_personalization_dictionary" />
+
     <PreferenceScreen
         android:key="read_external_dictionary"
         android:title="@string/prefs_read_external_dictionary" />
diff --git a/java/res/xml/row_pcqwerty5.xml b/java/res/xml/row_pcqwerty5.xml
index 4ec908b..0a3f4d2 100644
--- a/java/res/xml/row_pcqwerty5.xml
+++ b/java/res/xml/row_pcqwerty5.xml
@@ -28,7 +28,7 @@
             latin:keyWidth="11.538%p" />
         <switch>
             <case
-                latin:shortcutKeyEnabled="true"
+                latin:supportsSwitchingToShortcutIme="true"
             >
                 <Key
                     latin:keyStyle="shortcutKeyStyle"
diff --git a/java/res/xml/row_qwerty4.xml b/java/res/xml/row_qwerty4.xml
index 578bc12..509092d 100644
--- a/java/res/xml/row_qwerty4.xml
+++ b/java/res/xml/row_qwerty4.xml
@@ -32,36 +32,8 @@
         <include
             latin:keyXPos="25%p"
             latin:keyboardLayout="@xml/key_space_5kw" />
-        <switch>
-            <case
-                latin:languageCode="ar|fa"
-            >
-                <Key
-                    latin:keyHintLabel="!text/keyhintlabel_for_arabic_diacritics"
-                    latin:keyLabelFlags="hasPopupHint|hasShiftedLetterHint"
-                    latin:moreKeys="!text/more_keys_for_arabic_diacritics"
-                    latin:keyStyle="punctuationKeyStyle" />
-            </case>
-            <case
-                latin:languageCode="ne"
-                latin:keyboardLayoutSet="nepali_traditional"
-            >
-                <include
-                    latin:keyboardLayout="@xml/key_nepali_traditional_period" />
-            </case>
-            <case
-                latin:languageCode="hy"
-            >
-                <!-- U+0589: "։" ARMENIAN FULL STOP -->
-                <Key
-                    latin:keyLabel="&#x0589;"
-                    latin:keyStyle="punctuationKeyStyle" />
-            </case>
-            <default>
-                <Key
-                    latin:keyStyle="punctuationKeyStyle" />
-            </default>
-        </switch>
+        <include
+            latin:keyboardLayout="@xml/key_period" />
         <Key
             latin:keyStyle="enterKeyStyle"
             latin:keyWidth="fillRight" />
diff --git a/java/res/xml/row_symbols4.xml b/java/res/xml/row_symbols4.xml
index fbfdc5f..09d2a19 100644
--- a/java/res/xml/row_symbols4.xml
+++ b/java/res/xml/row_symbols4.xml
@@ -19,24 +19,12 @@
 -->
 
 <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" >
-
     <Key
-        latin:backgroundType="functional"
         latin:keyLabel="_" />
     <Key
-        latin:backgroundType="functional"
         latin:keyLabel="/" />
-
-    <switch>
-        <case latin:hasShortcutKey="true" >
-            <Key latin:keyStyle="shortcutKeyStyle" />
-        </case>
-        <!-- latin:hasShortcutKey="false" -->
-        <default>
-        </default>
-    </switch>
-
-    <include latin:keyboardLayout="@xml/key_space_symbols" />
-    <include latin:keyboardLayout="@xml/keys_comma_period" />
-
+    <include
+        latin:keyboardLayout="@xml/key_space_symbols" />
+    <include
+        latin:keyboardLayout="@xml/keys_comma_period_symbols" />
 </merge>
diff --git a/java/res/xml/row_symbols_shift4.xml b/java/res/xml/row_symbols_shift4.xml
index 0909374..f75575b 100644
--- a/java/res/xml/row_symbols_shift4.xml
+++ b/java/res/xml/row_symbols_shift4.xml
@@ -22,5 +22,5 @@
     <include latin:keyboardLayout="@xml/keys_less_greater" />
     <include
         latin:keyboardLayout="@xml/key_space_symbols" />
-    <include latin:keyboardLayout="@xml/keys_comma_period" />
+    <include latin:keyboardLayout="@xml/keys_comma_period_symbols" />
 </merge>
diff --git a/java/res/xml/rowkeys_khmer1.xml b/java/res/xml/rowkeys_khmer1.xml
index 25da664..05d1a86 100644
--- a/java/res/xml/rowkeys_khmer1.xml
+++ b/java/res/xml/rowkeys_khmer1.xml
@@ -64,6 +64,7 @@
             <Key
                 latin:keyLabel="&#x17D0;"
                 latin:keyHintLabel="&#x17DA;"
+                latin:keyHintLabelVerticalAdjustment="-30%"
                 latin:moreKeys="&#x17DA;"
                 latin:keyLabelFlags="fontNormal" />
             <!-- U+17CF: "៏" KHMER SIGN AHSDA -->
diff --git a/java/res/xml/rowkeys_khmer2.xml b/java/res/xml/rowkeys_khmer2.xml
index cba2d3b..801f23f 100644
--- a/java/res/xml/rowkeys_khmer2.xml
+++ b/java/res/xml/rowkeys_khmer2.xml
@@ -31,12 +31,13 @@
                 latin:keyLabel="&#x1788;"
                 latin:keyHintLabel="&#x17DC;"
                 latin:moreKeys="&#x17DC;"
-                latin:keyLabelFlags="fontNormal" />
+                latin:keyLabelFlags="fontNormal|autoScale" />
             <!-- U+17BA: "ឺ" KHMER VOWEL SIGN YY
                  U+17DD: "៝" KHMER SIGN ATTHACAN -->
             <Key
                 latin:keyLabel="&#x17BA;"
                 latin:keyHintLabel="&#x17DD;"
+                latin:keyHintLabelVerticalAdjustment="40%"
                 latin:moreKeys="&#x17DD;"
                 latin:keyLabelFlags="fontNormal" />
             <!-- U+17C2: "ែ" KHMER VOWEL SIGN AE -->
@@ -69,7 +70,7 @@
             <!-- U+17C5: "ៅ" KHMER VOWEL SIGN AU -->
             <Key
                 latin:keyLabel="&#x17C5;"
-                latin:keyLabelFlags="fontNormal" />
+                latin:keyLabelFlags="fontNormal|autoScale" />
             <!-- U+1797: "ភ" KHMER LETTER PHO -->
             <Key
                 latin:keyLabel="&#x1797;"
@@ -77,7 +78,7 @@
             <!-- U+17BF: "ឿ" KHMER VOWEL SIGN YA -->
             <Key
                 latin:keyLabel="&#x17BF;"
-                latin:keyLabelFlags="fontNormal" />
+                latin:keyLabelFlags="fontNormal|autoScale" />
             <!-- U+17B0: "ឰ" KHMER INDEPENDENT VOWEL QAI -->
             <Key
                 latin:keyLabel="&#x17B0;"
@@ -119,7 +120,7 @@
             <!-- U+17C4: "ោ" KHMER VOWEL SIGN OO -->
             <Key
                 latin:keyLabel="&#x17C4;"
-                latin:keyLabelFlags="fontNormal" />
+                latin:keyLabelFlags="fontNormal|autoScale" />
             <!-- U+1795: "ផ" KHMER LETTER PHA -->
             <Key
                 latin:keyLabel="&#x1795;"
@@ -127,7 +128,7 @@
             <!-- U+17C0: "ៀ" KHMER VOWEL SIGN IE -->
             <Key
                 latin:keyLabel="&#x17C0;"
-                latin:keyLabelFlags="fontNormal" />
+                latin:keyLabelFlags="fontNormal|autoScale" />
             <!-- U+17AA: "ឪ" KHMER INDEPENDENT VOWEL QUUV
                  U+17A7: "ឧ" KHMER INDEPENDENT VOWEL QU
                  U+17B1: "ឱ" KHMER INDEPENDENT VOWEL QOO TYPE ONE
diff --git a/java/res/xml/rowkeys_khmer3.xml b/java/res/xml/rowkeys_khmer3.xml
index ff6c9ca..f35ba5c 100644
--- a/java/res/xml/rowkeys_khmer3.xml
+++ b/java/res/xml/rowkeys_khmer3.xml
@@ -70,7 +70,7 @@
             <!-- U+17C4/U+17C7: "ោះ" KHMER VOWEL SIGN OO/KHMER SIGN REAHMUK -->
             <Key
                 latin:keyLabel="&#x17C4;&#x17C7;"
-                latin:keyLabelFlags="fontNormal" />
+                latin:keyLabelFlags="fontNormal|followKeyLetterRatio|autoScale" />
             <!-- U+17C9: "៉" KHMER SIGN MUUSIKATOAN -->
             <Key
                 latin:keyLabel="&#x17C9;"
diff --git a/java/res/xml/rowkeys_khmer4.xml b/java/res/xml/rowkeys_khmer4.xml
index fe6c591..598aed8 100644
--- a/java/res/xml/rowkeys_khmer4.xml
+++ b/java/res/xml/rowkeys_khmer4.xml
@@ -40,7 +40,7 @@
             <!-- U+17C1/U+17C7: "េះ" KHMER VOWEL SIGN E/KHMER SIGN REAHMUK -->
             <Key
                 latin:keyLabel="&#x17C1;&#x17C7;"
-                latin:keyLabelFlags="fontNormal" />
+                latin:keyLabelFlags="fontNormal|followKeyLetterRatio|autoScale" />
             <!-- U+1796: "ព" KHMER LETTER PO
                  U+179E: "ឞ" KHMER LETTER SSO -->
             <Key
@@ -51,7 +51,7 @@
             <!-- U+178E: "ណ" KHMER LETTER NNO -->
             <Key
                 latin:keyLabel="&#x178E;"
-                latin:keyLabelFlags="fontNormal" />
+                latin:keyLabelFlags="fontNormal|autoScale" />
             <!-- U+17C6: "ំ" KHMER SIGN NIKAHIT -->
             <Key
                 latin:keyLabel="&#x17C6;"
diff --git a/java/res/xml/rowkeys_pcqwerty1.xml b/java/res/xml/rowkeys_pcqwerty1.xml
index de548d0..1ac264a 100644
--- a/java/res/xml/rowkeys_pcqwerty1.xml
+++ b/java/res/xml/rowkeys_pcqwerty1.xml
@@ -26,7 +26,7 @@
         latin:additionalMoreKeys="~" />
     <Key
         latin:keyLabel="1"
-        latin:additionalMoreKeys="!,!text/more_keys_for_symbols_exclamation"
+        latin:additionalMoreKeys="!,!text/more_keys_for_exclamation"
         latin:moreKeys="!text/more_keys_for_symbols_1" />
     <Key
         latin:keyLabel="2"
diff --git a/java/res/xml/rowkeys_pcqwerty1_shift.xml b/java/res/xml/rowkeys_pcqwerty1_shift.xml
index bc39f94..718acfd 100644
--- a/java/res/xml/rowkeys_pcqwerty1_shift.xml
+++ b/java/res/xml/rowkeys_pcqwerty1_shift.xml
@@ -25,7 +25,7 @@
         latin:keyLabel="~" />
     <Key
         latin:keyLabel="!"
-        latin:additionalMoreKeys="!text/more_keys_for_symbols_exclamation" />
+        latin:additionalMoreKeys="!text/more_keys_for_exclamation" />
     <Key
         latin:keyLabel="\@" />
     <Key
diff --git a/java/res/layout/key_preview_klp.xml b/java/res/xml/rowkeys_swiss1.xml
similarity index 68%
copy from java/res/layout/key_preview_klp.xml
copy to java/res/xml/rowkeys_swiss1.xml
index 160aeb9..e3b8426 100644
--- a/java/res/layout/key_preview_klp.xml
+++ b/java/res/xml/rowkeys_swiss1.xml
@@ -18,10 +18,12 @@
 */
 -->
 
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_klp"
-    android:minWidth="32dp"
-    android:gravity="center"
-/>
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <include
+        latin:keyboardLayout="@xml/rowkeys_qwertz1" />
+    <Key
+        latin:keyLabel="!text/keylabel_for_swiss_row1_11"
+        latin:moreKeys="!text/more_keys_for_swiss_row1_11" />
+</merge>
diff --git a/java/res/layout/key_preview_klp.xml b/java/res/xml/rowkeys_swiss2.xml
similarity index 60%
copy from java/res/layout/key_preview_klp.xml
copy to java/res/xml/rowkeys_swiss2.xml
index 160aeb9..5364a44 100644
--- a/java/res/layout/key_preview_klp.xml
+++ b/java/res/xml/rowkeys_swiss2.xml
@@ -18,10 +18,15 @@
 */
 -->
 
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/keyboard_key_feedback_klp"
-    android:minWidth="32dp"
-    android:gravity="center"
-/>
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <include
+        latin:keyboardLayout="@xml/rowkeys_qwerty2" />
+    <Key
+        latin:keyLabel="!text/keylabel_for_swiss_row2_10"
+        latin:moreKeys="!text/more_keys_for_swiss_row2_10" />
+    <Key
+        latin:keyLabel="!text/keylabel_for_swiss_row2_11"
+        latin:moreKeys="!text/more_keys_for_swiss_row2_11" />
+</merge>
diff --git a/java/res/xml/rowkeys_symbols3.xml b/java/res/xml/rowkeys_symbols3.xml
index 074078c..e525dc4 100644
--- a/java/res/xml/rowkeys_symbols3.xml
+++ b/java/res/xml/rowkeys_symbols3.xml
@@ -55,8 +55,8 @@
         latin:moreKeys="!text/more_keys_for_symbols_semicolon" />
     <Key
         latin:keyLabel="!"
-        latin:moreKeys="!text/more_keys_for_symbols_exclamation" />
+        latin:moreKeys="!text/more_keys_for_exclamation" />
     <Key
         latin:keyLabel="!text/keylabel_for_symbols_question"
-        latin:moreKeys="!text/more_keys_for_symbols_question" />
+        latin:moreKeys="!text/more_keys_for_question" />
 </merge>
diff --git a/java/res/xml/rows_swiss.xml b/java/res/xml/rows_swiss.xml
new file mode 100644
index 0000000..03e4129
--- /dev/null
+++ b/java/res/xml/rows_swiss.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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <include
+        latin:keyboardLayout="@xml/key_styles_common" />
+    <Row
+        latin:keyWidth="9.091%p"
+    >
+        <include
+            latin:keyboardLayout="@xml/rowkeys_swiss1" />
+    </Row>
+    <Row
+        latin:keyWidth="9.091%p"
+    >
+        <include
+            latin:keyboardLayout="@xml/rowkeys_swiss2" />
+    </Row>
+    <Row
+        latin:keyWidth="9.2%p"
+    >
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="15%p"
+            latin:visualInsetsRight="1%p" />
+        <Spacer
+            latin:keyWidth="2.8%p" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_qwertz3" />
+        <Key
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyXPos="-15%p"
+            latin:keyWidth="fillRight"
+            latin:visualInsetsLeft="1%p" />
+    </Row>
+    <include
+        latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>