Merge "Implement ver4 dictionary bigram writing methods."
diff --git a/java/res/color/emoji_tab_label_color_ics.xml b/java/res/color/emoji_tab_label_color_holo.xml
similarity index 79%
rename from java/res/color/emoji_tab_label_color_ics.xml
rename to java/res/color/emoji_tab_label_color_holo.xml
index 36e1d30..373e931 100644
--- a/java/res/color/emoji_tab_label_color_ics.xml
+++ b/java/res/color/emoji_tab_label_color_holo.xml
@@ -21,13 +21,13 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item
         android:state_focused="true"
-        android:color="@color/key_text_color_ics" />
+        android:color="@color/key_text_color_holo" />
     <item
         android:state_pressed="true"
-        android:color="@color/key_text_color_ics" />
+        android:color="@color/key_text_color_holo" />
     <item
         android:state_selected="true"
-        android:color="@color/key_text_color_ics" />
+        android:color="@color/key_text_color_holo" />
     <item
-        android:color="@color/key_text_inactivated_color_ics" />
+        android:color="@color/key_text_inactivated_color_holo" />
 </selector>
diff --git a/java/res/color/key_text_color_ics.xml b/java/res/color/key_text_color_holo.xml
similarity index 67%
rename from java/res/color/key_text_color_ics.xml
rename to java/res/color/key_text_color_holo.xml
index c6f111a..d034a94 100644
--- a/java/res/color/key_text_color_ics.xml
+++ b/java/res/color/key_text_color_holo.xml
@@ -17,32 +17,32 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <!-- Functional keys. -->
     <item android:state_single="true" android:state_pressed="true"
-          android:color="@color/key_text_color_functional_ics" />
+          android:color="@color/key_text_color_functional_holo" />
     <item android:state_single="true"
-          android:color="@color/key_text_color_functional_ics" />
+          android:color="@color/key_text_color_functional_holo" />
 
     <!-- Action keys. -->
     <item android:state_active="true" android:state_pressed="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:color="@color/key_text_color_normal_holo" />
     <item android:state_active="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:color="@color/key_text_color_normal_holo" />
 
     <!-- Toggle keys. Use checkable/checked state. -->
     <item android:state_checkable="true" android:state_checked="true" android:state_pressed="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:color="@color/key_text_color_normal_holo" />
     <item android:state_checkable="true" android:state_pressed="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:color="@color/key_text_color_normal_holo" />
     <item android:state_checkable="true" android:state_checked="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:color="@color/key_text_color_normal_holo" />
     <item android:state_checkable="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:color="@color/key_text_color_normal_holo" />
 
     <!-- Empty background keys. -->
     <item android:state_empty="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:color="@color/key_text_color_normal_holo" />
 
     <!-- Normal keys. -->
     <item android:state_pressed="true"
-          android:color="@color/key_text_color_normal_ics" />
-    <item android:color="@color/key_text_color_normal_ics" />
+          android:color="@color/key_text_color_normal_holo" />
+    <item android:color="@color/key_text_color_normal_holo" />
 </selector>
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_active_ics.9.png
new file mode 100644
index 0000000..9aa8db6
--- /dev/null
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_active_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_active_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_active_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/btn_keyboard_key_dark_active_holo.9.png
rename to java/res/drawable-hdpi/btn_keyboard_key_dark_active_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_ics.9.png
new file mode 100644
index 0000000..9f4587b
--- /dev/null
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.png
rename to java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_ics.9.png
new file mode 100644
index 0000000..7ec33dd
--- /dev/null
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png
rename to java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
new file mode 100644
index 0000000..655bc01
--- /dev/null
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
rename to java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
new file mode 100644
index 0000000..138e915
--- /dev/null
+++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
rename to java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_ics.9.png
new file mode 100644
index 0000000..5612c51
--- /dev/null
+++ b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png
rename to java/res/drawable-hdpi/btn_keyboard_key_light_pressed_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_ics.9.png
new file mode 100644
index 0000000..c2e8b37
--- /dev/null
+++ b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png
rename to java/res/drawable-hdpi/btn_keyboard_key_popup_selected_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background_ics.9.png
new file mode 100644
index 0000000..28b406a
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png
rename to java/res/drawable-hdpi/keyboard_key_feedback_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_ics.9.png
new file mode 100644
index 0000000..e42cd88
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/keyboard_key_feedback_left_background_holo.9.png
rename to java/res/drawable-hdpi/keyboard_key_feedback_left_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_ics.9.png
new file mode 100644
index 0000000..1603440
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_holo.9.png
rename to java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_more_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_ics.9.png
new file mode 100644
index 0000000..a40d427
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/keyboard_key_feedback_more_background_holo.9.png
rename to java/res/drawable-hdpi/keyboard_key_feedback_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_ics.9.png
new file mode 100644
index 0000000..1f68073
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/keyboard_key_feedback_right_background_holo.9.png
rename to java/res/drawable-hdpi/keyboard_key_feedback_right_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_ics.9.png
new file mode 100644
index 0000000..ec53593
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_holo.9.png
rename to java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png
deleted file mode 100644
index dc2fc7d..0000000
--- a/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background_ics.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background_ics.9.png
new file mode 100644
index 0000000..53d7b6f
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_popup_panel_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background_klp.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background_klp.9.png
new file mode 100644
index 0000000..f9dd3b8
--- /dev/null
+++ b/java/res/drawable-hdpi/keyboard_popup_panel_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_active_ics.9.png
new file mode 100644
index 0000000..e810c77
--- /dev/null
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_active_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_active_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_active_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/btn_keyboard_key_dark_active_holo.9.png
rename to java/res/drawable-mdpi/btn_keyboard_key_dark_active_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_ics.9.png
new file mode 100644
index 0000000..f3fc641
--- /dev/null
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.png
rename to java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_ics.9.png
new file mode 100644
index 0000000..8f340d3
--- /dev/null
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png
rename to java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
new file mode 100644
index 0000000..53ea5f8
--- /dev/null
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
rename to java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
new file mode 100644
index 0000000..69c84e7
--- /dev/null
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
rename to java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_ics.9.png
new file mode 100644
index 0000000..c39dd4a
--- /dev/null
+++ b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png
rename to java/res/drawable-mdpi/btn_keyboard_key_light_pressed_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_ics.9.png
new file mode 100644
index 0000000..93a6e79
--- /dev/null
+++ b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png
rename to java/res/drawable-mdpi/btn_keyboard_key_popup_selected_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background_ics.9.png
new file mode 100644
index 0000000..7a9f640
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png
rename to java/res/drawable-mdpi/keyboard_key_feedback_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_ics.9.png
new file mode 100644
index 0000000..5b06f09
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/keyboard_key_feedback_left_background_holo.9.png
rename to java/res/drawable-mdpi/keyboard_key_feedback_left_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_ics.9.png
new file mode 100644
index 0000000..fd992d6
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_holo.9.png
rename to java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_ics.9.png
new file mode 100644
index 0000000..128dcd6
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png
rename to java/res/drawable-mdpi/keyboard_key_feedback_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_ics.9.png
new file mode 100644
index 0000000..0b08d17
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/keyboard_key_feedback_right_background_holo.9.png
rename to java/res/drawable-mdpi/keyboard_key_feedback_right_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_ics.9.png
new file mode 100644
index 0000000..cf0b33c
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_holo.9.png
rename to java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png
deleted file mode 100644
index 441edc3..0000000
--- a/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background_ics.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background_ics.9.png
new file mode 100644
index 0000000..61988a8
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_popup_panel_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background_klp.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background_klp.9.png
new file mode 100644
index 0000000..8965055
--- /dev/null
+++ b/java/res/drawable-mdpi/keyboard_popup_panel_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_ics.9.png
new file mode 100644
index 0000000..d990c02
--- /dev/null
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/btn_keyboard_key_dark_active_holo.9.png
rename to java/res/drawable-xhdpi/btn_keyboard_key_dark_active_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_ics.9.png
new file mode 100644
index 0000000..ab8fb2e
--- /dev/null
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_holo.9.png
rename to java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_ics.9.png
new file mode 100644
index 0000000..3871689
--- /dev/null
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_holo.9.png
rename to java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
new file mode 100644
index 0000000..9125063
--- /dev/null
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
rename to java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
new file mode 100644
index 0000000..35ce67f
--- /dev/null
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
rename to java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_ics.9.png
new file mode 100644
index 0000000..c23a4b2
--- /dev/null
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_holo.9.png
rename to java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_ics.9.png
new file mode 100644
index 0000000..0c7bfda
--- /dev/null
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_holo.9.png
rename to java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_background_ics.9.png
new file mode 100644
index 0000000..d999127
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/keyboard_key_feedback_background_holo.9.png
rename to java/res/drawable-xhdpi/keyboard_key_feedback_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_ics.9.png
new file mode 100644
index 0000000..c4d6941
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/keyboard_key_feedback_left_background_holo.9.png
rename to java/res/drawable-xhdpi/keyboard_key_feedback_left_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_ics.9.png
new file mode 100644
index 0000000..5429c17
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_holo.9.png
rename to java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_ics.9.png
new file mode 100644
index 0000000..5135a08
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/keyboard_key_feedback_more_background_holo.9.png
rename to java/res/drawable-xhdpi/keyboard_key_feedback_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_ics.9.png
new file mode 100644
index 0000000..19a77a2
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/keyboard_key_feedback_right_background_holo.9.png
rename to java/res/drawable-xhdpi/keyboard_key_feedback_right_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_ics.9.png
new file mode 100644
index 0000000..ae2ffff
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_holo.9.png
rename to java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_popup_panel_background_holo.9.png
deleted file mode 100644
index dde1856..0000000
--- a/java/res/drawable-xhdpi/keyboard_popup_panel_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_popup_panel_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_popup_panel_background_ics.9.png
new file mode 100644
index 0000000..1dee699
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_popup_panel_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_popup_panel_background_klp.9.png b/java/res/drawable-xhdpi/keyboard_popup_panel_background_klp.9.png
new file mode 100644
index 0000000..36df715
--- /dev/null
+++ b/java/res/drawable-xhdpi/keyboard_popup_panel_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_ics.9.png
new file mode 100644
index 0000000..680421e
--- /dev/null
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_holo.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_holo.9.png
rename to java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_ics.9.png
new file mode 100644
index 0000000..40f5011
--- /dev/null
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_holo.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_holo.9.png
rename to java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_ics.9.png
new file mode 100644
index 0000000..6ff6319
--- /dev/null
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_holo.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_holo.9.png
rename to java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
new file mode 100644
index 0000000..818ea70
--- /dev/null
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_holo.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
rename to java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
new file mode 100644
index 0000000..a476d2a
--- /dev/null
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_holo.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
rename to java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_ics.9.png
new file mode 100644
index 0000000..3c17c5e
--- /dev/null
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_holo.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_holo.9.png
rename to java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_ics.9.png
new file mode 100644
index 0000000..6d2af59
--- /dev/null
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_holo.9.png
rename to java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_ics.9.png
new file mode 100644
index 0000000..bd1ef3c
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/keyboard_key_feedback_background_holo.9.png
rename to java/res/drawable-xxhdpi/keyboard_key_feedback_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_ics.9.png
new file mode 100644
index 0000000..65af4b5
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_holo.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_holo.9.png
rename to java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_ics.9.png
new file mode 100644
index 0000000..ac6750d
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_holo.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_holo.9.png
rename to java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_ics.9.png
new file mode 100644
index 0000000..cea7c05
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_holo.9.png
rename to java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_ics.9.png
new file mode 100644
index 0000000..520fa7c
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_holo.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_holo.9.png
rename to java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_ics.9.png
new file mode 100644
index 0000000..eee2217
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_holo.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_klp.9.png
similarity index 100%
rename from java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_holo.9.png
rename to java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_holo.9.png
deleted file mode 100644
index ca576de..0000000
--- a/java/res/drawable-xxhdpi/keyboard_popup_panel_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_popup_panel_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_ics.9.png
new file mode 100644
index 0000000..721c244
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_ics.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/keyboard_popup_panel_background_klp.9.png b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_klp.9.png
new file mode 100644
index 0000000..91d5d7f
--- /dev/null
+++ b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_klp.9.png
Binary files differ
diff --git a/java/res/drawable/btn_keyboard_key_functional_ics.xml b/java/res/drawable/btn_keyboard_key_functional_ics.xml
index 5dcde5f..847ca72 100644
--- a/java/res/drawable/btn_keyboard_key_functional_ics.xml
+++ b/java/res/drawable/btn_keyboard_key_functional_ics.xml
@@ -17,6 +17,6 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <!-- Functional keys. -->
     <item android:state_pressed="true"
-          android:drawable="@drawable/btn_keyboard_key_dark_pressed_holo" />
+          android:drawable="@drawable/btn_keyboard_key_dark_pressed_ics" />
     <item android:drawable="@drawable/btn_keyboard_key_dark_normal_holo" />
 </selector>
diff --git a/java/res/drawable/btn_keyboard_key_functional_klp.xml b/java/res/drawable/btn_keyboard_key_functional_klp.xml
new file mode 100644
index 0000000..0e17ed2
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_key_functional_klp.xml
@@ -0,0 +1,22 @@
+<?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">
+    <!-- Functional keys. -->
+    <item android:state_pressed="true"
+          android:drawable="@drawable/btn_keyboard_key_dark_pressed_klp" />
+    <item android:drawable="@drawable/btn_keyboard_key_dark_normal_holo" />
+</selector>
diff --git a/java/res/drawable/btn_keyboard_key_ics.xml b/java/res/drawable/btn_keyboard_key_ics.xml
index 0c86e16..259bb9b 100644
--- a/java/res/drawable/btn_keyboard_key_ics.xml
+++ b/java/res/drawable/btn_keyboard_key_ics.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- 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.
@@ -17,23 +17,23 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <!-- Functional keys. -->
     <item android:state_single="true" android:state_pressed="true"
-          android:drawable="@drawable/btn_keyboard_key_dark_pressed_holo" />
+          android:drawable="@drawable/btn_keyboard_key_dark_pressed_ics" />
     <item android:state_single="true"
           android:drawable="@drawable/btn_keyboard_key_dark_normal_holo" />
 
     <!-- Action keys. -->
     <item android:state_active="true" android:state_pressed="true"
-          android:drawable="@drawable/btn_keyboard_key_dark_pressed_holo" />
+          android:drawable="@drawable/btn_keyboard_key_dark_pressed_ics" />
     <item android:state_active="true"
-          android:drawable="@drawable/btn_keyboard_key_dark_active_holo" />
+          android:drawable="@drawable/btn_keyboard_key_dark_active_ics" />
 
     <!-- Toggle keys. Use checkable/checked state. -->
     <item android:state_checkable="true" android:state_checked="true" android:state_pressed="true"
-          android:drawable="@drawable/btn_keyboard_key_dark_pressed_on_holo" />
+          android:drawable="@drawable/btn_keyboard_key_dark_pressed_on_ics" />
     <item android:state_checkable="true" android:state_pressed="true"
-          android:drawable="@drawable/btn_keyboard_key_dark_pressed_off_holo" />
+          android:drawable="@drawable/btn_keyboard_key_dark_pressed_off_ics" />
     <item android:state_checkable="true" android:state_checked="true"
-          android:drawable="@drawable/btn_keyboard_key_dark_normal_on_holo" />
+          android:drawable="@drawable/btn_keyboard_key_dark_normal_on_ics" />
     <item android:state_checkable="true"
           android:drawable="@drawable/btn_keyboard_key_dark_normal_off_holo" />
 
@@ -43,6 +43,6 @@
 
     <!-- Normal keys. -->
     <item android:state_pressed="true"
-          android:drawable="@drawable/btn_keyboard_key_light_pressed_holo" />
+          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/color/key_text_color_ics.xml b/java/res/drawable/btn_keyboard_key_klp.xml
similarity index 63%
copy from java/res/color/key_text_color_ics.xml
copy to java/res/drawable/btn_keyboard_key_klp.xml
index c6f111a..16b5fa0 100644
--- a/java/res/color/key_text_color_ics.xml
+++ b/java/res/drawable/btn_keyboard_key_klp.xml
@@ -17,32 +17,32 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <!-- Functional keys. -->
     <item android:state_single="true" android:state_pressed="true"
-          android:color="@color/key_text_color_functional_ics" />
+          android:drawable="@drawable/btn_keyboard_key_dark_pressed_klp" />
     <item android:state_single="true"
-          android:color="@color/key_text_color_functional_ics" />
+          android:drawable="@drawable/btn_keyboard_key_dark_normal_holo" />
 
     <!-- Action keys. -->
     <item android:state_active="true" android:state_pressed="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:drawable="@drawable/btn_keyboard_key_dark_pressed_klp" />
     <item android:state_active="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:drawable="@drawable/btn_keyboard_key_dark_active_klp" />
 
     <!-- Toggle keys. Use checkable/checked state. -->
     <item android:state_checkable="true" android:state_checked="true" android:state_pressed="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:drawable="@drawable/btn_keyboard_key_dark_pressed_on_klp" />
     <item android:state_checkable="true" android:state_pressed="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:drawable="@drawable/btn_keyboard_key_dark_pressed_off_klp" />
     <item android:state_checkable="true" android:state_checked="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:drawable="@drawable/btn_keyboard_key_dark_normal_on_klp" />
     <item android:state_checkable="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:drawable="@drawable/btn_keyboard_key_dark_normal_off_holo" />
 
     <!-- Empty background keys. -->
     <item android:state_empty="true"
-          android:color="@color/key_text_color_normal_ics" />
+          android:drawable="@drawable/transparent" />
 
     <!-- Normal keys. -->
     <item android:state_pressed="true"
-          android:color="@color/key_text_color_normal_ics" />
-    <item android:color="@color/key_text_color_normal_ics" />
+          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/drawable/btn_keyboard_key_popup_ics.xml b/java/res/drawable/btn_keyboard_key_popup_ics.xml
index b99679b..31b6131 100644
--- a/java/res/drawable/btn_keyboard_key_popup_ics.xml
+++ b/java/res/drawable/btn_keyboard_key_popup_ics.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- 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.
@@ -16,6 +16,6 @@
 
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
-          android:drawable="@drawable/btn_keyboard_key_popup_selected_holo" />
+          android:drawable="@drawable/btn_keyboard_key_popup_selected_ics" />
     <item android:drawable="@drawable/transparent" />
 </selector>
diff --git a/java/res/drawable/btn_keyboard_key_popup_klp.xml b/java/res/drawable/btn_keyboard_key_popup_klp.xml
new file mode 100644
index 0000000..62cbca8
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_key_popup_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_popup_selected_klp" />
+    <item android:drawable="@drawable/transparent" />
+</selector>
diff --git a/java/res/drawable/btn_suggestion_ics.xml b/java/res/drawable/btn_suggestion_ics.xml
index e4257e3..8f528ee 100644
--- a/java/res/drawable/btn_suggestion_ics.xml
+++ b/java/res/drawable/btn_suggestion_ics.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.
@@ -23,5 +23,5 @@
 >
     <item
         android:state_pressed="true"
-        android:drawable="@drawable/btn_keyboard_key_popup_selected_holo" />
+        android:drawable="@drawable/btn_keyboard_key_popup_selected_ics" />
 </selector>
diff --git a/java/res/color/emoji_tab_label_color_ics.xml b/java/res/drawable/btn_suggestion_klp.xml
similarity index 64%
copy from java/res/color/emoji_tab_label_color_ics.xml
copy to java/res/drawable/btn_suggestion_klp.xml
index 36e1d30..471165b 100644
--- a/java/res/color/emoji_tab_label_color_ics.xml
+++ b/java/res/drawable/btn_suggestion_klp.xml
@@ -18,16 +18,10 @@
 */
 -->
 
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item
-        android:state_focused="true"
-        android:color="@color/key_text_color_ics" />
+<selector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+>
     <item
         android:state_pressed="true"
-        android:color="@color/key_text_color_ics" />
-    <item
-        android:state_selected="true"
-        android:color="@color/key_text_color_ics" />
-    <item
-        android:color="@color/key_text_inactivated_color_ics" />
+        android:drawable="@drawable/btn_keyboard_key_popup_selected_klp" />
 </selector>
diff --git a/java/res/drawable/keyboard_key_feedback_ics.xml b/java/res/drawable/keyboard_key_feedback_ics.xml
index 3c8850e..b52a61f 100644
--- a/java/res/drawable/keyboard_key_feedback_ics.xml
+++ b/java/res/drawable/keyboard_key_feedback_ics.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- 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.
@@ -20,17 +20,17 @@
 >
     <!-- Left edge -->
     <item latin:state_left_edge="true" latin:state_has_morekeys="true"
-          android:drawable="@drawable/keyboard_key_feedback_left_more_background_holo" />
+          android:drawable="@drawable/keyboard_key_feedback_left_more_background_ics" />
     <item latin:state_left_edge="true"
-          android:drawable="@drawable/keyboard_key_feedback_left_background_holo" />
+          android:drawable="@drawable/keyboard_key_feedback_left_background_ics" />
 
     <!-- Right edge -->
     <item latin:state_right_edge="true" latin:state_has_morekeys="true"
-          android:drawable="@drawable/keyboard_key_feedback_right_more_background_holo" />
+          android:drawable="@drawable/keyboard_key_feedback_right_more_background_ics" />
     <item latin:state_right_edge="true"
-          android:drawable="@drawable/keyboard_key_feedback_right_background_holo" />
+          android:drawable="@drawable/keyboard_key_feedback_right_background_ics" />
 
     <item latin:state_has_morekeys="true"
-          android:drawable="@drawable/keyboard_key_feedback_more_background_holo" />
-    <item android:drawable="@drawable/keyboard_key_feedback_background_holo" />
+          android:drawable="@drawable/keyboard_key_feedback_more_background_ics" />
+    <item android:drawable="@drawable/keyboard_key_feedback_background_ics" />
 </selector>
diff --git a/java/res/drawable/keyboard_key_feedback_klp.xml b/java/res/drawable/keyboard_key_feedback_klp.xml
new file mode 100644
index 0000000..a386556
--- /dev/null
+++ b/java/res/drawable/keyboard_key_feedback_klp.xml
@@ -0,0 +1,36 @@
+<?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"
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <!-- Left edge -->
+    <item latin:state_left_edge="true" latin:state_has_morekeys="true"
+          android:drawable="@drawable/keyboard_key_feedback_left_more_background_klp" />
+    <item latin:state_left_edge="true"
+          android:drawable="@drawable/keyboard_key_feedback_left_background_klp" />
+
+    <!-- Right edge -->
+    <item latin:state_right_edge="true" latin:state_has_morekeys="true"
+          android:drawable="@drawable/keyboard_key_feedback_right_more_background_klp" />
+    <item latin:state_right_edge="true"
+          android:drawable="@drawable/keyboard_key_feedback_right_background_klp" />
+
+    <item latin:state_has_morekeys="true"
+          android:drawable="@drawable/keyboard_key_feedback_more_background_klp" />
+    <item android:drawable="@drawable/keyboard_key_feedback_background_klp" />
+</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/key_preview_ics.xml b/java/res/layout/key_preview_ics.xml
index 222e884..33b6947 100644
--- a/java/res/layout/key_preview_ics.xml
+++ b/java/res/layout/key_preview_ics.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2012, The Android Open Source Project
+** Copyright 2013, The Android Open Source Project
 **
 ** Licensed under the Apache License, Version 2.0 (the "License");
 ** you may not use this file except in compliance with the License.
diff --git a/java/res/layout/key_preview_klp.xml b/java/res/layout/key_preview_klp.xml
new file mode 100644
index 0000000..160aeb9
--- /dev/null
+++ b/java/res/layout/key_preview_klp.xml
@@ -0,0 +1,27 @@
+<?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_klp"
+    android:minWidth="32dp"
+    android:gravity="center"
+/>
diff --git a/java/res/values-af/strings-action-keys.xml b/java/res/values-af/strings-action-keys.xml
new file mode 100644
index 0000000..615dc12
--- /dev/null
+++ b/java/res/values-af/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Gaan"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Volgende"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Vorige"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Klaar"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Stuur"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Laat wag"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Wag"</string>
+</resources>
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
index adf9e5b..a4ae86b 100644
--- a/java/res/values-af/strings.xml
+++ b/java/res/values-af/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dinamiese sweefvoorskou"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Sien die voorgestelde woord tydens gebare"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Gestoor"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Gaan"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Volgende"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Vorige"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Klaar"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Stuur"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Laat wag"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Wag"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Koppel \'n kopstuk om te hoor hoe wagwoordsleutels hardop gesê word."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Huidige teks is %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Geen teks ingevoer nie"</string>
diff --git a/java/res/values-am/strings-action-keys.xml b/java/res/values-am/strings-action-keys.xml
new file mode 100644
index 0000000..45196a4
--- /dev/null
+++ b/java/res/values-am/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"ሂድ"</string>
+    <string name="label_next_key" msgid="362972844525672568">"በመቀጠል"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"ቀዳሚ"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"ተከናውኗል"</string>
+    <string name="label_send_key" msgid="2815056534433717444">" ይላኩ"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"ላፍታ አቁም"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"ቆይ"</string>
+</resources>
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml
index 42f60a4..a29e229 100644
--- a/java/res/values-am/strings.xml
+++ b/java/res/values-am/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"ሂድ"</string>
-    <string name="label_next_key" msgid="362972844525672568">"በመቀጠል"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"ቀዳሚ"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"ተከናውኗል"</string>
-    <string name="label_send_key" msgid="2815056534433717444">" ይላኩ"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"ላፍታ አቁም"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"ቆይ"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"የይለፍቃል ቁልፎች ጮክ በለው ሲነገሩ ለመስማት የጆሮ ማዳመጫ ሰካ::"</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"የአሁኑ ፅሁፍ %s ነው"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"ምንም ፅሁፍ አልገባም"</string>
diff --git a/java/res/values-ar/strings-action-keys.xml b/java/res/values-ar/strings-action-keys.xml
new file mode 100644
index 0000000..99e8f6a
--- /dev/null
+++ b/java/res/values-ar/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"تنفيذ"</string>
+    <string name="label_next_key" msgid="362972844525672568">"التالي"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"السابق"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"تم"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"إرسال"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"توقف مؤقت"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"انتظار"</string>
+</resources>
diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml
index 201976a..71f92fb 100644
--- a/java/res/values-ar/strings.xml
+++ b/java/res/values-ar/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"تنفيذ"</string>
-    <string name="label_next_key" msgid="362972844525672568">"التالي"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"السابق"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"تم"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"إرسال"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"توقف مؤقت"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"انتظار"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"يمكنك توصيل سماعة رأس لسماع مفاتيح كلمة المرور منطوقة بصوت عالٍ."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"‏النص الحالي هو %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"لم يتم إدخال نص"</string>
diff --git a/java/res/values-be/strings-action-keys.xml b/java/res/values-be/strings-action-keys.xml
new file mode 100644
index 0000000..91416c8
--- /dev/null
+++ b/java/res/values-be/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Пачаць"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Далей"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Назад"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Гатова"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Адправіць"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Паўза"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Чакае"</string>
+</resources>
diff --git a/java/res/values-be/strings.xml b/java/res/values-be/strings.xml
index d9b9708..02972f0 100644
--- a/java/res/values-be/strings.xml
+++ b/java/res/values-be/strings.xml
@@ -77,13 +77,6 @@
     <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="label_go_key" msgid="1635148082137219148">"Пачаць"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Далей"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Назад"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Гатова"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Адправіць"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Паўза"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Чакае"</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>
diff --git a/java/res/values-bg/strings-action-keys.xml b/java/res/values-bg/strings-action-keys.xml
new file mode 100644
index 0000000..609bf41
--- /dev/null
+++ b/java/res/values-bg/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Старт"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Напред"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Пред."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Изпращане"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Чака"</string>
+</resources>
diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml
index eecc0f0..69dec96 100644
--- a/java/res/values-bg/strings.xml
+++ b/java/res/values-bg/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"Старт"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Напред"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Пред."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Изпращане"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Чака"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Включете слушалки, за да чуете клавишите за паролата на висок глас."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Текущият текст е %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Няма въведен текст"</string>
diff --git a/java/res/values-ca/strings-action-keys.xml b/java/res/values-ca/strings-action-keys.xml
new file mode 100644
index 0000000..0c0c84e
--- /dev/null
+++ b/java/res/values-ca/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Vés"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Següent"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Ant."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Fet"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Envia"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
+</resources>
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index ad3c92e..9502121 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Visualitz. prèvia dinàmica flotant"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Consulta la paraula suggerida mentre fas el gest"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: desada"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Vés"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Següent"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Ant."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Fet"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Envia"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Connecta un auricular per escoltar les claus de la contrasenya en veu alta."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"El text actual és %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"No s\'ha introduït cap text"</string>
diff --git a/java/res/values-cs/strings-action-keys.xml b/java/res/values-cs/strings-action-keys.xml
new file mode 100644
index 0000000..700fc78
--- /dev/null
+++ b/java/res/values-cs/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Přejít"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Další"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Před."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Hotovo"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Odeslat"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Čekat"</string>
+</resources>
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
index 930d305..0f38f45 100644
--- a/java/res/values-cs/strings.xml
+++ b/java/res/values-cs/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamický plovoucí náhled"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Zobrazení navrhovaného slova při psaní gesty"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Uloženo"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Přejít"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Další"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Před."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Hotovo"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Odeslat"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Čekat"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Chcete-li slyšet, které klávesy jste při zadávání hesla stiskli, připojte sluchátka."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Aktuální text je %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Není zadán žádný text"</string>
diff --git a/java/res/values-da/strings-action-keys.xml b/java/res/values-da/strings-action-keys.xml
new file mode 100644
index 0000000..332f283
--- /dev/null
+++ b/java/res/values-da/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Gå"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Næste"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Forr."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Udfør"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Vent"</string>
+</resources>
diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml
index 93d5c4e..839d7cd 100644
--- a/java/res/values-da/strings.xml
+++ b/java/res/values-da/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamisk flydende eks.visning"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Se det foreslåede ord, mens berøringer udføres"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Gemt"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Gå"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Næste"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Forr."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Udfør"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Vent"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Tilslut et headset for at høre indtastningen blive læst højt ved angivelse af adgangskode."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Nuværende tekst er %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Der er ingen indtastet tekst"</string>
diff --git a/java/res/values-de/strings-action-keys.xml b/java/res/values-de/strings-action-keys.xml
new file mode 100644
index 0000000..5ec0475
--- /dev/null
+++ b/java/res/values-de/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Los"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Weiter"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Zurück"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Fertig"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Senden"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Warten"</string>
+</resources>
diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml
index ac51926..5e35b9f 100644
--- a/java/res/values-de/strings.xml
+++ b/java/res/values-de/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dyn. unverankerter Vorschlag"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Vorgeschlagenes Wort bei Bewegung anzeigen"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: gespeichert"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Los"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Weiter"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Zurück"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Fertig"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Senden"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Warten"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Schließen Sie ein Headset an, um das Passwort gesprochen zu hören."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Aktueller Text lautet %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Kein Text eingegeben"</string>
diff --git a/java/res/values-el/strings-action-keys.xml b/java/res/values-el/strings-action-keys.xml
new file mode 100644
index 0000000..b890c4b
--- /dev/null
+++ b/java/res/values-el/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Μετ."</string>
+    <string name="label_next_key" msgid="362972844525672568">"Επόμενο"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Προηγ"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Τέλος"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Αποστολή"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Παύση"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Αναμ."</string>
+</resources>
diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml
index 54b3c3e..a719077 100644
--- a/java/res/values-el/strings.xml
+++ b/java/res/values-el/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"Μετ."</string>
-    <string name="label_next_key" msgid="362972844525672568">"Επόμενο"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Προηγ"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Τέλος"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Αποστολή"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Παύση"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Αναμ."</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Συνδέστε ένα σετ ακουστικών για να ακούσετε τα πλήκτρα του κωδικού πρόσβασης να εκφωνούνται δυνατά."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Το τρέχον κείμενο είναι %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Δεν υπάρχει κείμενο"</string>
diff --git a/java/res/values-en-rGB/strings-action-keys.xml b/java/res/values-en-rGB/strings-action-keys.xml
new file mode 100644
index 0000000..062907c
--- /dev/null
+++ b/java/res/values-en-rGB/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Go"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Next"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Prev"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Done"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Wait"</string>
+</resources>
diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml
index bdffb94..9e860ec 100644
--- a/java/res/values-en-rGB/strings.xml
+++ b/java/res/values-en-rGB/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamic floating preview"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"See the suggested word while gesturing"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Saved"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Go"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Next"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Prev"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Done"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Wait"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Plug in a headset to hear password keys spoken aloud."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Current text is %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"No text entered"</string>
diff --git a/java/res/values-en-rIN/strings-action-keys.xml b/java/res/values-en-rIN/strings-action-keys.xml
new file mode 100644
index 0000000..062907c
--- /dev/null
+++ b/java/res/values-en-rIN/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Go"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Next"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Prev"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Done"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Wait"</string>
+</resources>
diff --git a/java/res/values-en-rIN/strings.xml b/java/res/values-en-rIN/strings.xml
index bdffb94..9e860ec 100644
--- a/java/res/values-en-rIN/strings.xml
+++ b/java/res/values-en-rIN/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamic floating preview"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"See the suggested word while gesturing"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Saved"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Go"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Next"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Prev"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Done"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Wait"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Plug in a headset to hear password keys spoken aloud."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Current text is %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"No text entered"</string>
diff --git a/java/res/values-es-rUS/strings-action-keys.xml b/java/res/values-es-rUS/strings-action-keys.xml
new file mode 100644
index 0000000..b3ad709
--- /dev/null
+++ b/java/res/values-es-rUS/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Siguiente"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Ant."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Listo"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
+</resources>
diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml
index 2d7872a..1ac080e 100644
--- a/java/res/values-es-rUS/strings.xml
+++ b/java/res/values-es-rUS/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Vista previa dinámica flotante"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Mira la palabra sugerida mientras haces gestos"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Siguiente"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Ant."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Listo"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Enchufa tus auriculares para escuchar en voz alta qué teclas presionas al ingresar una contraseña."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"El texto actual es %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"No se ingresó texto."</string>
diff --git a/java/res/values-es/strings-action-keys.xml b/java/res/values-es/strings-action-keys.xml
new file mode 100644
index 0000000..7c00350
--- /dev/null
+++ b/java/res/values-es/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Sig."</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Anterior"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Ok"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
+</resources>
diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml
index 4dfc57f..d9477da 100644
--- a/java/res/values-es/strings.xml
+++ b/java/res/values-es/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Vista previa dinámica flotante"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Ver palabra sugerida al hacer gestos"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Sig."</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Anterior"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Ok"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Conecta un auricular para escuchar las contraseñas en voz alta."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"El texto actual es %s."</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"No se ha introducido texto."</string>
diff --git a/java/res/values-et-rEE/strings-action-keys.xml b/java/res/values-et-rEE/strings-action-keys.xml
new file mode 100644
index 0000000..07bdb84
--- /dev/null
+++ b/java/res/values-et-rEE/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Mine"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Edasi"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Eelm."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Valmis"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Saada"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Peata"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Oota"</string>
+</resources>
diff --git a/java/res/values-et-rEE/strings.xml b/java/res/values-et-rEE/strings.xml
index 3a27a88..dc46e8c 100644
--- a/java/res/values-et-rEE/strings.xml
+++ b/java/res/values-et-rEE/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dünaamiline ujuv eelvaade"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Soovitatud sõna vaatamine joonistusega sisestamise ajal"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : salvestatud"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Mine"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Edasi"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Eelm."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Valmis"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Saada"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Peata"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Oota"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Ühendage peakomplekt, et kuulata paroole."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Praegune tekst on %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Teksti ei ole sisestatud"</string>
diff --git a/java/res/values-fa/strings-action-keys.xml b/java/res/values-fa/strings-action-keys.xml
new file mode 100644
index 0000000..a3262ed
--- /dev/null
+++ b/java/res/values-fa/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"برو"</string>
+    <string name="label_next_key" msgid="362972844525672568">"بعدی"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"قبلی"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"انجام شد"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"ارسال"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"توقف موقت"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"منتظر بمانید"</string>
+</resources>
diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml
index 0c194f7..cfd33c2 100644
--- a/java/res/values-fa/strings.xml
+++ b/java/res/values-fa/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"برو"</string>
-    <string name="label_next_key" msgid="362972844525672568">"بعدی"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"قبلی"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"انجام شد"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"ارسال"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"توقف موقت"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"منتظر بمانید"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"برای شنیدن کلیدهای گذرواژه که با صدای بلند خوانده می‌شوند، از هدست استفاده کنید."</string>
     <!-- String.format failed for translation -->
     <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
diff --git a/java/res/values-fi/strings-action-keys.xml b/java/res/values-fi/strings-action-keys.xml
new file mode 100644
index 0000000..dfe1d8e
--- /dev/null
+++ b/java/res/values-fi/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Mene"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Seur."</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Edel."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Valmis"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Läh."</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Tauko"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Odota"</string>
+</resources>
diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml
index cee1b7d..cc2dcd6 100644
--- a/java/res/values-fi/strings.xml
+++ b/java/res/values-fi/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynaaminen kelluva esikatselu"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Näytä ehdotettu sana piirron aikana"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: tallennettu"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Mene"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Seur."</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Edel."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Valmis"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Läh."</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Tauko"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Odota"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Liitä kuulokkeet, niin kuulet mitä näppäimiä painat kirjoittaessasi salasanaa."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Nykyinen teksti on %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Ei kirjoitettua tekstiä"</string>
diff --git a/java/res/values-fr-rCA/strings-action-keys.xml b/java/res/values-fr-rCA/strings-action-keys.xml
new file mode 100644
index 0000000..774e502
--- /dev/null
+++ b/java/res/values-fr-rCA/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Aller"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Suivant"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Préc."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Terminé"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Envoyer"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Suspendre"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Attendre"</string>
+</resources>
diff --git a/java/res/values-fr-rCA/strings.xml b/java/res/values-fr-rCA/strings.xml
index 6f33539..61df432 100644
--- a/java/res/values-fr-rCA/strings.xml
+++ b/java/res/values-fr-rCA/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Aperçu flottant dynamique"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Afficher le mot suggéré lors des gestes"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : enregistré"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Aller"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Suivant"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Préc."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Terminé"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Envoyer"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Suspendre"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Attendre"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Branchez des écouteurs pour entendre l\'énoncé à haute voix des touches lors de la saisie du mot de passe."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Le texte actuel est %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Aucun texte saisi"</string>
diff --git a/java/res/values-fr/strings-action-keys.xml b/java/res/values-fr/strings-action-keys.xml
new file mode 100644
index 0000000..a22b788
--- /dev/null
+++ b/java/res/values-fr/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Suiv."</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Préc."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"OK"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Envoi"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Délai"</string>
+</resources>
diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml
index b850df9..c0840b2 100644
--- a/java/res/values-fr/strings.xml
+++ b/java/res/values-fr/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Aperçu flottant dynamique"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Afficher le mot suggéré lors des gestes"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : enregistré"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Suiv."</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Préc."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"OK"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Envoi"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Délai"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Branchez des écouteurs pour entendre l\'énoncé à haute voix des touches lors de la saisie du mot de passe."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Le texte actuel est %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Aucun texte saisi"</string>
diff --git a/java/res/values-hi/strings-action-keys.xml b/java/res/values-hi/strings-action-keys.xml
new file mode 100644
index 0000000..456aece
--- /dev/null
+++ b/java/res/values-hi/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"जाएं"</string>
+    <string name="label_next_key" msgid="362972844525672568">"अगला"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"पिछला"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"पूर्ण"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"भेजें"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"पॉज़ करें"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"प्रतीक्षा करें"</string>
+</resources>
diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml
index 6d2d5d2..08d7315 100644
--- a/java/res/values-hi/strings.xml
+++ b/java/res/values-hi/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"जाएं"</string>
-    <string name="label_next_key" msgid="362972844525672568">"अगला"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"पिछला"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"पूर्ण"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"भेजें"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"पॉज़ करें"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"प्रतीक्षा करें"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"ज़ोर से बोली गई पासवर्ड कुंजियां सुनने के लिए हेडसेट प्‍लग इन करें."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"वर्तमान पाठ %s है"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"कोई पाठ दर्ज नहीं किया गया"</string>
diff --git a/java/res/values-hr/strings-action-keys.xml b/java/res/values-hr/strings-action-keys.xml
new file mode 100644
index 0000000..c475c79
--- /dev/null
+++ b/java/res/values-hr/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Idi"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Dalje"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Pret."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Gotovo"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Pošalji"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Pričekaj"</string>
+</resources>
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
index ee2e68a..e5f4731 100644
--- a/java/res/values-hr/strings.xml
+++ b/java/res/values-hr/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dinamički plutajući pregled"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Vidi predloženu riječ tijekom pokreta"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Spremljeno"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Idi"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Dalje"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Pret."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Gotovo"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Pošalji"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Pričekaj"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Priključite slušalice da biste čuli tipke zaporke izgovorene naglas."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Trenutačni tekst je %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nije unesen tekst"</string>
diff --git a/java/res/values-hu/strings-action-keys.xml b/java/res/values-hu/strings-action-keys.xml
new file mode 100644
index 0000000..eb72ac8
--- /dev/null
+++ b/java/res/values-hu/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Ugrás"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Tovább"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Előző"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Kész"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Küldés"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Szün."</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Vár"</string>
+</resources>
diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml
index 71fce94..bcd2296 100644
--- a/java/res/values-hu/strings.xml
+++ b/java/res/values-hu/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dinamikus lebegő előnézet"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"A javasolt szó megtekintése kézmozdulat közben"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : mentve"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Ugrás"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Tovább"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Előző"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Kész"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Küldés"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Szün."</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Vár"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Csatlakoztasson egy headsetet, ha hallani szeretné a jelszót felolvasva."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"A jelenlegi szöveg: %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Szöveg nincs megadva"</string>
diff --git a/java/res/values-hy-rAM/strings-action-keys.xml b/java/res/values-hy-rAM/strings-action-keys.xml
new file mode 100644
index 0000000..f940055
--- /dev/null
+++ b/java/res/values-hy-rAM/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Առաջ"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Հաջորդը"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Նխրդ"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Կատարված է"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Ուղարկել"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Դադար"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Սպասել"</string>
+</resources>
diff --git a/java/res/values-hy-rAM/strings.xml b/java/res/values-hy-rAM/strings.xml
index b7ca149..76b0a08 100644
--- a/java/res/values-hy-rAM/strings.xml
+++ b/java/res/values-hy-rAM/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"Առաջ"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Հաջորդը"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Նխրդ"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Կատարված է"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Ուղարկել"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Դադար"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Սպասել"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Միացրեք ականջակալը՝ բարձրաձայն արտասանվող գաղտնաբառը լսելու համար:"</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Տվյալ տեքստը %s է"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Տեքստ չի մուտքագրվել"</string>
diff --git a/java/res/values-in/strings-action-keys.xml b/java/res/values-in/strings-action-keys.xml
new file mode 100644
index 0000000..85f7e78
--- /dev/null
+++ b/java/res/values-in/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Buka"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Berikutnya"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Sblm"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Selesai"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Kirimkan"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Jeda"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Tunggu"</string>
+</resources>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index a731478..99aa864 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Pratinjau mengambang dinamis"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Lihat kata yang disarankan saat melakukan isyarat"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Telah disimpan"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Buka"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Berikutnya"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Sblm"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Selesai"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Kirimkan"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Jeda"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Tunggu"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Pasang headset untuk mendengar tombol sandi yang diucapkan dengan keras."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Teks saat ini adalah %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Tidak ada teks yang dimasukkan"</string>
diff --git a/java/res/values-is/strings-action-keys.xml b/java/res/values-is/strings-action-keys.xml
new file mode 100644
index 0000000..49c6199
--- /dev/null
+++ b/java/res/values-is/strings-action-keys.xml
@@ -0,0 +1,31 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Áfram"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Næsta"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Fyrra"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Lokið"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Senda"</string>
+    <!-- no translation found for label_pause_key (181098308428035340) -->
+    <skip />
+    <!-- no translation found for label_wait_key (6402152600878093134) -->
+    <skip />
+</resources>
diff --git a/java/res/values-is/strings.xml b/java/res/values-is/strings.xml
index 5cc643d..6f685d3 100644
--- a/java/res/values-is/strings.xml
+++ b/java/res/values-is/strings.xml
@@ -128,15 +128,6 @@
     <skip />
     <!-- no translation found for added_word (8993883354622484372) -->
     <skip />
-    <string name="label_go_key" msgid="1635148082137219148">"Áfram"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Næsta"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Fyrra"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Lokið"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Senda"</string>
-    <!-- no translation found for label_pause_key (181098308428035340) -->
-    <skip />
-    <!-- no translation found for label_wait_key (6402152600878093134) -->
-    <skip />
     <!-- no translation found for spoken_use_headphones (896961781287283493) -->
     <skip />
     <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
diff --git a/java/res/values-it/strings-action-keys.xml b/java/res/values-it/strings-action-keys.xml
new file mode 100644
index 0000000..ecf02f5
--- /dev/null
+++ b/java/res/values-it/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Vai"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Avanti"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Indietro"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Fine"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Invia"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Attesa"</string>
+</resources>
diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml
index ec27fd5..7dd9692 100644
--- a/java/res/values-it/strings.xml
+++ b/java/res/values-it/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Anteprima mobile dinamica"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Visualizza la parola suggerita durante il gesto"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : parola salvata"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Vai"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Avanti"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Indietro"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Fine"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Invia"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Attesa"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Collega gli auricolari per ascoltare la pronuncia dei tasti premuti per la password."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Il testo attuale è %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nessun testo inserito"</string>
diff --git a/java/res/values-iw/strings-action-keys.xml b/java/res/values-iw/strings-action-keys.xml
new file mode 100644
index 0000000..cfd6a7b
--- /dev/null
+++ b/java/res/values-iw/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"התחל"</string>
+    <string name="label_next_key" msgid="362972844525672568">"הבא"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"הקודם"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"בוצע"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"שלח"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"השהה"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"המתן"</string>
+</resources>
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
index 664bfcf..dd185af 100644
--- a/java/res/values-iw/strings.xml
+++ b/java/res/values-iw/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"התחל"</string>
-    <string name="label_next_key" msgid="362972844525672568">"הבא"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"הקודם"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"בוצע"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"שלח"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"השהה"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"המתן"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"חבר אוזניות כדי לשמוע הקראה של מפתחות סיסמה."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"‏הטקסט הנוכחי הוא %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"לא הוזן טקסט"</string>
diff --git a/java/res/values-ja/strings-action-keys.xml b/java/res/values-ja/strings-action-keys.xml
new file mode 100644
index 0000000..342dc9a
--- /dev/null
+++ b/java/res/values-ja/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"実行"</string>
+    <string name="label_next_key" msgid="362972844525672568">"次へ"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"前へ"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"完了"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"送信"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"停止"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"待機"</string>
+</resources>
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
index fd546d9..f7e51d3 100644
--- a/java/res/values-ja/strings.xml
+++ b/java/res/values-ja/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"実行"</string>
-    <string name="label_next_key" msgid="362972844525672568">"次へ"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"前へ"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"完了"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"送信"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"停止"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"待機"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"パスワードのキーが音声出力されるのでヘッドセットを接続してください。"</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"現在のテキスト:%s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"テキストが入力されていません"</string>
diff --git a/java/res/values-ka-rGE/strings-action-keys.xml b/java/res/values-ka-rGE/strings-action-keys.xml
new file mode 100644
index 0000000..13066ad
--- /dev/null
+++ b/java/res/values-ka-rGE/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"წასვლა"</string>
+    <string name="label_next_key" msgid="362972844525672568">"შემდ."</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"წინა"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"დასრულდა"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"გაგზ."</string>
+    <string name="label_pause_key" msgid="181098308428035340">"პაუზა"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"მოცდა"</string>
+</resources>
diff --git a/java/res/values-ka-rGE/strings.xml b/java/res/values-ka-rGE/strings.xml
index 6224961..71ed657 100644
--- a/java/res/values-ka-rGE/strings.xml
+++ b/java/res/values-ka-rGE/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"წასვლა"</string>
-    <string name="label_next_key" msgid="362972844525672568">"შემდ."</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"წინა"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"დასრულდა"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"გაგზ."</string>
-    <string name="label_pause_key" msgid="181098308428035340">"პაუზა"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"მოცდა"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"შეაერთეთ ყურსაცვამი, რათა მოისმინოთ აკრეფილი პაროლის კლავიშების სახელები."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"მიმდინარე ტექსტი არის %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"ტექსტი არ შეყვანილა"</string>
diff --git a/java/res/values-kk/strings-action-keys.xml b/java/res/values-kk/strings-action-keys.xml
new file mode 100644
index 0000000..95c84a2
--- /dev/null
+++ b/java/res/values-kk/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Өту"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Келесі"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Алдағы"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Дайын"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Жіберу"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Тоқтата тұру"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Күту"</string>
+</resources>
diff --git a/java/res/values-kk/strings.xml b/java/res/values-kk/strings.xml
index 4c78be5..947ff2f 100644
--- a/java/res/values-kk/strings.xml
+++ b/java/res/values-kk/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"Өту"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Келесі"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Алдағы"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Дайын"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Жіберу"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Тоқтата тұру"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Күту"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Дауыспен айтылатын құпия сөз кілттерін есту үшін құлақаспап қосыңыз."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Ағымдағы мәтін - %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Мәтін енгізілмеген"</string>
diff --git a/java/res/values-km-rKH/strings-action-keys.xml b/java/res/values-km-rKH/strings-action-keys.xml
new file mode 100644
index 0000000..e90fba8
--- /dev/null
+++ b/java/res/values-km-rKH/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"ទៅ"</string>
+    <string name="label_next_key" msgid="362972844525672568">"បន្ទាប់"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"មុន"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"រួចរាល់"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"ផ្ញើ"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"ផ្អាក"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"រង់ចាំ"</string>
+</resources>
diff --git a/java/res/values-km-rKH/strings.xml b/java/res/values-km-rKH/strings.xml
index 79a0b2c..b9cd32d 100644
--- a/java/res/values-km-rKH/strings.xml
+++ b/java/res/values-km-rKH/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"ទៅ"</string>
-    <string name="label_next_key" msgid="362972844525672568">"បន្ទាប់"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"មុន"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"រួចរាល់"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"ផ្ញើ"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"ផ្អាក"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"រង់ចាំ"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"ដោត​កាស ដើម្បី​ស្ដាប់​ពាក្យ​សម្ងាត់។"</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"អត្ថបទ​បច្ចុប្បន្ន​គឺ %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"គ្មាន​អត្ថបទ​​​បាន​បញ្ចូល"</string>
diff --git a/java/res/values-ko/strings-action-keys.xml b/java/res/values-ko/strings-action-keys.xml
new file mode 100644
index 0000000..4299124
--- /dev/null
+++ b/java/res/values-ko/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"이동"</string>
+    <string name="label_next_key" msgid="362972844525672568">"다음"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"이전"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"완료"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"전송"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"일시 중지"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"대기"</string>
+</resources>
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
index 255e234..259a142 100644
--- a/java/res/values-ko/strings.xml
+++ b/java/res/values-ko/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"이동"</string>
-    <string name="label_next_key" msgid="362972844525672568">"다음"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"이전"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"완료"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"전송"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"일시 중지"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"대기"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"비밀번호 키를 음성으로 들으려면 헤드셋을 연결하세요."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"입력한 텍스트: %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"입력한 텍스트 없음"</string>
diff --git a/java/res/values-ky/strings-action-keys.xml b/java/res/values-ky/strings-action-keys.xml
new file mode 100644
index 0000000..5eda61e
--- /dev/null
+++ b/java/res/values-ky/strings-action-keys.xml
@@ -0,0 +1,31 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Баруу"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Кийин"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Мурун"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Даяр"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Жибер"</string>
+    <!-- no translation found for label_pause_key (181098308428035340) -->
+    <skip />
+    <!-- no translation found for label_wait_key (6402152600878093134) -->
+    <skip />
+</resources>
diff --git a/java/res/values-ky/strings.xml b/java/res/values-ky/strings.xml
index 45d855c..e30c4b9 100644
--- a/java/res/values-ky/strings.xml
+++ b/java/res/values-ky/strings.xml
@@ -112,19 +112,10 @@
     <skip />
     <!-- no translation found for added_word (8993883354622484372) -->
     <skip />
-    <string name="label_go_key" msgid="1635148082137219148">"Баруу"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Кийин"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Мурун"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Даяр"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Жибер"</string>
     <!-- no translation found for label_to_symbol_key (8516904117128967293) -->
     <skip />
     <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
     <skip />
-    <!-- no translation found for label_pause_key (181098308428035340) -->
-    <skip />
-    <!-- no translation found for label_wait_key (6402152600878093134) -->
-    <skip />
     <!-- no translation found for spoken_use_headphones (896961781287283493) -->
     <skip />
     <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml
index b874d48..c97e68f 100644
--- a/java/res/values-land/dimens.xml
+++ b/java/res/values-land/dimens.xml
@@ -31,10 +31,10 @@
     <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_ics">2.727%p</fraction>
-    <fraction name="keyboard_bottom_padding_ics">0.0%p</fraction>
-    <fraction name="key_bottom_gap_ics">5.368%p</fraction>
-    <fraction name="key_horizontal_gap_ics">1.020%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>
@@ -54,9 +54,9 @@
     <fraction name="key_letter_ratio_5row">78%</fraction>
     <fraction name="key_uppercase_letter_ratio_5row">48%</fraction>
 
-    <dimen name="key_preview_offset_ics">1.6dp</dimen>
+    <dimen name="key_preview_offset_holo">1.6dp</dimen>
     <!-- popup_key_height x -0.5 -->
-    <dimen name="more_keys_keyboard_vertical_correction_ics">-22.4dp</dimen>
+    <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>
diff --git a/java/res/values-lo-rLA/strings-action-keys.xml b/java/res/values-lo-rLA/strings-action-keys.xml
new file mode 100644
index 0000000..8cb6a24
--- /dev/null
+++ b/java/res/values-lo-rLA/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"ໄປ"</string>
+    <string name="label_next_key" msgid="362972844525672568">"ຕໍ່ໄປ"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"ກ່ອນໜ້າ"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"ແລ້ວໆ"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"ສົ່ງ"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"ຄ້າງໄວ້"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"ລໍຖ້າ"</string>
+</resources>
diff --git a/java/res/values-lo-rLA/strings.xml b/java/res/values-lo-rLA/strings.xml
index 1597f92..b1b02cc 100644
--- a/java/res/values-lo-rLA/strings.xml
+++ b/java/res/values-lo-rLA/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"ໄປ"</string>
-    <string name="label_next_key" msgid="362972844525672568">"ຕໍ່ໄປ"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"ກ່ອນໜ້າ"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"ແລ້ວໆ"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"ສົ່ງ"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"ຄ້າງໄວ້"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"ລໍຖ້າ"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"ສຽບສາຍຫູຟັງເພື່ອຟັງລະຫັດຜ່ານ."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"ຂໍ້ຄວາມປະຈຸບັນແມ່ນ %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"ບໍ່ມີການໃສ່ຂໍ້ຄວາມ"</string>
diff --git a/java/res/values-lt/strings-action-keys.xml b/java/res/values-lt/strings-action-keys.xml
new file mode 100644
index 0000000..c1309b7
--- /dev/null
+++ b/java/res/values-lt/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Pradėti"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Kitas"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Anks."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Atlikta"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Siųsti"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Prist."</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Lauk."</string>
+</resources>
diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml
index 1cb84d0..4a6daab 100644
--- a/java/res/values-lt/strings.xml
+++ b/java/res/values-lt/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dinaminė slankioji peržiūra"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Gestikuliuojant peržiūrėti siūlomą žodį"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: išsaugota"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Pradėti"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Kitas"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Anks."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Atlikta"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Siųsti"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Prist."</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Lauk."</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Prijunkite ausines, kad išgirstumėte sakomus slaptažodžio klavišus."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Dabartinis tekstas yra %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nėra įvesto teksto"</string>
diff --git a/java/res/values-lv/strings-action-keys.xml b/java/res/values-lv/strings-action-keys.xml
new file mode 100644
index 0000000..d6750d0
--- /dev/null
+++ b/java/res/values-lv/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Sākt"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Tālāk"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Iepr."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Gatavs"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Sūtīt"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pauze"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Gaidīt"</string>
+</resources>
diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml
index 221cc2e..5770c29 100644
--- a/java/res/values-lv/strings.xml
+++ b/java/res/values-lv/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dinamisk. peldošais priekšsk."</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Skatiet ieteikto vārdu, veicot žestu."</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: saglabāts"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Sākt"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Tālāk"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Iepr."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Gatavs"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Sūtīt"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pauze"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Gaidīt"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Pievienojiet austiņas, lai dzirdētu paroles rakstzīmes."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Pašreizējais teksts ir %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nav ievadīts teksts"</string>
diff --git a/java/res/values-mk/strings-action-keys.xml b/java/res/values-mk/strings-action-keys.xml
new file mode 100644
index 0000000..40de51b
--- /dev/null
+++ b/java/res/values-mk/strings-action-keys.xml
@@ -0,0 +1,31 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Оди"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Следно"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Претходно"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Испрати"</string>
+    <!-- no translation found for label_pause_key (181098308428035340) -->
+    <skip />
+    <!-- no translation found for label_wait_key (6402152600878093134) -->
+    <skip />
+</resources>
diff --git a/java/res/values-mk/strings.xml b/java/res/values-mk/strings.xml
index 6ee84fa..6f685d3 100644
--- a/java/res/values-mk/strings.xml
+++ b/java/res/values-mk/strings.xml
@@ -128,15 +128,6 @@
     <skip />
     <!-- no translation found for added_word (8993883354622484372) -->
     <skip />
-    <string name="label_go_key" msgid="1635148082137219148">"Оди"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Следно"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Претходно"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Испрати"</string>
-    <!-- no translation found for label_pause_key (181098308428035340) -->
-    <skip />
-    <!-- no translation found for label_wait_key (6402152600878093134) -->
-    <skip />
     <!-- no translation found for spoken_use_headphones (896961781287283493) -->
     <skip />
     <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
diff --git a/java/res/values-mn-rMN/strings-action-keys.xml b/java/res/values-mn-rMN/strings-action-keys.xml
new file mode 100644
index 0000000..7cf345e
--- /dev/null
+++ b/java/res/values-mn-rMN/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Явах"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Дараах"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Өмнөх"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Дууссан"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Илгээх"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Пауз"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Хүлээх"</string>
+</resources>
diff --git a/java/res/values-mn-rMN/strings.xml b/java/res/values-mn-rMN/strings.xml
index 5633cf8..658f6d8 100644
--- a/java/res/values-mn-rMN/strings.xml
+++ b/java/res/values-mn-rMN/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"Явах"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Дараах"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Өмнөх"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Дууссан"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Илгээх"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Пауз"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Хүлээх"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Нууц үгний товчнуудыг чангаар уншихыг сонсохын тулд чихэвчээ залгана уу."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Одоогийн текст %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Текст оруулаагүй"</string>
diff --git a/java/res/values-ms-rMY/strings-action-keys.xml b/java/res/values-ms-rMY/strings-action-keys.xml
new file mode 100644
index 0000000..5f14b84
--- /dev/null
+++ b/java/res/values-ms-rMY/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Pergi"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Seterusnya"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Sblm"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Selesai"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Hantar"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Jeda"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Tunggu"</string>
+</resources>
diff --git a/java/res/values-ms-rMY/strings.xml b/java/res/values-ms-rMY/strings.xml
index 41bb9f8..a874548 100644
--- a/java/res/values-ms-rMY/strings.xml
+++ b/java/res/values-ms-rMY/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Pratonton terapung dinamik"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Lihat perkataan yang dicadangkan semasa membuat gerak isyarat"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Disimpan"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Pergi"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Seterusnya"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Sblm"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Selesai"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Hantar"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Jeda"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Tunggu"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Pasangkan set kepala untuk mendengar kekunci kata laluan disebut dengan kuat."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Teks semasa adalah %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Tiada teks dimasukkan"</string>
diff --git a/java/res/values-nb/strings-action-keys.xml b/java/res/values-nb/strings-action-keys.xml
new file mode 100644
index 0000000..840e8c8
--- /dev/null
+++ b/java/res/values-nb/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Utfør"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Neste"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Forr."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Utfør"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Vent"</string>
+</resources>
diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml
index a473cce..500fc33 100644
--- a/java/res/values-nb/strings.xml
+++ b/java/res/values-nb/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamisk flytende forhåndsvsn."</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Se det foreslåtte ordet mens du utfører bevegelser"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Lagret"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Utfør"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Neste"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Forr."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Utfør"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Vent"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Koble til hodetelefoner for å høre opplesing av bokstavene i passordet."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Gjeldende tekst er %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Ingen tekst er skrevet inn"</string>
diff --git a/java/res/values-nl/strings-action-keys.xml b/java/res/values-nl/strings-action-keys.xml
new file mode 100644
index 0000000..3a6967f
--- /dev/null
+++ b/java/res/values-nl/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Start"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Verder"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Vorig"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Gereed"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Zenden"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pauze"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Wacht"</string>
+</resources>
diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml
index 60db9f0..4413b27 100644
--- a/java/res/values-nl/strings.xml
+++ b/java/res/values-nl/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamisch zwevend voorbeeld"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Het voorgestelde woord weergeven tijdens het tekenen"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: opgeslagen"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Start"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Verder"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Vorig"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Gereed"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Zenden"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pauze"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Wacht"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Sluit een headset aan om wachtwoordtoetsen hardop te laten voorlezen."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Huidige tekst is %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Geen tekst ingevoerd"</string>
diff --git a/java/res/values-pl/strings-action-keys.xml b/java/res/values-pl/strings-action-keys.xml
new file mode 100644
index 0000000..4bbceea
--- /dev/null
+++ b/java/res/values-pl/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Dalej"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Wstecz"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"OK"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Wyślij"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Czekaj"</string>
+</resources>
diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml
index c3ed2d8..d36cd49 100644
--- a/java/res/values-pl/strings.xml
+++ b/java/res/values-pl/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamiczny podgląd słowa"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Podczas gestykulacji będzie widoczne podpowiadane słowo"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Zapisano"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Dalej"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Wstecz"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"OK"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Wyślij"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Czekaj"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Podłącz zestaw słuchawkowy, aby usłyszeć znaki hasła wypowiadane na głos."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Aktualny tekst: %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nie wprowadzono tekstu"</string>
diff --git a/java/res/values-pt-rPT/strings-action-keys.xml b/java/res/values-pt-rPT/strings-action-keys.xml
new file mode 100644
index 0000000..88d9ceb
--- /dev/null
+++ b/java/res/values-pt-rPT/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Avançar"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Ant."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"OK"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Esp."</string>
+</resources>
diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml
index 2a4c2b8..c7eb065 100644
--- a/java/res/values-pt-rPT/strings.xml
+++ b/java/res/values-pt-rPT/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Pré-visual. flutuante dinâmica"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Ver palavra sugerida enquanto toca"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Avançar"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Ant."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"OK"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Esp."</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Ligar auscultadores com microfone integrado para ouvir as teclas da palavra-passe."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"O texto atual é %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nenhum texto digitado"</string>
diff --git a/java/res/values-pt/strings-action-keys.xml b/java/res/values-pt/strings-action-keys.xml
new file mode 100644
index 0000000..e007dc0
--- /dev/null
+++ b/java/res/values-pt/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Avançar"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Volt."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Feito"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Esp."</string>
+</resources>
diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml
index c0e1aa6..2aa7f77 100644
--- a/java/res/values-pt/strings.xml
+++ b/java/res/values-pt/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Visualizaç. dinâmica flutuante"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Ver a palavra sugerida ao usar gestos"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Salvo"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Avançar"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Volt."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Feito"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Esp."</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Conecte um fone de ouvido para ouvir as chaves de senha em voz alta."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"O texto atual é %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nenhum texto digitado"</string>
diff --git a/java/res/values-rm/strings-action-keys.xml b/java/res/values-rm/strings-action-keys.xml
new file mode 100644
index 0000000..fbe84b5
--- /dev/null
+++ b/java/res/values-rm/strings-action-keys.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="label_go_key" msgid="1635148082137219148">"Dai"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Vinavant"</string>
+    <!-- no translation found for label_previous_key (1211868118071386787) -->
+    <skip />
+    <string name="label_done_key" msgid="2441578748772529288">"Finì"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Trametter"</string>
+    <!-- no translation found for label_pause_key (181098308428035340) -->
+    <skip />
+    <!-- no translation found for label_wait_key (6402152600878093134) -->
+    <skip />
+</resources>
diff --git a/java/res/values-rm/strings.xml b/java/res/values-rm/strings.xml
index b956619..3f0bab9 100644
--- a/java/res/values-rm/strings.xml
+++ b/java/res/values-rm/strings.xml
@@ -123,16 +123,6 @@
     <!-- no translation found for gesture_floating_preview_text_summary (4472696213996203533) -->
     <skip />
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Memorisà"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Dai"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Vinavant"</string>
-    <!-- no translation found for label_previous_key (1211868118071386787) -->
-    <skip />
-    <string name="label_done_key" msgid="2441578748772529288">"Finì"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Trametter"</string>
-    <!-- no translation found for label_pause_key (181098308428035340) -->
-    <skip />
-    <!-- no translation found for label_wait_key (6402152600878093134) -->
-    <skip />
     <!-- no translation found for spoken_use_headphones (896961781287283493) -->
     <skip />
     <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
diff --git a/java/res/values-ro/strings-action-keys.xml b/java/res/values-ro/strings-action-keys.xml
new file mode 100644
index 0000000..cdb9134
--- /dev/null
+++ b/java/res/values-ro/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Înainte"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Înapoi"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Terminat"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Trimiteţi"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pauză"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Aşt."</string>
+</resources>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index c24ec01..ad4456a 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Sugestie flotantă dinamică"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Afişaţi cuvântul sugerat când utilizaţi gesturi"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: salvat"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Înainte"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Înapoi"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Terminat"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Trimiteţi"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pauză"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Aşt."</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Conectaţi un set căşti-microfon pentru a auzi tastele apăsate când introduceţi parola."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Textul curent este %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nu a fost introdus text"</string>
diff --git a/java/res/values-ru/strings-action-keys.xml b/java/res/values-ru/strings-action-keys.xml
new file mode 100644
index 0000000..331d28c
--- /dev/null
+++ b/java/res/values-ru/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Поиск"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Далее"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Пред."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Отправить"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Ждать"</string>
+</resources>
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
index 176e75e..6db65e9 100644
--- a/java/res/values-ru/strings.xml
+++ b/java/res/values-ru/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"Поиск"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Далее"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Пред."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Отправить"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Ждать"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Подключите гарнитуру, чтобы услышать пароль."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Введенный текст: %s."</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Текст не введен"</string>
diff --git a/java/res/values-sk/strings-action-keys.xml b/java/res/values-sk/strings-action-keys.xml
new file mode 100644
index 0000000..a646663
--- /dev/null
+++ b/java/res/values-sk/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Hľadať"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Ďalej"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Pred."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Hotovo"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Odoslať"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pozastaviť"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Čakajte"</string>
+</resources>
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
index bc5d6d2..9e5de1e 100644
--- a/java/res/values-sk/strings.xml
+++ b/java/res/values-sk/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamická plávajúca ukážka"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Zobrazenie navrhovaného slova pri písaní gestami"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Uložené"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Hľadať"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Ďalej"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Pred."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Hotovo"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Odoslať"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pozastaviť"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Čakajte"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Ak si chcete pri zadávaní hesla vypočuť nahlas vyslovené klávesy, pripojte náhlavnú súpravu."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Aktuálny text je %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nie je zadaný žiadny text"</string>
diff --git a/java/res/values-sl/strings-action-keys.xml b/java/res/values-sl/strings-action-keys.xml
new file mode 100644
index 0000000..7e6c778
--- /dev/null
+++ b/java/res/values-sl/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Pojdi"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Naprej"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Nazaj"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Dokončano"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Pošlji"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Premor"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Čakaj"</string>
+</resources>
diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml
index c7d698b..76e169b 100644
--- a/java/res/values-sl/strings.xml
+++ b/java/res/values-sl/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dinamični plavajoči predogled"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Prikaz predlagane besede med vnosom s prstom"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: shranjeno"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Pojdi"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Naprej"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Nazaj"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Dokončano"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Pošlji"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Premor"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Čakaj"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Priključite slušalke, če želite slišati izgovorjene tipke gesla."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Trenutno besedilo je %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Ni vnesenega besedila"</string>
diff --git a/java/res/values-sr/strings-action-keys.xml b/java/res/values-sr/strings-action-keys.xml
new file mode 100644
index 0000000..b1f0910
--- /dev/null
+++ b/java/res/values-sr/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Иди"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Следеће"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Прет."</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Пошаљи"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Чекај"</string>
+</resources>
diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml
index e93661a..16de760 100644
--- a/java/res/values-sr/strings.xml
+++ b/java/res/values-sr/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"Иди"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Следеће"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Прет."</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Пошаљи"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Чекај"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Укључите слушалице да бисте чули наглас изговорене тастере за лозинку."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Тренутни текст је %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Текст није унет"</string>
diff --git a/java/res/values-sv/strings-action-keys.xml b/java/res/values-sv/strings-action-keys.xml
new file mode 100644
index 0000000..4e59fa5
--- /dev/null
+++ b/java/res/values-sv/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Kör"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Nästa"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Föreg"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Färdig"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Skicka"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Vänta"</string>
+</resources>
diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml
index 1b23e33..32b8dbe 100644
--- a/java/res/values-sv/strings.xml
+++ b/java/res/values-sv/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Visa ordförslag vid svepskrivning"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Ordförslaget visas i rörelsen medan du skriver"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: sparat"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Kör"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Nästa"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Föreg"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Färdig"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Skicka"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Vänta"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Anslut hörlurar om du vill att lösenordet ska läsas upp."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Nuvarande text är %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Ingen text har angetts"</string>
diff --git a/java/res/values-sw/strings-action-keys.xml b/java/res/values-sw/strings-action-keys.xml
new file mode 100644
index 0000000..5544253
--- /dev/null
+++ b/java/res/values-sw/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Nenda"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Inayofuata"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Iliyotangulia"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Kwisha"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Tuma"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pumzisha"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Subiri"</string>
+</resources>
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index 9a22d20..f32fb74 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Kihakiki kinachobadilika cha kuelea"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Onyesha neno lililopendekezwa unapoonyesha ishara"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Imehifadhiwa"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Nenda"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Inayofuata"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Iliyotangulia"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Kwisha"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Tuma"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pumzisha"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Subiri"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Chomeka plagi ya kifaa cha kichwa cha kusikiza ili kusikiliza msimbo wa nenosiri inayozungumwa kwa sauti ya juu."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Maandishi ya sasa ni %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Hakuna maandishi yaliyoingizwa"</string>
diff --git a/java/res/values-sw540dp-land/dimens.xml b/java/res/values-sw540dp-land/dimens.xml
index d79e8ca..0024937 100644
--- a/java/res/values-sw540dp-land/dimens.xml
+++ b/java/res/values-sw540dp-land/dimens.xml
@@ -29,10 +29,10 @@
     <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_ics">2.727%p</fraction>
-    <fraction name="keyboard_bottom_padding_ics">0.0%p</fraction>
-    <fraction name="key_bottom_gap_ics">4.5%p</fraction>
-    <fraction name="key_horizontal_gap_ics">0.9%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>
 
diff --git a/java/res/values-sw540dp/dimens.xml b/java/res/values-sw540dp/dimens.xml
index b2f4ae0..801b7ac 100644
--- a/java/res/values-sw540dp/dimens.xml
+++ b/java/res/values-sw540dp/dimens.xml
@@ -32,10 +32,10 @@
     <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_ics">2.335%p</fraction>
-    <fraction name="keyboard_bottom_padding_ics">4.0%p</fraction>
-    <fraction name="key_bottom_gap_ics">4.5%p</fraction>
-    <fraction name="key_horizontal_gap_ics">1.565%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. -->
@@ -66,9 +66,9 @@
     <fraction name="key_letter_ratio_5row">52%</fraction>
     <fraction name="key_uppercase_letter_ratio_5row">27%</fraction>
 
-    <dimen name="key_preview_offset_ics">8.0dp</dimen>
+    <dimen name="key_preview_offset_holo">8.0dp</dimen>
     <!-- popup_key_height x -0.5 -->
-    <dimen name="more_keys_keyboard_vertical_correction_ics">-31.5dp</dimen>
+    <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>
diff --git a/java/res/values-sw540dp/touch-position-correction.xml b/java/res/values-sw540dp/touch-position-correction.xml
index df07c12..932b8fc 100644
--- a/java/res/values-sw540dp/touch-position-correction.xml
+++ b/java/res/values-sw540dp/touch-position-correction.xml
@@ -48,7 +48,7 @@
     </string-array>
 
     <string-array
-        name="touch_position_correction_data_ics"
+        name="touch_position_correction_data_holo"
         translatable="false"
     >
         <!-- The default touch position data (See com.android.inputmethod.keyboard.ProximityInfo)
diff --git a/java/res/values-sw768dp-land/dimens.xml b/java/res/values-sw768dp-land/dimens.xml
index ce315b0..653f5e7 100644
--- a/java/res/values-sw768dp-land/dimens.xml
+++ b/java/res/values-sw768dp-land/dimens.xml
@@ -29,10 +29,10 @@
     <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_ics">1.896%p</fraction>
-    <fraction name="keyboard_bottom_padding_ics">0.0%p</fraction>
-    <fraction name="key_bottom_gap_ics">3.690%p</fraction>
-    <fraction name="key_horizontal_gap_ics">1.030%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>
 
@@ -53,7 +53,7 @@
     <fraction name="key_letter_ratio_5row">53%</fraction>
     <fraction name="key_uppercase_letter_ratio_5row">30%</fraction>
 
-    <dimen name="key_preview_offset_ics">8.0dp</dimen>
+    <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>
diff --git a/java/res/values-sw768dp/dimens.xml b/java/res/values-sw768dp/dimens.xml
index c90da7f..4671aa2 100644
--- a/java/res/values-sw768dp/dimens.xml
+++ b/java/res/values-sw768dp/dimens.xml
@@ -30,10 +30,10 @@
     <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_ics">2.335%p</fraction>
-    <fraction name="keyboard_bottom_padding_ics">0.0%p</fraction>
-    <fraction name="key_bottom_gap_ics">3.312%p</fraction>
-    <fraction name="key_horizontal_gap_ics">1.066%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>
 
@@ -66,9 +66,9 @@
     <fraction name="key_letter_ratio_5row">51%</fraction>
     <fraction name="key_uppercase_letter_ratio_5row">33%</fraction>
 
-    <dimen name="key_preview_offset_ics">8.0dp</dimen>
+    <dimen name="key_preview_offset_holo">8.0dp</dimen>
     <!-- popup_key_height x -0.5 -->
-    <dimen name="more_keys_keyboard_vertical_correction_ics">-31.5dp</dimen>
+    <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>
diff --git a/java/res/values-th/strings-action-keys.xml b/java/res/values-th/strings-action-keys.xml
new file mode 100644
index 0000000..3fd9b4d
--- /dev/null
+++ b/java/res/values-th/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"ไป"</string>
+    <string name="label_next_key" msgid="362972844525672568">"ถัดไป"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"ก่อนหน้า"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"เสร็จสิ้น"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"ส่ง"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"หยุดชั่วคราว"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"รอ"</string>
+</resources>
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index bb8b556..d18d5c1 100644
--- a/java/res/values-th/strings.xml
+++ b/java/res/values-th/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"ไป"</string>
-    <string name="label_next_key" msgid="362972844525672568">"ถัดไป"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"ก่อนหน้า"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"เสร็จสิ้น"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"ส่ง"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"หยุดชั่วคราว"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"รอ"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"เสียบชุดหูฟังเพื่อฟังเสียงเมื่อพิมพ์รหัสผ่าน"</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"ข้อความปัจจุบันคือ %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"ไม่มีข้อความ"</string>
diff --git a/java/res/values-tl/strings-action-keys.xml b/java/res/values-tl/strings-action-keys.xml
new file mode 100644
index 0000000..289c5e3
--- /dev/null
+++ b/java/res/values-tl/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Punta"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Susunod"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Nkrn"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Tapos na"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Ipadala"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Intay"</string>
+</resources>
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
index 60ba081..e6a0aa7 100644
--- a/java/res/values-tl/strings.xml
+++ b/java/res/values-tl/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamic na floating preview"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Tingnan ang iminungkahing salita habang gumagalaw"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Na-save"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Punta"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Susunod"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Nkrn"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Tapos na"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Ipadala"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Intay"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Mag-plug in ng headset upang marinig ang mga password key na binabanggit nang malakas."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Ang kasalukuyang teksto ay %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Walang tekstong inilagay"</string>
diff --git a/java/res/values-tr/strings-action-keys.xml b/java/res/values-tr/strings-action-keys.xml
new file mode 100644
index 0000000..b1b389a
--- /dev/null
+++ b/java/res/values-tr/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Git"</string>
+    <string name="label_next_key" msgid="362972844525672568">"İleri"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Önceki"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Bitti"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Gönder"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Durkl"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Bekle"</string>
+</resources>
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
index 676cc3c..e5d9996 100644
--- a/java/res/values-tr/strings.xml
+++ b/java/res/values-tr/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dinamik kayan önizleme"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Hareket sırasında önerilen kelimeyi göster"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Kaydedildi"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Git"</string>
-    <string name="label_next_key" msgid="362972844525672568">"İleri"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Önceki"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Bitti"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Gönder"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Durkl"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Bekle"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Şifre tuşlarının sesli okunmasını dinlemek için mikrofonlu kulaklık takın."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Mevcut metin: %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Hiç metin girilmedi"</string>
diff --git a/java/res/values-uk/strings-action-keys.xml b/java/res/values-uk/strings-action-keys.xml
new file mode 100644
index 0000000..97c3038
--- /dev/null
+++ b/java/res/values-uk/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Далі"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Назад"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Надісл."</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Чек."</string>
+</resources>
diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml
index 2a8b937..dc34ef5 100644
--- a/java/res/values-uk/strings.xml
+++ b/java/res/values-uk/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"OK"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Далі"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Назад"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Надісл."</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Чек."</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Підключіть гарнітуру, щоб прослухати відтворені вголос символи пароля."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Поточний текст – %s."</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Текст не введено"</string>
diff --git a/java/res/values-vi/strings-action-keys.xml b/java/res/values-vi/strings-action-keys.xml
new file mode 100644
index 0000000..4cd7a9f
--- /dev/null
+++ b/java/res/values-vi/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Tìm"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Tiếp theo"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Trước"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Xong"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Gửi"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Tạm dừng"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Đợi"</string>
+</resources>
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
index 74ef95a..5520a2e 100644
--- a/java/res/values-vi/strings.xml
+++ b/java/res/values-vi/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Xem trước nổi động"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Xem từ được đề xuất trong khi dùng cử chỉ"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Đã lưu"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Tìm"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Tiếp theo"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Trước"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Xong"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Gửi"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Tạm dừng"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Đợi"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Cắm tai nghe để nghe mật khẩu."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Ký tự hiện tại là %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Không có ký tự nào được nhập"</string>
diff --git a/java/res/values-zh-rCN/strings-action-keys.xml b/java/res/values-zh-rCN/strings-action-keys.xml
new file mode 100644
index 0000000..af0472e
--- /dev/null
+++ b/java/res/values-zh-rCN/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"开始"</string>
+    <string name="label_next_key" msgid="362972844525672568">"下个"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"后退"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"完成"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"发送"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"暂停"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"等待"</string>
+</resources>
diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml
index c552693..a5a326c 100644
--- a/java/res/values-zh-rCN/strings.xml
+++ b/java/res/values-zh-rCN/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"开始"</string>
-    <string name="label_next_key" msgid="362972844525672568">"下个"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"后退"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"完成"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"发送"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"暂停"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"等待"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"需要插入耳机才能听到密码的按键声。"</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"当前文本为%s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"未输入文字"</string>
diff --git a/java/res/values-zh-rHK/strings-action-keys.xml b/java/res/values-zh-rHK/strings-action-keys.xml
new file mode 100644
index 0000000..332519f
--- /dev/null
+++ b/java/res/values-zh-rHK/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"開始"</string>
+    <string name="label_next_key" msgid="362972844525672568">"下一步"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"上一步"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"完成"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"發送"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"暫停"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"等候"</string>
+</resources>
diff --git a/java/res/values-zh-rHK/strings.xml b/java/res/values-zh-rHK/strings.xml
index 1d4f36a..ee833ce 100644
--- a/java/res/values-zh-rHK/strings.xml
+++ b/java/res/values-zh-rHK/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"開始"</string>
-    <string name="label_next_key" msgid="362972844525672568">"下一步"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"上一步"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"完成"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"發送"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"暫停"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"等候"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"插上耳機即可聽到系統朗讀密碼鍵。"</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"目前文字為 %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"未輸入文字"</string>
diff --git a/java/res/values-zh-rTW/strings-action-keys.xml b/java/res/values-zh-rTW/strings-action-keys.xml
new file mode 100644
index 0000000..80045b0
--- /dev/null
+++ b/java/res/values-zh-rTW/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"前往"</string>
+    <string name="label_next_key" msgid="362972844525672568">"下一頁"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"上一頁"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"完成"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"傳送"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"暫停"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"等待"</string>
+</resources>
diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml
index 4d39050..21b2bec 100644
--- a/java/res/values-zh-rTW/strings.xml
+++ b/java/res/values-zh-rTW/strings.xml
@@ -74,13 +74,6 @@
     <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="label_go_key" msgid="1635148082137219148">"前往"</string>
-    <string name="label_next_key" msgid="362972844525672568">"下一頁"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"上一頁"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"完成"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"傳送"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"暫停"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"等待"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"連接耳機即可聽取系統朗讀密碼按鍵。"</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"目前文字為 %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"未輸入文字"</string>
diff --git a/java/res/values-zu/strings-action-keys.xml b/java/res/values-zu/strings-action-keys.xml
new file mode 100644
index 0000000..054b494
--- /dev/null
+++ b/java/res/values-zu/strings-action-keys.xml
@@ -0,0 +1,29 @@
+<?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">
+    <string name="label_go_key" msgid="1635148082137219148">"Iya"</string>
+    <string name="label_next_key" msgid="362972844525672568">"Okulandelayo"</string>
+    <string name="label_previous_key" msgid="1211868118071386787">"Eledlule"</string>
+    <string name="label_done_key" msgid="2441578748772529288">"Kwenziwe"</string>
+    <string name="label_send_key" msgid="2815056534433717444">"Thumela"</string>
+    <string name="label_pause_key" msgid="181098308428035340">"Misa okwesikhashana"</string>
+    <string name="label_wait_key" msgid="6402152600878093134">"Linda"</string>
+</resources>
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
index d245c32..b8b753c 100644
--- a/java/res/values-zu/strings.xml
+++ b/java/res/values-zu/strings.xml
@@ -74,13 +74,6 @@
     <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Ukuhlola kuqala okuntantayo okunamandla"</string>
     <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Bona igama eliphakanyisiwe ngenkathi uthinta"</string>
     <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Kulondoloziwe"</string>
-    <string name="label_go_key" msgid="1635148082137219148">"Iya"</string>
-    <string name="label_next_key" msgid="362972844525672568">"Okulandelayo"</string>
-    <string name="label_previous_key" msgid="1211868118071386787">"Eledlule"</string>
-    <string name="label_done_key" msgid="2441578748772529288">"Kwenziwe"</string>
-    <string name="label_send_key" msgid="2815056534433717444">"Thumela"</string>
-    <string name="label_pause_key" msgid="181098308428035340">"Misa okwesikhashana"</string>
-    <string name="label_wait_key" msgid="6402152600878093134">"Linda"</string>
     <string name="spoken_use_headphones" msgid="896961781287283493">"Plaka ku-headset ukuze uzwe okhiye bephasiwedi ezindlebeni zakho bezwakala kakhulu."</string>
     <string name="spoken_current_text_is" msgid="2485723011272583845">"Umbhalo wamanje ngu %s"</string>
     <string name="spoken_no_text_entered" msgid="7479685225597344496">"Awukho umbhalo ofakiwe"</string>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 31945d0..a7425f1 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -276,6 +276,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__* -->
@@ -295,14 +297,16 @@
             <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. -->
diff --git a/java/res/values/colors.xml b/java/res/values/colors.xml
index 94fadb9..93f25a7 100644
--- a/java/res/values/colors.xml
+++ b/java/res/values/colors.xml
@@ -39,20 +39,20 @@
     <color name="typed_word_color_ics">#D833B5E5</color>
     <color name="suggested_word_color_ics">#B233B5E5</color>
     <color name="highlight_translucent_color_ics">#9933B5E5</color>
-    <color name="key_text_shadow_color_ics">@android:color/transparent</color>
-    <color name="key_text_inactivated_color_ics">#66E0E4E5</color>
-    <color name="key_hint_letter_color_ics">#80000000</color>
-    <color name="key_hint_label_color_ics">#A0FFFFFF</color>
-    <color name="key_shifted_letter_hint_inactivated_color_ics">#66E0E4E5</color>
-    <color name="key_shifted_letter_hint_activated_color_ics">@android:color/white</color>
-    <color name="spacebar_text_color_ics">#FFC0C0C0</color>
-    <color name="spacebar_text_shadow_color_ics">#80000000</color>
-    <color name="gesture_floating_preview_color_ics">#C0000000</color>
+    <color name="key_text_shadow_color_holo">@android:color/transparent</color>
+    <color name="key_text_inactivated_color_holo">#66E0E4E5</color>
+    <color name="key_hint_letter_color_holo">#80000000</color>
+    <color name="key_hint_label_color_holo">#A0FFFFFF</color>
+    <color name="key_shifted_letter_hint_inactivated_color_holo">#66E0E4E5</color>
+    <color name="key_shifted_letter_hint_activated_color_holo">@android:color/white</color>
+    <color name="spacebar_text_color_holo">#FFC0C0C0</color>
+    <color name="spacebar_text_shadow_color_holo">#80000000</color>
+    <color name="gesture_floating_preview_color_holo">#C0000000</color>
     <!-- Color resources for KLP theme. Base color = F0F0F0 -->
-    <color name="highlight_color_holo">#FFF0F0F0</color>
-    <color name="typed_word_color_holo">#D8F0F0F0</color>
-    <color name="suggested_word_color_holo">#B2F0F0F0</color>
-    <color name="highlight_translucent_color_holo">#99E0E0E0</color>
+    <color name="highlight_color_klp">#FFF0F0F0</color>
+    <color name="typed_word_color_klp">#D8F0F0F0</color>
+    <color name="suggested_word_color_klp">#B2F0F0F0</color>
+    <color name="highlight_translucent_color_klp">#99E0E0E0</color>
     <!-- Color resources for setup wizard and tutorial -->
     <color name="setup_background">#FFEBEBEB</color>
     <color name="setup_text_dark">#FF707070</color>
@@ -66,6 +66,6 @@
     <color name="emoji_key_background_color">#00000000</color>
     <color name="emoji_key_pressed_background_color">#30FFFFFF</color>
 
-    <color name="key_text_color_normal_ics">@android:color/white</color>
-    <color name="key_text_color_functional_ics">@android:color/white</color>
+    <color name="key_text_color_normal_holo">@android:color/white</color>
+    <color name="key_text_color_functional_holo">@android:color/white</color>
 </resources>
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index 66b9b70..8f6c125 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -42,7 +42,7 @@
     <integer name="config_keyboard_grid_height">16</integer>
     <integer name="config_double_space_period_timeout">1100</integer>
     <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. -->
-    <string name="config_default_keyboard_theme_index" translatable="false">0</string>
+    <string name="config_default_keyboard_theme_index" translatable="false">2</string>
     <integer name="config_max_more_keys_column">5</integer>
 
     <!--
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
index 18cb262..4588b10 100644
--- a/java/res/values/dimens.xml
+++ b/java/res/values/dimens.xml
@@ -37,10 +37,10 @@
     <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_ics">2.335%p</fraction>
-    <fraction name="keyboard_bottom_padding_ics">4.669%p</fraction>
-    <fraction name="key_bottom_gap_ics">6.127%p</fraction>
-    <fraction name="key_horizontal_gap_ics">1.739%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 -->
@@ -71,9 +71,9 @@
     <fraction name="key_letter_ratio_5row">64%</fraction>
     <fraction name="key_uppercase_letter_ratio_5row">41%</fraction>
 
-    <dimen name="key_preview_offset_ics">8.0dp</dimen>
+    <dimen name="key_preview_offset_holo">8.0dp</dimen>
     <!-- popup_key_height x -0.5 -->
-    <dimen name="more_keys_keyboard_vertical_correction_ics">-26.4dp</dimen>
+    <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>
diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml
index 4733aa2..ca9d7c3 100644
--- a/java/res/values/donottranslate.xml
+++ b/java/res/values/donottranslate.xml
@@ -103,15 +103,18 @@
     <!-- Keyboard theme names -->
     <string name="layout_gingerbread">Gingerbread</string>
     <string name="layout_ics">IceCreamSandwich</string>
+    <string name="layout_klp">KeyLimePie</string>
 
     <!-- For keyboard theme switcher dialog -->
     <string-array name="keyboard_layout_modes">
         <item>@string/layout_ics</item>
         <item>@string/layout_gingerbread</item>
+        <item>@string/layout_klp</item>
     </string-array>
     <string-array name="keyboard_layout_modes_values">
         <item>0</item>
         <item>1</item>
+        <item>2</item>
     </string-array>
 
     <!-- Subtype locale display name exceptions.
diff --git a/java/res/values/keyboard-icons-holo.xml b/java/res/values/keyboard-icons-holo.xml
new file mode 100644
index 0000000..b49e1d1
--- /dev/null
+++ b/java/res/values/keyboard-icons-holo.xml
@@ -0,0 +1,45 @@
+<?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">
+    <style name="KeyboardIcons.Holo">
+        <!-- Keyboard icons -->
+        <!-- TODO: The following holo icon for phone (drawable-hdpi and drawable-xhdpi) are missing.
+             sym_keyboard_123_mic_holo
+             -->
+        <item name="iconShiftKey">@drawable/sym_keyboard_shift_holo_dark</item>
+        <item name="iconDeleteKey">@drawable/sym_keyboard_delete_holo_dark</item>
+        <item name="iconSettingsKey">@drawable/sym_keyboard_settings_holo_dark</item>
+        <item name="iconSpaceKey">@null</item>
+        <item name="iconEnterKey">@drawable/sym_keyboard_return_holo_dark</item>
+        <item name="iconSearchKey">@drawable/sym_keyboard_search_holo_dark</item>
+        <item name="iconTabKey">@drawable/sym_keyboard_tab_holo_dark</item>
+        <item name="iconShortcutKey">@drawable/sym_keyboard_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>
+        <item name="iconTabKeyPreview">@drawable/sym_keyboard_feedback_tab</item>
+        <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_dark</item>
+        <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo_dark</item>
+        <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo_dark</item>
+        <item name="iconEmojiKey">@drawable/sym_keyboard_smiley_holo_dark</item>
+    </style>
+</resources>
diff --git a/java/res/values/keypress-vibration-durations.xml b/java/res/values/keypress-vibration-durations.xml
index ee0ac00..cde4e44 100644
--- a/java/res/values/keypress-vibration-durations.xml
+++ b/java/res/values/keypress-vibration-durations.xml
@@ -55,6 +55,8 @@
         <item>MODEL=HTL22:MANUFACTURER=HTC,15</item>
         <!-- Motorola Razor M -->
         <item>MODEL=XT907:MANUFACTURER=motorola,30</item>
+        <!-- Motorola DVX -->
+        <item>MODEL=XT1035:MANUFACTURER=motorola,18</item>
         <!-- Sony Xperia Z, Z Ultra -->
         <item>MODEL=C6603|C6806:MANUFACTURER=Sony,35</item>
         <!-- Default value for unknown device. The negative value means system default. -->
diff --git a/java/res/values/strings-action-keys.xml b/java/res/values/strings-action-keys.xml
new file mode 100644
index 0000000..7003784
--- /dev/null
+++ b/java/res/values/strings-action-keys.xml
@@ -0,0 +1,36 @@
+<?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">
+    <!-- Label for soft enter key when it performs GO action.  Must be short to fit on key. 5 chars or less is preferable. [CHAR LIMIT=7] -->
+    <string name="label_go_key">Go</string>
+    <!-- Label for soft enter key when it performs NEXT action.  Must be short to fit on key. 5 chars or less is preferable.  [CHAR LIMIT=7] -->
+    <string name="label_next_key">Next</string>
+    <!-- Label for soft enter key when it performs PREVIOUS action.  Must be short to fit on key. 5 chars or less is preferable.  [CHAR LIMIT=7] -->
+    <string name="label_previous_key">Prev</string>
+    <!-- Label for soft enter key when it performs DONE action.  Must be short to fit on key. 5 chars or less is preferable.  [CHAR LIMIT=7] -->
+    <string name="label_done_key">Done</string>
+    <!-- Label for soft enter key when it performs SEND action.  Must be short to fit on key. 5 chars or less is preferable.  [CHAR LIMIT=7] -->
+    <string name="label_send_key">Send</string>
+    <!-- Label for "Pause" key of phone number keyboard.  Must be short to fit on key. 5 chars or less is preferable.  [CHAR LIMIT=7] -->
+    <string name="label_pause_key">Pause</string>
+    <!-- Label for "Wait" key of phone number keyboard.  Must be short to fit on key. 5 chars or less is preferable.  [CHAR LIMIT=7]-->
+    <string name="label_wait_key">Wait</string>
+</resources>
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index a779c6e..b159bb5 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -151,21 +151,6 @@
     <!-- Indicates that a word has been added to the dictionary -->
     <string name="added_word"><xliff:g id="word">%s</xliff:g> : Saved</string>
 
-    <!-- Label for soft enter key when it performs GO action.  Must be short to fit on key! [CHAR LIMIT=5] -->
-    <string name="label_go_key">Go</string>
-    <!-- Label for soft enter key when it performs NEXT action.  Must be short to fit on key! [CHAR LIMIT=5] -->
-    <string name="label_next_key">Next</string>
-    <!-- Label for soft enter key when it performs PREVIOUS action.  Must be short to fit on key! [CHAR LIMIT=5] -->
-    <string name="label_previous_key">Prev</string>
-    <!-- Label for soft enter key when it performs DONE action.  Must be short to fit on key! [CHAR LIMIT=5] -->
-    <string name="label_done_key">Done</string>
-    <!-- Label for soft enter key when it performs SEND action.  Must be short to fit on key! [CHAR LIMIT=5] -->
-    <string name="label_send_key">Send</string>
-    <!-- Label for "Pause" key of phone number keyboard.  Must be short to fit on key! [CHAR LIMIT=5] -->
-    <string name="label_pause_key">Pause</string>
-    <!-- Label for "Wait" key of phone number keyboard.  Must be short to fit on key! [CHAR LIMIT=5]-->
-    <string name="label_wait_key">Wait</string>
-
     <!-- Spoken description to let the user know that when typing in a password, they can plug in a headset in to hear spoken descriptions of the keys they type. [CHAR LIMIT=NONE] -->
     <string name="spoken_use_headphones">Plug in a headset to hear password keys spoken aloud.</string>
 
diff --git a/java/res/values/themes-common.xml b/java/res/values/themes-common.xml
index 3760771..298936d 100644
--- a/java/res/values/themes-common.xml
+++ b/java/res/values/themes-common.xml
@@ -30,7 +30,7 @@
         <item name="maxMoreKeysColumn">@integer/config_max_more_keys_column</item>
     </style>
     <style name="KeyboardView">
-        <item name="keyBackground">@drawable/btn_keyboard_key_ics</item>
+        <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>
@@ -110,7 +110,7 @@
         name="EmojiPalettesView"
         parent="KeyboardView"
     >
-        <item name="emojiTabLabelColor">@color/emoji_tab_label_color_ics</item>
+        <item name="emojiTabLabelColor">@color/emoji_tab_label_color_holo</item>
     </style>
     <style name="MoreKeysKeyboard" />
     <style
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
index a77e685..432ad51 100644
--- a/java/res/values/themes-ics.xml
+++ b/java/res/values/themes-ics.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.
@@ -19,7 +19,7 @@
 -->
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
-    <style name="KeyboardTheme.ICS" parent="KeyboardIcons.ICS">
+    <style name="KeyboardTheme.ICS" parent="KeyboardIcons.Holo">
         <item name="keyboardStyle">@style/Keyboard.ICS</item>
         <item name="keyboardViewStyle">@style/KeyboardView.ICS</item>
         <item name="mainKeyboardViewStyle">@style/MainKeyboardView.ICS</item>
@@ -30,40 +30,17 @@
         <item name="suggestionStripViewStyle">@style/SuggestionStripView.ICS</item>
         <item name="suggestionWordStyle">@style/SuggestionWord.ICS</item>
     </style>
-    <style name="KeyboardIcons.ICS">
-        <!-- Keyboard icons -->
-        <!-- TODO: The following holo icon for phone (drawable-hdpi and drawable-xhdpi) are missing.
-             sym_keyboard_123_mic_holo
-             -->
-        <item name="iconShiftKey">@drawable/sym_keyboard_shift_holo_dark</item>
-        <item name="iconDeleteKey">@drawable/sym_keyboard_delete_holo_dark</item>
-        <item name="iconSettingsKey">@drawable/sym_keyboard_settings_holo_dark</item>
-        <item name="iconSpaceKey">@null</item>
-        <item name="iconEnterKey">@drawable/sym_keyboard_return_holo_dark</item>
-        <item name="iconSearchKey">@drawable/sym_keyboard_search_holo_dark</item>
-        <item name="iconTabKey">@drawable/sym_keyboard_tab_holo_dark</item>
-        <item name="iconShortcutKey">@drawable/sym_keyboard_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>
-        <item name="iconTabKeyPreview">@drawable/sym_keyboard_feedback_tab</item>
-        <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_dark</item>
-        <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo_dark</item>
-        <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo_dark</item>
-        <item name="iconEmojiKey">@drawable/sym_keyboard_smiley_holo_dark</item>
-    </style>
     <style
         name="Keyboard.ICS"
         parent="Keyboard"
     >
         <!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
-        <item name="themeId">0</item>
-        <item name="keyboardTopPadding">@fraction/keyboard_top_padding_ics</item>
-        <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_ics</item>
-        <item name="horizontalGap">@fraction/key_horizontal_gap_ics</item>
-        <item name="verticalGap">@fraction/key_bottom_gap_ics</item>
-        <item name="touchPositionCorrectionData">@array/touch_position_correction_data_ics</item>
+        <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="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
     </style>
     <style
         name="KeyboardView.ICS"
@@ -72,14 +49,14 @@
         <item name="android:background">@drawable/keyboard_background_holo</item>
         <item name="keyBackground">@drawable/btn_keyboard_key_ics</item>
         <item name="keyTypeface">bold</item>
-        <item name="keyTextColor">@color/key_text_color_ics</item>
-        <item name="keyTextInactivatedColor">@color/key_text_inactivated_color_ics</item>
-        <item name="keyHintLetterColor">@color/key_hint_letter_color_ics</item>
-        <item name="keyHintLabelColor">@color/key_hint_label_color_ics</item>
-        <item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_ics</item>
-        <item name="keyShiftedLetterHintActivatedColor">@color/key_shifted_letter_hint_activated_color_ics</item>
-        <item name="keyPreviewTextColor">@color/key_text_color_ics</item>
-        <item name="keyTextShadowColor">@color/key_text_shadow_color_ics</item>
+        <item name="keyTextColor">@color/key_text_color_holo</item>
+        <item name="keyTextInactivatedColor">@color/key_text_inactivated_color_holo</item>
+        <item name="keyHintLetterColor">@color/key_hint_letter_color_holo</item>
+        <item name="keyHintLabelColor">@color/key_hint_label_color_holo</item>
+        <item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_holo</item>
+        <item name="keyShiftedLetterHintActivatedColor">@color/key_shifted_letter_hint_activated_color_holo</item>
+        <item name="keyPreviewTextColor">@color/key_text_color_holo</item>
+        <item name="keyTextShadowColor">@color/key_text_shadow_color_holo</item>
         <item name="keyTextShadowRadius">0.0</item>
     </style>
     <style
@@ -87,15 +64,15 @@
         parent="KeyboardView.ICS"
     >
         <item name="keyPreviewLayout">@layout/key_preview_ics</item>
-        <item name="keyPreviewOffset">@dimen/key_preview_offset_ics</item>
-        <item name="gestureFloatingPreviewTextColor">@color/highlight_color_holo</item>
-        <item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_ics</item>
-        <item name="gestureTrailColor">@color/highlight_color_holo</item>
-        <item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_holo</item>
+        <item name="keyPreviewOffset">@dimen/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_ics</item>
-        <item name="spacebarTextShadowColor">@color/spacebar_text_shadow_color_ics</item>
+        <item name="spacebarTextColor">@color/spacebar_text_color_holo</item>
+        <item name="spacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item>
     </style>
     <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
          for instance delete button, need themed {@link KeyboardView} attributes. -->
@@ -104,7 +81,7 @@
         parent="KeyboardView.ICS"
     >
         <item name="keyBackgroundEmojiFunctional">@drawable/btn_keyboard_key_functional_ics</item>
-        <item name="emojiTabLabelColor">@color/emoji_tab_label_color_ics</item>
+        <item name="emojiTabLabelColor">@color/emoji_tab_label_color_holo</item>
     </style>
     <style
         name="MoreKeysKeyboard.ICS"
@@ -122,12 +99,12 @@
         <item name="android:background">@null</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_ics</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_holo</item>
+        <item name="android:background">@drawable/keyboard_popup_panel_background_ics</item>
     </style>
     <style
         name="SuggestionStripView.ICS"
@@ -135,10 +112,10 @@
     >
         <item name="android:background">@drawable/keyboard_suggest_strip_holo</item>
         <item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
-        <item name="colorValidTypedWord">@color/typed_word_color_holo</item>
-        <item name="colorTypedWord">@color/typed_word_color_holo</item>
-        <item name="colorAutoCorrect">@color/highlight_color_holo</item>
-        <item name="colorSuggested">@color/suggested_word_color_holo</item>
+        <item name="colorValidTypedWord">@color/typed_word_color_ics</item>
+        <item name="colorTypedWord">@color/typed_word_color_ics</item>
+        <item name="colorAutoCorrect">@color/highlight_color_ics</item>
+        <item name="colorSuggested">@color/suggested_word_color_ics</item>
         <item name="alphaObsoleted">70%</item>
     </style>
     <style name="SuggestionWord.ICS">
diff --git a/java/res/values/themes-klp.xml b/java/res/values/themes-klp.xml
new file mode 100644
index 0000000..a373001
--- /dev/null
+++ b/java/res/values/themes-klp.xml
@@ -0,0 +1,124 @@
+<?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">
+    <style name="KeyboardTheme.KLP" parent="KeyboardIcons.Holo">
+        <item name="keyboardStyle">@style/Keyboard.KLP</item>
+        <item name="keyboardViewStyle">@style/KeyboardView.KLP</item>
+        <item name="mainKeyboardViewStyle">@style/MainKeyboardView.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>
+    <style
+        name="Keyboard.KLP"
+        parent="Keyboard"
+    >
+        <!-- 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="touchPositionCorrectionData">@array/touch_position_correction_data_holo</item>
+    </style>
+    <style
+        name="KeyboardView.KLP"
+        parent="KeyboardView"
+    >
+        <item name="android:background">@drawable/keyboard_background_holo</item>
+        <item name="keyBackground">@drawable/btn_keyboard_key_klp</item>
+        <item name="keyTypeface">bold</item>
+        <item name="keyTextColor">@color/key_text_color_holo</item>
+        <item name="keyTextInactivatedColor">@color/key_text_inactivated_color_holo</item>
+        <item name="keyHintLetterColor">@color/key_hint_letter_color_holo</item>
+        <item name="keyHintLabelColor">@color/key_hint_label_color_holo</item>
+        <item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_holo</item>
+        <item name="keyShiftedLetterHintActivatedColor">@color/key_shifted_letter_hint_activated_color_holo</item>
+        <item name="keyPreviewTextColor">@color/key_text_color_holo</item>
+        <item name="keyTextShadowColor">@color/key_text_shadow_color_holo</item>
+        <item name="keyTextShadowRadius">0.0</item>
+    </style>
+    <style
+        name="MainKeyboardView.KLP"
+        parent="KeyboardView.KLP"
+    >
+        <item name="keyPreviewLayout">@layout/key_preview_klp</item>
+        <item name="keyPreviewOffset">@dimen/key_preview_offset_holo</item>
+        <item name="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>
+    </style>
+    <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
+         for instance delete button, need themed {@link KeyboardView} attributes. -->
+    <style
+        name="EmojiPalettesView.KLP"
+        parent="KeyboardView.KLP"
+    >
+        <item name="keyBackgroundEmojiFunctional">@drawable/btn_keyboard_key_functional_klp</item>
+        <item name="emojiTabLabelColor">@color/emoji_tab_label_color_holo</item>
+    </style>
+    <style
+        name="MoreKeysKeyboard.KLP"
+        parent="Keyboard.KLP"
+    >
+        <item name="keyboardTopPadding">0%p</item>
+        <item name="keyboardBottomPadding">0%p</item>
+        <item name="horizontalGap">0%p</item>
+        <item name="touchPositionCorrectionData">@null</item>
+    </style>
+    <style
+        name="MoreKeysKeyboardView.KLP"
+        parent="KeyboardView.KLP"
+    >
+        <item name="android:background">@null</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>
+    </style>
+    <style
+        name="SuggestionStripView.KLP"
+        parent="SuggestionStripView"
+    >
+        <item name="android:background">@drawable/keyboard_suggest_strip_holo</item>
+        <item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
+        <item name="colorValidTypedWord">@color/typed_word_color_klp</item>
+        <item name="colorTypedWord">@color/typed_word_color_klp</item>
+        <item name="colorAutoCorrect">@color/highlight_color_klp</item>
+        <item name="colorSuggested">@color/suggested_word_color_klp</item>
+        <item name="alphaObsoleted">70%</item>
+    </style>
+    <style name="SuggestionWord.KLP">
+        <item name="android:background">@drawable/btn_suggestion_klp</item>
+    </style>
+</resources>
diff --git a/java/res/values/touch-position-correction.xml b/java/res/values/touch-position-correction.xml
index 9df517b..becec0e 100644
--- a/java/res/values/touch-position-correction.xml
+++ b/java/res/values/touch-position-correction.xml
@@ -57,7 +57,7 @@
     </string-array>
 
     <string-array
-        name="touch_position_correction_data_ics"
+        name="touch_position_correction_data_holo"
         translatable="false"
     >
         <!-- First row -->
diff --git a/java/res/xml/key_f1.xml b/java/res/xml/key_f1.xml
index 455f9ef..72e38cb 100644
--- a/java/res/xml/key_f1.xml
+++ b/java/res/xml/key_f1.xml
@@ -47,7 +47,7 @@
             <Key
                 latin:keyLabel="!text/keylabel_for_comma"
                 latin:keyLabelFlags="hasPopupHint"
-                latin:additionalMoreKeys="!text/more_keys_for_comma"
+                latin:additionalMoreKeys="!text/more_keys_for_comma,!text/shortcut_as_more_key"
                 latin:keyStyle="f1MoreKeysStyle" />
         </default>
     </switch>
diff --git a/java/res/xml/key_nepali_traditional_period.xml b/java/res/xml/key_nepali_traditional_period.xml
index 0f575c5..1c389b0 100644
--- a/java/res/xml/key_nepali_traditional_period.xml
+++ b/java/res/xml/key_nepali_traditional_period.xml
@@ -39,10 +39,11 @@
                  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!4,.,!text/more_keys_for_punctuation"
+                latin:moreKeys="!fixedColumnOrder!9,&#x002E;,!text/more_keys_for_punctuation"
                 latin:backgroundType="functional" />
         </default>
     </switch>
diff --git a/java/res/xml/prefs_for_debug.xml b/java/res/xml/prefs_for_debug.xml
index 5d89b9c..8d9508e 100644
--- a/java/res/xml/prefs_for_debug.xml
+++ b/java/res/xml/prefs_for_debug.xml
@@ -28,6 +28,7 @@
     <ListPreference
             android:key="pref_keyboard_layout_20110916"
             android:title="@string/keyboard_layout"
+            android:summary="%s"
             android:persistent="true"
             android:entryValues="@array/keyboard_layout_modes_values"
             android:entries="@array/keyboard_layout_modes"
diff --git a/java/res/xml/row_dvorak4.xml b/java/res/xml/row_dvorak4.xml
index 02a95ac..b78872f 100644
--- a/java/res/xml/row_dvorak4.xml
+++ b/java/res/xml/row_dvorak4.xml
@@ -27,42 +27,11 @@
         <Key
             latin:keyStyle="toSymbolKeyStyle"
             latin:keyWidth="15%p" />
-        <switch>
-            <case
-                latin:hasShortcutKey="true"
-                latin:keyboardLayoutSetElement="alphabet"
-            >
-                <Key
-                    latin:keyLabel="q"
-                    latin:backgroundType="normal"
-                    latin:additionalMoreKeys="!text/shortcut_as_more_key"
-                    latin:keyStyle="f1MoreKeysStyle" />
-            </case>
-            <case
-                latin:hasShortcutKey="true"
-            >
-                <Key
-                    latin:keyLabel="Q"
-                    latin:backgroundType="normal"
-                    latin:additionalMoreKeys="!text/shortcut_as_more_key"
-                    latin:keyStyle="f1MoreKeysStyle" />
-            </case>
-            <!-- latin:hasShortcutKey="false" -->
-            <case
-                latin:keyboardLayoutSetElement="alphabet"
-            >
-                <Key
-                    latin:keyLabel="q"
-                    latin:backgroundType="normal"
-                    latin:keyStyle="f1MoreKeysStyle" />
-            </case>
-            <default>
-                <Key
-                    latin:keyLabel="Q"
-                    latin:backgroundType="normal"
-                    latin:keyStyle="f1MoreKeysStyle" />
-            </default>
-        </switch>
+        <Key
+            latin:keyLabel="q"
+            latin:backgroundType="normal"
+            latin:additionalMoreKeys="!text/shortcut_as_more_key"
+            latin:keyStyle="f1MoreKeysStyle" />
         <include
             latin:keyXPos="25%p"
             latin:keyboardLayout="@xml/key_space_5kw" />
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/src/com/android/inputmethod/keyboard/EmojiLayoutParams.java b/java/src/com/android/inputmethod/keyboard/EmojiLayoutParams.java
index ceb44e7..967448c 100644
--- a/java/src/com/android/inputmethod/keyboard/EmojiLayoutParams.java
+++ b/java/src/com/android/inputmethod/keyboard/EmojiLayoutParams.java
@@ -40,13 +40,13 @@
     public EmojiLayoutParams(Resources res) {
         final int defaultKeyboardHeight = ResourceUtils.getDefaultKeyboardHeight(res);
         final int defaultKeyboardWidth = ResourceUtils.getDefaultKeyboardWidth(res);
-        mKeyVerticalGap = (int) res.getFraction(R.fraction.key_bottom_gap_ics,
+        mKeyVerticalGap = (int) res.getFraction(R.fraction.key_bottom_gap_holo,
                 (int) defaultKeyboardHeight, (int) defaultKeyboardHeight);
-        mBottomPadding = (int) res.getFraction(R.fraction.keyboard_bottom_padding_ics,
+        mBottomPadding = (int) res.getFraction(R.fraction.keyboard_bottom_padding_holo,
                 (int) defaultKeyboardHeight, (int) defaultKeyboardHeight);
-        mTopPadding = (int) res.getFraction(R.fraction.keyboard_top_padding_ics,
+        mTopPadding = (int) res.getFraction(R.fraction.keyboard_top_padding_holo,
                 (int) defaultKeyboardHeight, (int) defaultKeyboardHeight);
-        mKeyHorizontalGap = (int) (res.getFraction(R.fraction.key_horizontal_gap_ics,
+        mKeyHorizontalGap = (int) (res.getFraction(R.fraction.key_horizontal_gap_holo,
                 defaultKeyboardWidth, defaultKeyboardWidth));
         mEmojiCategoryPageIdViewHeight =
                 (int) (res.getDimension(R.dimen.emoji_category_page_id_height));
diff --git a/java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java b/java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java
index f123735..c375223 100644
--- a/java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java
+++ b/java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java
@@ -44,8 +44,7 @@
 import android.widget.TextView;
 
 import com.android.inputmethod.keyboard.internal.DynamicGridKeyboard;
-import com.android.inputmethod.keyboard.internal.ScrollKeyboardView;
-import com.android.inputmethod.keyboard.internal.ScrollViewWithNotifier;
+import com.android.inputmethod.keyboard.internal.EmojiPageKeyboardView;
 import com.android.inputmethod.latin.Constants;
 import com.android.inputmethod.latin.R;
 import com.android.inputmethod.latin.SubtypeSwitcher;
@@ -72,7 +71,7 @@
  */
 public final class EmojiPalettesView extends LinearLayout implements OnTabChangeListener,
         ViewPager.OnPageChangeListener, View.OnClickListener,
-        ScrollKeyboardView.OnKeyClickListener {
+        EmojiPageKeyboardView.OnKeyClickListener {
     private static final String TAG = EmojiPalettesView.class.getSimpleName();
     private static final boolean DEBUG_PAGER = false;
     private final int mKeyBackgroundId;
@@ -628,16 +627,16 @@
     }
 
     private static class EmojiPalettesAdapter extends PagerAdapter {
-        private final ScrollKeyboardView.OnKeyClickListener mListener;
+        private final EmojiPageKeyboardView.OnKeyClickListener mListener;
         private final DynamicGridKeyboard mRecentsKeyboard;
-        private final SparseArray<ScrollKeyboardView> mActiveKeyboardViews =
+        private final SparseArray<EmojiPageKeyboardView> mActiveKeyboardViews =
                 CollectionUtils.newSparseArray();
         private final EmojiCategory mEmojiCategory;
         private int mActivePosition = 0;
 
         public EmojiPalettesAdapter(final EmojiCategory emojiCategory,
                 final KeyboardLayoutSet layoutSet,
-                final ScrollKeyboardView.OnKeyClickListener listener) {
+                final EmojiPageKeyboardView.OnKeyClickListener listener) {
             mEmojiCategory = emojiCategory;
             mListener = listener;
             mRecentsKeyboard = mEmojiCategory.getKeyboard(CATEGORY_ID_RECENTS, 0);
@@ -675,7 +674,7 @@
             if (mActivePosition == position) {
                 return;
             }
-            final ScrollKeyboardView oldKeyboardView = mActiveKeyboardViews.get(mActivePosition);
+            final EmojiPageKeyboardView oldKeyboardView = mActiveKeyboardViews.get(mActivePosition);
             if (oldKeyboardView != null) {
                 oldKeyboardView.releaseCurrentKey();
                 oldKeyboardView.deallocateMemory();
@@ -688,7 +687,7 @@
             if (DEBUG_PAGER) {
                 Log.d(TAG, "instantiate item: " + position);
             }
-            final ScrollKeyboardView oldKeyboardView = mActiveKeyboardViews.get(position);
+            final EmojiPageKeyboardView oldKeyboardView = mActiveKeyboardViews.get(position);
             if (oldKeyboardView != null) {
                 oldKeyboardView.deallocateMemory();
                 // This may be redundant but wanted to be safer..
@@ -697,18 +696,13 @@
             final Keyboard keyboard =
                     mEmojiCategory.getKeyboardFromPagePosition(position);
             final LayoutInflater inflater = LayoutInflater.from(container.getContext());
-            final View view = inflater.inflate(
+            final EmojiPageKeyboardView keyboardView = (EmojiPageKeyboardView)inflater.inflate(
                     R.layout.emoji_keyboard_page, container, false /* attachToRoot */);
-            final ScrollKeyboardView keyboardView = (ScrollKeyboardView)view.findViewById(
-                    R.id.emoji_keyboard_page);
             keyboardView.setKeyboard(keyboard);
             keyboardView.setOnKeyClickListener(mListener);
-            final ScrollViewWithNotifier scrollView = (ScrollViewWithNotifier)view.findViewById(
-                    R.id.emoji_keyboard_scroller);
-            keyboardView.setScrollView(scrollView);
-            container.addView(view);
+            container.addView(keyboardView);
             mActiveKeyboardViews.put(position, keyboardView);
-            return view;
+            return keyboardView;
         }
 
         @Override
@@ -722,7 +716,7 @@
             if (DEBUG_PAGER) {
                 Log.d(TAG, "destroy item: " + position + ", " + object.getClass().getSimpleName());
             }
-            final ScrollKeyboardView keyboardView = mActiveKeyboardViews.get(position);
+            final EmojiPageKeyboardView keyboardView = mActiveKeyboardViews.get(position);
             if (keyboardView != null) {
                 keyboardView.deallocateMemory();
                 mActiveKeyboardViews.remove(position);
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index f7ec950..d3f628d 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -84,10 +84,16 @@
     private static final int LABEL_FLAGS_HAS_HINT_LABEL = 0x800;
     private static final int LABEL_FLAGS_WITH_ICON_LEFT = 0x1000;
     private static final int LABEL_FLAGS_WITH_ICON_RIGHT = 0x2000;
+    // The bit to calculate the ratio of key label width against key width. If autoXScale bit is on
+    // and autoYScale bit is off, the key label may be shrunk only for X-direction.
+    // If both autoXScale and autoYScale bits are on, the key label text size may be auto scaled.
     private static final int LABEL_FLAGS_AUTO_X_SCALE = 0x4000;
-    private static final int LABEL_FLAGS_PRESERVE_CASE = 0x8000;
-    private static final int LABEL_FLAGS_SHIFTED_LETTER_ACTIVATED = 0x10000;
-    private static final int LABEL_FLAGS_FROM_CUSTOM_ACTION_LABEL = 0x20000;
+    private static final int LABEL_FLAGS_AUTO_Y_SCALE = 0x8000;
+    private static final int LABEL_FLAGS_AUTO_SCALE = LABEL_FLAGS_AUTO_X_SCALE
+            | LABEL_FLAGS_AUTO_Y_SCALE;
+    private static final int LABEL_FLAGS_PRESERVE_CASE = 0x10000;
+    private static final int LABEL_FLAGS_SHIFTED_LETTER_ACTIVATED = 0x20000;
+    private static final int LABEL_FLAGS_FROM_CUSTOM_ACTION_LABEL = 0x40000;
     private static final int LABEL_FLAGS_DISABLE_HINT_LABEL = 0x40000000;
     private static final int LABEL_FLAGS_DISABLE_ADDITIONAL_MORE_KEYS = 0x80000000;
 
@@ -702,10 +708,14 @@
         return (mLabelFlags & LABEL_FLAGS_WITH_ICON_RIGHT) != 0;
     }
 
-    public final boolean needsXScale() {
+    public final boolean needsAutoXScale() {
         return (mLabelFlags & LABEL_FLAGS_AUTO_X_SCALE) != 0;
     }
 
+    public final boolean needsAutoScale() {
+        return (mLabelFlags & LABEL_FLAGS_AUTO_SCALE) == LABEL_FLAGS_AUTO_SCALE;
+    }
+
     public final boolean isShiftedLetterActivated() {
         return (mLabelFlags & LABEL_FLAGS_SHIFTED_LETTER_ACTIVATED) != 0;
     }
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index b7521b9..f893636 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -57,9 +57,13 @@
         }
     }
 
+    private static final int INDEX_THEME_ICS = 0;
+    private static final int INDEX_THEME_GB = 1;
+    private static final int INDEX_THEME_KLP = 2;
     private static final KeyboardTheme[] KEYBOARD_THEMES = {
-        new KeyboardTheme(0, R.style.KeyboardTheme_ICS),
-        new KeyboardTheme(1, R.style.KeyboardTheme_GB),
+        new KeyboardTheme(INDEX_THEME_ICS, R.style.KeyboardTheme_ICS),
+        new KeyboardTheme(INDEX_THEME_GB, R.style.KeyboardTheme_GB),
+        new KeyboardTheme(INDEX_THEME_KLP, R.style.KeyboardTheme_KLP),
     };
 
     private SubtypeSwitcher mSubtypeSwitcher;
@@ -80,7 +84,7 @@
      * what user actually typed. */
     private boolean mIsAutoCorrectionActive;
 
-    private KeyboardTheme mKeyboardTheme = KEYBOARD_THEMES[0];
+    private KeyboardTheme mKeyboardTheme = KEYBOARD_THEMES[INDEX_THEME_KLP];
     private Context mThemeContext;
 
     private static final KeyboardSwitcher sInstance = new KeyboardSwitcher();
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 5578713..dcd9007 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -113,9 +113,6 @@
     private final Canvas mOffscreenCanvas = new Canvas();
     private final Paint mPaint = new Paint();
     private final Paint.FontMetrics mFontMetrics = new Paint.FontMetrics();
-    private static final char[] KEY_LABEL_REFERENCE_CHAR = { 'M' };
-    private static final char[] KEY_NUMERIC_HINT_LABEL_REFERENCE_CHAR = { '8' };
-
     public KeyboardView(final Context context, final AttributeSet attrs) {
         this(context, attrs, R.attr.keyboardViewStyle);
     }
@@ -370,10 +367,8 @@
         if (label != null) {
             paint.setTypeface(key.selectTypeface(params));
             paint.setTextSize(key.selectTextSize(params));
-            final float labelCharHeight = TypefaceUtils.getCharHeight(
-                    KEY_LABEL_REFERENCE_CHAR, paint);
-            final float labelCharWidth = TypefaceUtils.getCharWidth(
-                    KEY_LABEL_REFERENCE_CHAR, paint);
+            final float labelCharHeight = TypefaceUtils.getReferenceCharHeight(paint);
+            final float labelCharWidth = TypefaceUtils.getReferenceCharWidth(paint);
 
             // Vertical label text alignment.
             final float baseline = centerY + labelCharHeight / 2.0f;
@@ -391,12 +386,12 @@
                 positionX = centerX - labelCharWidth * 7.0f / 4.0f;
                 paint.setTextAlign(Align.LEFT);
             } else if (key.hasLabelWithIconLeft() && icon != null) {
-                labelWidth = TypefaceUtils.getLabelWidth(label, paint) + icon.getIntrinsicWidth()
+                labelWidth = TypefaceUtils.getStringWidth(label, paint) + icon.getIntrinsicWidth()
                         + LABEL_ICON_MARGIN * keyWidth;
                 positionX = centerX + labelWidth / 2.0f;
                 paint.setTextAlign(Align.RIGHT);
             } else if (key.hasLabelWithIconRight() && icon != null) {
-                labelWidth = TypefaceUtils.getLabelWidth(label, paint) + icon.getIntrinsicWidth()
+                labelWidth = TypefaceUtils.getStringWidth(label, paint) + icon.getIntrinsicWidth()
                         + LABEL_ICON_MARGIN * keyWidth;
                 positionX = centerX - labelWidth / 2.0f;
                 paint.setTextAlign(Align.LEFT);
@@ -404,9 +399,15 @@
                 positionX = centerX;
                 paint.setTextAlign(Align.CENTER);
             }
-            if (key.needsXScale()) {
-                paint.setTextScaleX(Math.min(1.0f,
-                        (keyWidth * MAX_LABEL_RATIO) / TypefaceUtils.getLabelWidth(label, paint)));
+            if (key.needsAutoXScale()) {
+                final float ratio = Math.min(1.0f, (keyWidth * MAX_LABEL_RATIO) /
+                        TypefaceUtils.getStringWidth(label, paint));
+                if (key.needsAutoScale()) {
+                    final float autoSize = paint.getTextSize() * ratio;
+                    paint.setTextSize(autoSize);
+                } else {
+                    paint.setTextScaleX(ratio);
+                }
             }
 
             paint.setColor(key.selectTextColor(params));
@@ -451,36 +452,35 @@
             // TODO: Should add a way to specify type face for hint letters
             paint.setTypeface(Typeface.DEFAULT_BOLD);
             blendAlpha(paint, params.mAnimAlpha);
+            final float labelCharHeight = TypefaceUtils.getReferenceCharHeight(paint);
+            final float labelCharWidth = TypefaceUtils.getReferenceCharWidth(paint);
+            final KeyVisualAttributes visualAttr = key.getVisualAttributes();
+            final float adjustmentY = (visualAttr == null) ? 0.0f
+                    : visualAttr.mHintLabelVerticalAdjustment * labelCharHeight;
             final float hintX, hintY;
             if (key.hasHintLabel()) {
                 // The hint label is placed just right of the key label. Used mainly on
                 // "phone number" layout.
                 // TODO: Generalize the following calculations.
-                hintX = positionX
-                        + TypefaceUtils.getCharWidth(KEY_LABEL_REFERENCE_CHAR, paint) * 2.0f;
-                hintY = centerY
-                        + TypefaceUtils.getCharHeight(KEY_LABEL_REFERENCE_CHAR, paint) / 2.0f;
+                hintX = positionX + labelCharWidth * 2.0f;
+                hintY = centerY + labelCharHeight / 2.0f;
                 paint.setTextAlign(Align.LEFT);
             } else if (key.hasShiftedLetterHint()) {
                 // The hint label is placed at top-right corner of the key. Used mainly on tablet.
-                hintX = keyWidth - mKeyShiftedLetterHintPadding
-                        - TypefaceUtils.getCharWidth(KEY_LABEL_REFERENCE_CHAR, paint) / 2.0f;
+                hintX = keyWidth - mKeyShiftedLetterHintPadding - labelCharWidth / 2.0f;
                 paint.getFontMetrics(mFontMetrics);
                 hintY = -mFontMetrics.top;
                 paint.setTextAlign(Align.CENTER);
             } else { // key.hasHintLetter()
                 // The hint letter is placed at top-right corner of the key. Used mainly on phone.
-                final float keyNumericHintLabelReferenceCharWidth =
-                        TypefaceUtils.getCharWidth(KEY_NUMERIC_HINT_LABEL_REFERENCE_CHAR, paint);
-                final float keyHintLabelStringWidth =
-                        TypefaceUtils.getStringWidth(hintLabel, paint);
+                final float hintDigitWidth = TypefaceUtils.getReferenceDigitWidth(paint);
+                final float hintLabelWidth = TypefaceUtils.getStringWidth(hintLabel, paint);
                 hintX = keyWidth - mKeyHintLetterPadding
-                        - Math.max(keyNumericHintLabelReferenceCharWidth, keyHintLabelStringWidth)
-                                / 2.0f;
+                        - Math.max(hintDigitWidth, hintLabelWidth) / 2.0f;
                 hintY = -paint.ascent();
                 paint.setTextAlign(Align.CENTER);
             }
-            canvas.drawText(hintLabel, 0, hintLabel.length(), hintX, hintY, paint);
+            canvas.drawText(hintLabel, 0, hintLabel.length(), hintX, hintY + adjustmentY, paint);
 
             if (LatinImeLogger.sVISUALDEBUG) {
                 final Paint line = new Paint();
@@ -530,7 +530,7 @@
         paint.setColor(params.mHintLabelColor);
         paint.setTextAlign(Align.CENTER);
         final float hintX = keyWidth - mKeyHintLetterPadding
-                - TypefaceUtils.getCharWidth(KEY_LABEL_REFERENCE_CHAR, paint) / 2.0f;
+                - TypefaceUtils.getReferenceCharWidth(paint) / 2.0f;
         final float hintY = keyHeight - mKeyPopupHintLetterPadding;
         canvas.drawText(POPUP_HINT_CHAR, hintX, hintY, paint);
 
diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
index 13db470..a638b23 100644
--- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
@@ -1193,7 +1193,7 @@
     private boolean fitsTextIntoWidth(final int width, final String text, final Paint paint) {
         final int maxTextWidth = width - mLanguageOnSpacebarHorizontalMargin * 2;
         paint.setTextScaleX(1.0f);
-        final float textWidth = TypefaceUtils.getLabelWidth(text, paint);
+        final float textWidth = TypefaceUtils.getStringWidth(text, paint);
         if (textWidth < width) {
             return true;
         }
@@ -1204,7 +1204,7 @@
         }
 
         paint.setTextScaleX(scaleX);
-        return TypefaceUtils.getLabelWidth(text, paint) < maxTextWidth;
+        return TypefaceUtils.getStringWidth(text, paint) < maxTextWidth;
     }
 
     // Layout language name on spacebar.
diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
index 8256d46..3851239 100644
--- a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
@@ -327,7 +327,7 @@
                 // If the label is single letter, minKeyWidth is enough to hold the label.
                 if (label != null && StringUtils.codePointCount(label) > 1) {
                     maxWidth = Math.max(maxWidth,
-                            (int)(TypefaceUtils.getLabelWidth(label, paint) + padding));
+                            (int)(TypefaceUtils.getStringWidth(label, paint) + padding));
                 }
             }
             return maxWidth;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/ScrollKeyboardView.java b/java/src/com/android/inputmethod/keyboard/internal/EmojiPageKeyboardView.java
similarity index 64%
rename from java/src/com/android/inputmethod/keyboard/internal/ScrollKeyboardView.java
rename to java/src/com/android/inputmethod/keyboard/internal/EmojiPageKeyboardView.java
index 9cf68d4..5a996ff 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/ScrollKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/EmojiPageKeyboardView.java
@@ -20,25 +20,21 @@
 import android.util.AttributeSet;
 import android.view.GestureDetector;
 import android.view.MotionEvent;
-import android.widget.ScrollView;
-import android.widget.Scroller;
 
 import com.android.inputmethod.keyboard.Key;
 import com.android.inputmethod.keyboard.KeyDetector;
 import com.android.inputmethod.keyboard.Keyboard;
 import com.android.inputmethod.keyboard.KeyboardView;
+import com.android.inputmethod.keyboard.PointerTracker;
 import com.android.inputmethod.latin.R;
 
 /**
- * This is an extended {@link KeyboardView} class that hosts a vertical scroll keyboard.
+ * This is an extended {@link KeyboardView} class that hosts an emoji page keyboard.
  * Multi-touch unsupported. No {@link PointerTracker}s. No gesture support.
- * TODO: Vertical scroll capability should be removed from this class because it's no longer used.
  */
 // TODO: Implement key popup preview.
-public final class ScrollKeyboardView extends KeyboardView implements
-        ScrollViewWithNotifier.ScrollListener, GestureDetector.OnGestureListener {
-    private static final boolean PAGINATION = false;
-
+public final class EmojiPageKeyboardView extends KeyboardView implements
+        GestureDetector.OnGestureListener {
     public interface OnKeyClickListener {
         public void onKeyClick(Key key);
     }
@@ -52,63 +48,15 @@
     private final KeyDetector mKeyDetector = new KeyDetector(0.0f /*keyHysteresisDistance */);
     private final GestureDetector mGestureDetector;
 
-    private final Scroller mScroller;
-    private ScrollViewWithNotifier mScrollView;
-
-    public ScrollKeyboardView(final Context context, final AttributeSet attrs) {
+    public EmojiPageKeyboardView(final Context context, final AttributeSet attrs) {
         this(context, attrs, R.attr.keyboardViewStyle);
     }
 
-    public ScrollKeyboardView(final Context context, final AttributeSet attrs, final int defStyle) {
+    public EmojiPageKeyboardView(final Context context, final AttributeSet attrs,
+            final int defStyle) {
         super(context, attrs, defStyle);
         mGestureDetector = new GestureDetector(context, this);
         mGestureDetector.setIsLongpressEnabled(false /* isLongpressEnabled */);
-        mScroller = new Scroller(context);
-    }
-
-    public void setScrollView(final ScrollViewWithNotifier scrollView) {
-        mScrollView = scrollView;
-        scrollView.setScrollListener(this);
-    }
-
-    private final Runnable mScrollTask = new Runnable() {
-        @Override
-        public void run() {
-            final Scroller scroller = mScroller;
-            final ScrollView scrollView = mScrollView;
-            scroller.computeScrollOffset();
-            scrollView.scrollTo(0, scroller.getCurrY());
-            if (!scroller.isFinished()) {
-                scrollView.post(this);
-            }
-        }
-    };
-
-    // {@link ScrollViewWithNotified#ScrollListener} methods.
-    @Override
-    public void notifyScrollChanged(final int scrollX, final int scrollY, final int oldX,
-            final int oldY) {
-        if (PAGINATION) {
-            mScroller.forceFinished(true /* finished */);
-            mScrollView.removeCallbacks(mScrollTask);
-            final int currentTop = mScrollView.getScrollY();
-            final int pageHeight = getKeyboard().mBaseHeight;
-            final int lastPageNo = currentTop / pageHeight;
-            final int lastPageTop = lastPageNo * pageHeight;
-            final int nextPageNo = lastPageNo + 1;
-            final int nextPageTop = Math.min(nextPageNo * pageHeight, getHeight() - pageHeight);
-            final int scrollTo = (currentTop - lastPageTop) < (nextPageTop - currentTop)
-                    ? lastPageTop : nextPageTop;
-            final int deltaY = scrollTo - currentTop;
-            mScroller.startScroll(0, currentTop, 0, deltaY, 300);
-            mScrollView.post(mScrollTask);
-        }
-    }
-
-    @Override
-    public void notifyOverScrolled(final int scrollX, final int scrollY, final boolean clampedX,
-            final boolean clampedY) {
-        releaseCurrentKey();
     }
 
     public void setOnKeyClickListener(final OnKeyClickListener listener) {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java b/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
index 8bdad36..c3e0aa6 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
@@ -47,6 +47,8 @@
     public final int mShiftedLetterHintActivatedColor;
     public final int mPreviewTextColor;
 
+    public final float mHintLabelVerticalAdjustment;
+
     private static final int[] VISUAL_ATTRIBUTE_IDS = {
         R.styleable.Keyboard_Key_keyTypeface,
         R.styleable.Keyboard_Key_keyLetterSize,
@@ -65,6 +67,7 @@
         R.styleable.Keyboard_Key_keyShiftedLetterHintInactivatedColor,
         R.styleable.Keyboard_Key_keyShiftedLetterHintActivatedColor,
         R.styleable.Keyboard_Key_keyPreviewTextColor,
+        R.styleable.Keyboard_Key_keyHintLabelVerticalAdjustment,
     };
     private static final SparseIntArray sVisualAttributeIds = new SparseIntArray();
     private static final int ATTR_DEFINED = 1;
@@ -127,5 +130,8 @@
         mShiftedLetterHintActivatedColor = keyAttr.getColor(
                 R.styleable.Keyboard_Key_keyShiftedLetterHintActivatedColor, 0);
         mPreviewTextColor = keyAttr.getColor(R.styleable.Keyboard_Key_keyPreviewTextColor, 0);
+
+        mHintLabelVerticalAdjustment = ResourceUtils.getFraction(keyAttr,
+                R.styleable.Keyboard_Key_keyHintLabelVerticalAdjustment, 0.0f);
     }
 }
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index 98515c8..b3975dc 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -87,11 +87,11 @@
         return (text == null) ? LANGUAGE_DEFAULT[id] : text;
     }
 
+    // These texts' name should be aligned with the @string/<name> in
+    // values*/strings-action-keys.xml.
     private static final String[] RESOURCE_NAMES = {
-        // These texts' name should be aligned with the @string/<name> in values/strings.xml.
         // Labels for action.
         "label_go_key",
-        // "label_search_key",
         "label_send_key",
         "label_next_key",
         "label_done_key",
@@ -284,7 +284,7 @@
         /* 56 */ "\u00A2,\u00A3,\u20AC,\u00A5,\u20B1",
         /* 57 */ "$",
         /* 58 */ "$,\u00A2,\u20AC,\u00A3,\u00A5,\u20B1",
-        /* 59 */ "!fixedColumnOrder!4,#,!,\\,,?,-,:,',@",
+        /* 59 */ "!fixedColumnOrder!8,;,/,(,),#,!,\\,,?,&,\\%,+,\",-,:,',@",
         // U+2020: "†" DAGGER
         // U+2021: "‡" DOUBLE DAGGER
         // U+2605: "★" BLACK STAR
@@ -795,7 +795,7 @@
         null, null, null, null, null, null, null, null, null, null, null, null, null, null,
         /* ~58 */
         // U+00B7: "·" MIDDLE DOT
-        /* 59 */ "!fixedColumnOrder!4,\u00B7,!,\\,,?,:,;,@",
+        /* 59 */ "!fixedColumnOrder!9,;,/,(,),#,\u00B7,!,\\,,?,&,\\%,+,\",-,:,',@",
         /* 60~ */
         null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
         null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
@@ -1981,7 +1981,7 @@
         // U+20AA: "₪" NEW SHEQEL SIGN
         /* 57 */ "\u20AA",
         /* 58 */ null,
-        /* 59 */ null,
+        /* 59 */ "!fixedColumnOrder!8,;,/,(|),)|(,#,!,\\,,?,&,\\%,+,\",-,:,',@",
         // U+2605: "★" BLACK STAR
         /* 60 */ "\u2605",
         /* 61 */ null,
diff --git a/java/src/com/android/inputmethod/keyboard/internal/ScrollViewWithNotifier.java b/java/src/com/android/inputmethod/keyboard/internal/ScrollViewWithNotifier.java
deleted file mode 100644
index d1ccdc7..0000000
--- a/java/src/com/android/inputmethod/keyboard/internal/ScrollViewWithNotifier.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.inputmethod.keyboard.internal;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.widget.ScrollView;
-
-/**
- * This is an extended {@link ScrollView} that can notify
- * {@link ScrollView#onScrollChanged(int,int,int,int} and
- * {@link ScrollView#onOverScrolled(int,int,int,int)} to a content view.
- */
-public class ScrollViewWithNotifier extends ScrollView {
-    private ScrollListener mScrollListener = EMPTY_LISTER;
-
-    public interface ScrollListener {
-        public void notifyScrollChanged(int scrollX, int scrollY, int oldX, int oldY);
-        public void notifyOverScrolled(int scrollX, int scrollY, boolean clampedX,
-                boolean clampedY);
-    }
-
-    private static final ScrollListener EMPTY_LISTER = new ScrollListener() {
-        @Override
-        public void notifyScrollChanged(int scrollX, int scrollY, int oldX, int oldY) {}
-        @Override
-        public void notifyOverScrolled(int scrollX, int scrollY, boolean clampedX,
-                boolean clampedY) {}
-    };
-
-    public ScrollViewWithNotifier(final Context context, final AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    protected void onScrollChanged(final int scrollX, final int scrollY, final int oldX,
-            final int oldY) {
-        super.onScrollChanged(scrollX, scrollY, oldX, oldY);
-        mScrollListener.notifyScrollChanged(scrollX, scrollY, oldX, oldY);
-    }
-
-    @Override
-    protected void onOverScrolled(final int scrollX, final int scrollY, final boolean clampedX,
-            final boolean clampedY) {
-        super.onOverScrolled(scrollX, scrollY, clampedX, clampedY);
-        mScrollListener.notifyOverScrolled(scrollX, scrollY, clampedX, clampedY);
-    }
-
-    public void setScrollListener(final ScrollListener listener) {
-        mScrollListener = listener;
-    }
-}
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 9936b3e..745fb43 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1441,7 +1441,6 @@
 
     private boolean maybeDoubleSpacePeriod() {
         final SettingsValues currentSettingsValues = mSettings.getCurrent();
-        if (!currentSettingsValues.mCorrectionEnabled) return false;
         if (!currentSettingsValues.mUseDoubleSpacePeriod) return false;
         if (!mHandler.isAcceptingDoubleSpacePeriod()) return false;
         // We only do this when we see two spaces and an accepted code point before the cursor.
diff --git a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java
index acd4745..0e1a33a 100644
--- a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java
+++ b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java
@@ -75,7 +75,7 @@
             while (index < size) {
                 final String word = suggestedWords.getWord(index);
                 // TODO: Should take care of text x-scaling.
-                mWidths[index] = (int)(TypefaceUtils.getLabelWidth(word, paint) + padding);
+                mWidths[index] = (int)(TypefaceUtils.getStringWidth(word, paint) + padding);
                 final int numColumn = index - rowStartIndex + 1;
                 final int columnWidth =
                         (maxWidth - mDividerWidth * (numColumn - 1)) / numColumn;
diff --git a/java/src/com/android/inputmethod/latin/utils/AdditionalSubtypeUtils.java b/java/src/com/android/inputmethod/latin/utils/AdditionalSubtypeUtils.java
index d87f6f3..fdfabbd 100644
--- a/java/src/com/android/inputmethod/latin/utils/AdditionalSubtypeUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/AdditionalSubtypeUtils.java
@@ -23,6 +23,7 @@
 
 import android.os.Build;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.inputmethod.InputMethodSubtype;
 
 import com.android.inputmethod.compat.InputMethodSubtypeCompatUtils;
@@ -32,6 +33,8 @@
 import java.util.ArrayList;
 
 public final class AdditionalSubtypeUtils {
+    private static final String TAG = AdditionalSubtypeUtils.class.getSimpleName();
+
     private static final InputMethodSubtype[] EMPTY_SUBTYPE_ARRAY = new InputMethodSubtype[0];
 
     private AdditionalSubtypeUtils() {
@@ -43,6 +46,11 @@
     }
 
     private static final String LOCALE_AND_LAYOUT_SEPARATOR = ":";
+    private static final int INDEX_OF_LOCALE = 0;
+    private static final int INDEX_OF_KEYBOARD_LAYOUT = 1;
+    private static final int INDEX_OF_EXTRA_VALUE = 2;
+    private static final int LENGTH_WITHOUT_EXTRA_VALUE = (INDEX_OF_KEYBOARD_LAYOUT + 1);
+    private static final int LENGTH_WITH_EXTRA_VALUE = (INDEX_OF_EXTRA_VALUE + 1);
     private static final String PREF_SUBTYPE_SEPARATOR = ";";
 
     public static InputMethodSubtype createAdditionalSubtype(final String localeString,
@@ -79,17 +87,6 @@
                 : basePrefSubtype + LOCALE_AND_LAYOUT_SEPARATOR + extraValue;
     }
 
-    public static InputMethodSubtype createAdditionalSubtype(final String prefSubtype) {
-        final String elems[] = prefSubtype.split(LOCALE_AND_LAYOUT_SEPARATOR);
-        if (elems.length < 2 || elems.length > 3) {
-            throw new RuntimeException("Unknown additional subtype specified: " + prefSubtype);
-        }
-        final String localeString = elems[0];
-        final String keyboardLayoutSetName = elems[1];
-        final String extraValue = (elems.length == 3) ? elems[2] : null;
-        return createAdditionalSubtype(localeString, keyboardLayoutSetName, extraValue);
-    }
-
     public static InputMethodSubtype[] createAdditionalSubtypesArray(final String prefSubtypes) {
         if (TextUtils.isEmpty(prefSubtypes)) {
             return EMPTY_SUBTYPE_ARRAY;
@@ -98,7 +95,19 @@
         final ArrayList<InputMethodSubtype> subtypesList =
                 CollectionUtils.newArrayList(prefSubtypeArray.length);
         for (final String prefSubtype : prefSubtypeArray) {
-            final InputMethodSubtype subtype = createAdditionalSubtype(prefSubtype);
+            final String elems[] = prefSubtype.split(LOCALE_AND_LAYOUT_SEPARATOR);
+            if (elems.length != LENGTH_WITHOUT_EXTRA_VALUE
+                    && elems.length != LENGTH_WITH_EXTRA_VALUE) {
+                Log.w(TAG, "Unknown additional subtype specified: " + prefSubtype + " in "
+                        + prefSubtypes);
+                continue;
+            }
+            final String localeString = elems[INDEX_OF_LOCALE];
+            final String keyboardLayoutSetName = elems[INDEX_OF_KEYBOARD_LAYOUT];
+            final String extraValue = (elems.length == LENGTH_WITH_EXTRA_VALUE)
+                    ? elems[INDEX_OF_EXTRA_VALUE] : null;
+            final InputMethodSubtype subtype = createAdditionalSubtype(
+                    localeString, keyboardLayoutSetName, extraValue);
             if (subtype.getNameResId() == SubtypeLocaleUtils.UNKNOWN_KEYBOARD_LAYOUT) {
                 // Skip unknown keyboard layout subtype. This may happen when predefined keyboard
                 // layout has been removed.
diff --git a/java/src/com/android/inputmethod/latin/utils/TypefaceUtils.java b/java/src/com/android/inputmethod/latin/utils/TypefaceUtils.java
index 47ea1ea..087a7f2 100644
--- a/java/src/com/android/inputmethod/latin/utils/TypefaceUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/TypefaceUtils.java
@@ -22,6 +22,9 @@
 import android.util.SparseArray;
 
 public final class TypefaceUtils {
+    private static final char[] KEY_LABEL_REFERENCE_CHAR = { 'M' };
+    private static final char[] KEY_NUMERIC_HINT_LABEL_REFERENCE_CHAR = { '8' };
+
     private TypefaceUtils() {
         // This utility class is not publicly instantiable.
     }
@@ -31,7 +34,7 @@
     // Working variable for the following method.
     private static final Rect sTextHeightBounds = new Rect();
 
-    public static float getCharHeight(final char[] referenceChar, final Paint paint) {
+    private static float getCharHeight(final char[] referenceChar, final Paint paint) {
         final int key = getCharGeometryCacheKey(referenceChar[0], paint);
         synchronized (sTextHeightCache) {
             final Float cachedValue = sTextHeightCache.get(key);
@@ -51,7 +54,7 @@
     // Working variable for the following method.
     private static final Rect sTextWidthBounds = new Rect();
 
-    public static float getCharWidth(final char[] referenceChar, final Paint paint) {
+    private static float getCharWidth(final char[] referenceChar, final Paint paint) {
         final int key = getCharGeometryCacheKey(referenceChar[0], paint);
         synchronized (sTextWidthCache) {
             final Float cachedValue = sTextWidthCache.get(key);
@@ -66,11 +69,6 @@
         }
     }
 
-    public static float getStringWidth(final String string, final Paint paint) {
-        paint.getTextBounds(string, 0, string.length(), sTextWidthBounds);
-        return sTextWidthBounds.width();
-    }
-
     private static int getCharGeometryCacheKey(final char referenceChar, final Paint paint) {
         final int labelSize = (int)paint.getTextSize();
         final Typeface face = paint.getTypeface();
@@ -86,9 +84,25 @@
         }
     }
 
-    public static float getLabelWidth(final String label, final Paint paint) {
-        final Rect textBounds = new Rect();
-        paint.getTextBounds(label, 0, label.length(), textBounds);
-        return textBounds.width();
+    public static float getReferenceCharHeight(final Paint paint) {
+        return getCharHeight(KEY_LABEL_REFERENCE_CHAR, paint);
+    }
+
+    public static float getReferenceCharWidth(final Paint paint) {
+        return getCharWidth(KEY_LABEL_REFERENCE_CHAR, paint);
+    }
+
+    public static float getReferenceDigitWidth(final Paint paint) {
+        return getCharWidth(KEY_NUMERIC_HINT_LABEL_REFERENCE_CHAR, paint);
+    }
+
+    // Working variable for the following method.
+    private static final Rect sStringWidthBounds = new Rect();
+
+    public static float getStringWidth(final String string, final Paint paint) {
+        synchronized (sStringWidthBounds) {
+            paint.getTextBounds(string, 0, string.length(), sStringWidthBounds);
+            return sStringWidthBounds.width();
+        }
     }
 }
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/mmapped_buffer.cpp b/native/jni/src/suggest/policyimpl/dictionary/utils/mmapped_buffer.cpp
index 28af973..e88d6e0 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/utils/mmapped_buffer.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/utils/mmapped_buffer.cpp
@@ -35,7 +35,7 @@
         AKLOGE("DICT: Can't open the source. path=%s errno=%d", path, errno);
         return MmappedBufferPtr(0);
     }
-    const int pagesize = getpagesize();
+    const int pagesize = sysconf(_SC_PAGESIZE);
     const int offset = bufferOffset % pagesize;
     int alignedOffset = bufferOffset - offset;
     int alignedSize = bufferSize + offset;
diff --git a/tools/make-keyboard-text/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl b/tools/make-keyboard-text/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl
index 4cd9c23..072daa4 100644
--- a/tools/make-keyboard-text/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl
+++ b/tools/make-keyboard-text/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl
@@ -87,11 +87,11 @@
         return (text == null) ? LANGUAGE_DEFAULT[id] : text;
     }
 
+    // These texts' name should be aligned with the @string/<name> in
+    // values*/strings-action-keys.xml.
     private static final String[] RESOURCE_NAMES = {
-        // These texts' name should be aligned with the @string/<name> in values/strings.xml.
         // Labels for action.
         "label_go_key",
-        // "label_search_key",
         "label_send_key",
         "label_next_key",
         "label_done_key",
diff --git a/tools/make-keyboard-text/res/values-ca/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-ca/donottranslate-more-keys.xml
index 4cf7424..6639373 100644
--- a/tools/make-keyboard-text/res/values-ca/donottranslate-more-keys.xml
+++ b/tools/make-keyboard-text/res/values-ca/donottranslate-more-keys.xml
@@ -71,7 +71,7 @@
          U+0142: "ł" LATIN SMALL LETTER L WITH STROKE -->
     <string name="more_keys_for_l">l&#x00B7;l,&#x0142;</string>
     <!-- U+00B7: "·" MIDDLE DOT -->
-    <string name="more_keys_for_punctuation">"!fixedColumnOrder!4,&#x00B7;,!,\\,,\?,:,;,\@"</string>
+    <string name="more_keys_for_punctuation">"!fixedColumnOrder!9,;,/,(,),#,&#x00B7;,!,\\,,\?,&amp;,\\%,+,\",-,:,',\@"</string>
     <string name="more_keys_for_period">\?,&#x00B7;</string>
     <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA -->
     <string name="keylabel_for_spanish_row2_10">&#x00E7;</string>
diff --git a/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml
index a163331..994e35a 100644
--- a/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml
+++ b/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml
@@ -28,6 +28,7 @@
     <!-- U+00B1: "±" PLUS-MINUS SIGN
          U+FB29: "﬩" HEBREW LETTER ALTERNATIVE PLUS SIGN -->
     <string name="more_keys_for_plus">&#x00B1;,&#xFB29;</string>
+    <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,;,/,(|),)|(,#,!,\\,,\?,&amp;,\\%,+,\",-,:,',\@"</string>
     <!-- The all letters need to be mirrored are found at
          http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
     <string name="more_keys_for_left_parenthesis">!fixedColumnOrder!3,&lt;|&gt;,{|},[|]</string>
diff --git a/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml
index 008ef30..5f687db 100644
--- a/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml
+++ b/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml
@@ -83,7 +83,7 @@
     <string name="more_keys_for_currency_dollar">&#x00A2;,&#x00A3;,&#x20AC;,&#x00A5;,&#x20B1;</string>
     <string name="keylabel_for_currency">$</string>
     <string name="more_keys_for_currency">$,&#x00A2;,&#x20AC;,&#x00A3;,&#x00A5;,&#x20B1;</string>
-    <string name="more_keys_for_punctuation">"!fixedColumnOrder!4,#,!,\\,,\?,-,:,',\@"</string>
+    <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,;,/,(,),#,!,\\,,\?,&amp;,\\%,+,\",-,:,',\@"</string>
     <!-- U+2020: "†" DAGGER
          U+2021: "‡" DOUBLE DAGGER
          U+2605: "★" BLACK STAR -->