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 36e1d3020..373e9314b 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 @@
+ android:color="@color/key_text_color_holo" />
+ android:color="@color/key_text_color_holo" />
+ android:color="@color/key_text_color_holo" />
+ android:color="@color/key_text_inactivated_color_holo" />
diff --git a/java/res/color/key_text_color_ics.xml b/java/res/color/key_text_color_holo.xml
similarity index 68%
rename from java/res/color/key_text_color_ics.xml
rename to java/res/color/key_text_color_holo.xml
index c6f111ad2..d034a945f 100644
--- a/java/res/color/key_text_color_ics.xml
+++ b/java/res/color/key_text_color_holo.xml
@@ -17,32 +17,32 @@
+ android:color="@color/key_text_color_functional_holo" />
+ android:color="@color/key_text_color_functional_holo" />
+ android:color="@color/key_text_color_normal_holo" />
+ android:color="@color/key_text_color_normal_holo" />
+ android:color="@color/key_text_color_normal_holo" />
+ android:color="@color/key_text_color_normal_holo" />
+ android:color="@color/key_text_color_normal_holo" />
+ android:color="@color/key_text_color_normal_holo" />
+ android:color="@color/key_text_color_normal_holo" />
-
+ android:color="@color/key_text_color_normal_holo" />
+
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 000000000..9aa8db60e
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_dark_active_ics.9.png 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
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 000000000..9f4587b4a
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_ics.9.png 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
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 000000000..7ec33dd20
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_ics.9.png 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
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 000000000..655bc01b1
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_ics.9.png 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
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 000000000..138e915d9
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_ics.9.png 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
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 000000000..5612c51a1
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_ics.9.png 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
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 000000000..c2e8b3779
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_ics.9.png 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
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 000000000..28b406a5c
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_background_ics.9.png 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
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 000000000..e42cd88dc
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_ics.9.png 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
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 000000000..160344073
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_ics.9.png 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
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 000000000..a40d4277c
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_ics.9.png 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
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 000000000..1f6807376
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_ics.9.png 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
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 000000000..ec53593d9
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_ics.9.png 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
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 dc2fc7dfc..000000000
Binary files a/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png and /dev/null 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 000000000..53d7b6fb3
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_popup_panel_background_ics.9.png 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 000000000..f9dd3b8b1
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_popup_panel_background_klp.9.png 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 000000000..e810c7789
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_dark_active_ics.9.png 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
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 000000000..f3fc64114
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_ics.9.png 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
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 000000000..8f340d355
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_ics.9.png 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
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 000000000..53ea5f894
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_ics.9.png 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
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 000000000..69c84e7ec
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_ics.9.png 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
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 000000000..c39dd4a94
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_ics.9.png 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
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 000000000..93a6e7921
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_ics.9.png 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
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 000000000..7a9f640d1
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_background_ics.9.png 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
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 000000000..5b06f09bb
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_ics.9.png 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
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 000000000..fd992d6f4
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_ics.9.png 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
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 000000000..128dcd6ad
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_ics.9.png 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
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 000000000..0b08d1747
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_ics.9.png 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
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 000000000..cf0b33c1d
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_ics.9.png 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
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 441edc30b..000000000
Binary files a/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png and /dev/null 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 000000000..61988a8e1
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_popup_panel_background_ics.9.png 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 000000000..896505518
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_popup_panel_background_klp.9.png 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 000000000..d990c0258
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_ics.9.png 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
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 000000000..ab8fb2e86
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_ics.9.png 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
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 000000000..3871689ef
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_ics.9.png 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
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 000000000..912506368
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png 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
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 000000000..35ce67fdc
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png 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
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 000000000..c23a4b225
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_ics.9.png 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
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 000000000..0c7bfdace
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_ics.9.png 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
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 000000000..d999127f2
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_background_ics.9.png 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
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 000000000..c4d694136
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_ics.9.png 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
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 000000000..5429c1785
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_ics.9.png 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
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 000000000..5135a0869
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_ics.9.png 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
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 000000000..19a77a29f
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_ics.9.png 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
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 000000000..ae2ffff8e
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_ics.9.png 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
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 dde1856e3..000000000
Binary files a/java/res/drawable-xhdpi/keyboard_popup_panel_background_holo.9.png and /dev/null 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 000000000..1dee699f4
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_popup_panel_background_ics.9.png 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 000000000..36df715b6
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_popup_panel_background_klp.9.png 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 000000000..680421eaf
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_ics.9.png 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
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 000000000..40f5011c0
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_ics.9.png 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
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 000000000..6ff6319d3
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_ics.9.png 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
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 000000000..818ea70fd
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png 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
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 000000000..a476d2a9e
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png 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
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 000000000..3c17c5eec
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_ics.9.png 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
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 000000000..6d2af5942
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_ics.9.png 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
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 000000000..bd1ef3cd9
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_ics.9.png 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
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 000000000..65af4b569
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_ics.9.png 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
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 000000000..ac6750dcb
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_ics.9.png 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
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 000000000..cea7c05f6
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_ics.9.png 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
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 000000000..520fa7c6b
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_ics.9.png 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
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 000000000..eee221758
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_ics.9.png 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
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 ca576deaf..000000000
Binary files a/java/res/drawable-xxhdpi/keyboard_popup_panel_background_holo.9.png and /dev/null 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 000000000..721c24400
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_ics.9.png 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 000000000..91d5d7f90
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_klp.9.png differ
diff --git a/java/res/drawable/btn_keyboard_key_functional_ics.xml b/java/res/drawable/btn_keyboard_key_functional_ics.xml
index 5dcde5fa9..847ca72f4 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 @@
+ android:drawable="@drawable/btn_keyboard_key_dark_pressed_ics" />
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 000000000..0e17ed234
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_key_functional_klp.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
diff --git a/java/res/drawable/btn_keyboard_key_ics.xml b/java/res/drawable/btn_keyboard_key_ics.xml
index 0c86e163e..259bb9ba5 100644
--- a/java/res/drawable/btn_keyboard_key_ics.xml
+++ b/java/res/drawable/btn_keyboard_key_ics.xml
@@ -1,5 +1,5 @@
-
+ android:drawable="@drawable/btn_keyboard_key_dark_pressed_ics" />
+ android:drawable="@drawable/btn_keyboard_key_dark_pressed_ics" />
+ android:drawable="@drawable/btn_keyboard_key_dark_active_ics" />
+ android:drawable="@drawable/btn_keyboard_key_dark_pressed_on_ics" />
+ android:drawable="@drawable/btn_keyboard_key_dark_pressed_off_ics" />
+ android:drawable="@drawable/btn_keyboard_key_dark_normal_on_ics" />
@@ -43,6 +43,6 @@
+ android:drawable="@drawable/btn_keyboard_key_light_pressed_ics" />
diff --git a/java/res/drawable/btn_keyboard_key_klp.xml b/java/res/drawable/btn_keyboard_key_klp.xml
new file mode 100644
index 000000000..16b5fa00b
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_key_klp.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/drawable/btn_keyboard_key_popup_ics.xml b/java/res/drawable/btn_keyboard_key_popup_ics.xml
index b99679ba1..31b613176 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 @@
-
+
+
+
+
+
diff --git a/java/res/drawable/btn_suggestion_ics.xml b/java/res/drawable/btn_suggestion_ics.xml
index e4257e327..8f528ee4b 100644
--- a/java/res/drawable/btn_suggestion_ics.xml
+++ b/java/res/drawable/btn_suggestion_ics.xml
@@ -2,7 +2,7 @@
+
+
+
+
diff --git a/java/res/drawable/keyboard_key_feedback_ics.xml b/java/res/drawable/keyboard_key_feedback_ics.xml
index 3c8850e6c..b52a61fbf 100644
--- a/java/res/drawable/keyboard_key_feedback_ics.xml
+++ b/java/res/drawable/keyboard_key_feedback_ics.xml
@@ -1,5 +1,5 @@
-
+ android:drawable="@drawable/keyboard_key_feedback_left_more_background_ics" />
+ android:drawable="@drawable/keyboard_key_feedback_left_background_ics" />
+ android:drawable="@drawable/keyboard_key_feedback_right_more_background_ics" />
+ android:drawable="@drawable/keyboard_key_feedback_right_background_ics" />
-
+ android:drawable="@drawable/keyboard_key_feedback_more_background_ics" />
+
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 000000000..a38655641
--- /dev/null
+++ b/java/res/drawable/keyboard_key_feedback_klp.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/layout/key_preview_ics.xml b/java/res/layout/key_preview_ics.xml
index 222e8846c..33b6947ef 100644
--- a/java/res/layout/key_preview_ics.xml
+++ b/java/res/layout/key_preview_ics.xml
@@ -2,7 +2,7 @@
+
+
diff --git a/java/res/raw/setup_welcome_image.png b/java/res/raw/setup_welcome_image.png
index 2445915b8..98e731331 100644
Binary files a/java/res/raw/setup_welcome_image.png and b/java/res/raw/setup_welcome_image.png differ
diff --git a/java/res/raw/setup_welcome_video.mp4 b/java/res/raw/setup_welcome_video.mp4
index 820852531..224bf250c 100644
Binary files a/java/res/raw/setup_welcome_video.mp4 and b/java/res/raw/setup_welcome_video.mp4 differ
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 000000000..c5cd71ab7
--- /dev/null
+++ b/java/res/values-af/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Gaan"
+ "Volg."
+ "Vorige"
+ "Klaar"
+ "Stuur"
+ "Laat wag"
+ "Wag"
+
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
index a3c95b290..045e97d94 100644
--- a/java/res/values-af/strings.xml
+++ b/java/res/values-af/strings.xml
@@ -74,20 +74,11 @@
"Dinamiese sweefvoorskou"
"Sien die voorgestelde woord tydens gebare"
"%s : Gestoor"
- "Gaan"
- "Volgende"
- "Vorige"
- "Klaar"
- "Stuur"
- "Laat wag"
- "Wag"
"Koppel \'n kopstuk om te hoor hoe wagwoordsleutels hardop gesê word."
"Huidige teks is %s"
"Geen teks ingevoer nie"
-
-
-
-
+ "%1$s korrigeer %2$s na %3$s"
+ "%1$s voer outokorreksie uit"
"Sleutelkode %d"
"Shift"
"Shift aan (tik om te deaktiveer)"
@@ -156,6 +147,9 @@
"Alfabet (Colemak)"
"Alfabet (PC)"
"Emosiekone"
+ "Kleurskema"
+ "Wit"
+ "Blou"
"Gepasmaakte invoerstyle"
"Voeg styl by"
"Voeg by"
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 000000000..1813a86d8
--- /dev/null
+++ b/java/res/values-am/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "ሂድ"
+ "ቀጣይ"
+ "ቀዳሚ"
+ "ተደርጓል"
+ "ላክ"
+ "ቆም በል"
+ "ጠብቅ"
+
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml
index 89e37b274..0b81034f4 100644
--- a/java/res/values-am/strings.xml
+++ b/java/res/values-am/strings.xml
@@ -74,20 +74,11 @@
"ተለዋዋጭ ተንሳፋፊ ቅድመ-እይታ"
"ምልክት እየሰጡ ሳሉ በአስተያየት የተጠቆመው ቃል ይመልከቱ"
"%s : ተቀምጧል"
- "ሂድ"
- "በመቀጠል"
- "ቀዳሚ"
- "ተከናውኗል"
- " ይላኩ"
- "ላፍታ አቁም"
- "ቆይ"
"የይለፍቃል ቁልፎች ጮክ በለው ሲነገሩ ለመስማት የጆሮ ማዳመጫ ሰካ::"
"የአሁኑ ፅሁፍ %s ነው"
"ምንም ፅሁፍ አልገባም"
-
-
-
-
+ "%1$s %2$sን ወደ %3$s ያርመዋል"
+ "%1$s ራስ-ሰር እርማትን ያከናውናል"
"የቁልፍ ኮድ%d"
"ቀይር"
"ቅያር በርቷል (ለማሰናክል ንካ)"
@@ -156,6 +147,9 @@
"ፊደላት (Colemak)"
"ፊደላት (ፒሲ)"
"ኢሞጂ"
+ "የቀለም ዘዴ"
+ "ነጭ"
+ "ሰማያዊ"
"የተበጁ የግቤት ስታይሎች"
"ስታይል አክል"
"አክል"
@@ -163,7 +157,7 @@
"አስቀምጥ"
"ቋንቋ"
"አቀማመጥ"
- "የተበጀው የግብዓት ቅጥህን ከመጠቀምህ በፊት መንቃት አለበት። አሁን ማንቃት ትፈልጋለህ?"
+ "የተበጀው የእርስዎን ግብዓት ቅጥ ከመጠቀምዎ በፊት መንቃት አለበት። አሁን ማንቃት ይፈልጋሉ?"
"አንቃ"
"አሁን አልፈልግም"
"ተመሳሳዩ የግብዓት ቅጥ አስቀድሞ አለ፦ %s"
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 000000000..481b22f20
--- /dev/null
+++ b/java/res/values-ar/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "ذهاب"
+ "تالٍ"
+ "سابق"
+ "تم"
+ "إرسال"
+ "توقف"
+ "انتظر"
+
diff --git a/java/res/values-ar/strings-appname.xml b/java/res/values-ar/strings-appname.xml
index d5176d022..35387cb86 100644
--- a/java/res/values-ar/strings-appname.xml
+++ b/java/res/values-ar/strings-appname.xml
@@ -20,8 +20,8 @@
- "لوحة مفاتيح Android (AOSP)"
- "المدقق الإملائي في Android (AOSP)"
- "إعدادات لوحة مفاتيح Android (AOSP)"
- "إعدادات المدقق الإملائي في Android (AOSP)"
+ "لوحة مفاتيح Android (AOSP)"
+ "المدقق الإملائي في Android (AOSP)"
+ "إعدادات لوحة مفاتيح Android (AOSP)"
+ "إعدادات المدقق الإملائي في Android (AOSP)"
diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml
index 9c3ff51c8..da331196c 100644
--- a/java/res/values-ar/strings.xml
+++ b/java/res/values-ar/strings.xml
@@ -38,7 +38,7 @@
"مفتاح تبديل اللغة"
"يظهر عندما يتم تمكين لغات الإدخال متعددة"
"إظهار مؤشر التمرير"
- "عرض تلميح مرئي أثناء التمرير من مفتاح Shift أو Symbol"
+ "عرض تلميح مرئي أثناء التمرير من مفتاح Shift أو Symbol"
"تأخير إزالة النافذة المنبثقة الأساسية"
"بلا تأخير"
"افتراضي"
@@ -74,24 +74,15 @@
"معاينة نصوص متحركة ديناميكية"
"مشاهدة الكلمة المقترحة أثناء الإيماءة"
"%s : تم الحفظ"
- "تنفيذ"
- "التالي"
- "السابق"
- "تم"
- "إرسال"
- "توقف مؤقت"
- "انتظار"
"يمكنك توصيل سماعة رأس لسماع مفاتيح كلمة المرور منطوقة بصوت عالٍ."
- "النص الحالي هو %s"
+ "النص الحالي هو %s"
"لم يتم إدخال نص"
-
-
-
-
- "رمز المفتاح %d"
+ "%1$s لتصحيح %2$s إلى %3$s"
+ "%1$s للتصحيح التلقائي"
+ "رمز المفتاح %d"
"العالي"
- "Shift يعمل (انقر للتعطيل)"
- "Caps lock يعمل (انقر للتعطيل)"
+ "Shift يعمل (انقر للتعطيل)"
+ "Caps lock يعمل (انقر للتعطيل)"
"حذف"
"الرموز"
"أحرف"
@@ -107,9 +98,9 @@
"تبديل اللغة"
"التالي"
"السابق"
- "تم تمكين Shift"
- "تم تمكين Caps lock"
- "تم تعطيل Shift"
+ "تم تمكين Shift"
+ "تم تمكين Caps lock"
+ "تم تعطيل Shift"
"وضع الرموز"
"وضع الأحرف"
"وضع الهاتف"
@@ -124,7 +115,7 @@
"الهاتف"
"النص"
"الوقت"
- "عنوان URL"
+ "عنوان URL"
"مفتاح الإدخال الصوتي"
"لوحة مفاتيح رئيسية"
"لوحة مفاتيح الرموز"
@@ -149,13 +140,16 @@
"الإسبانية (الأمريكية) (%s)"
"%s (التقليدية)"
"بدون لغة (أبجدية)"
- "الأبجدية (QWERTY)"
- "الأبجدية (QWERTZ)"
- "الأبجدية (AZERTY)"
- "الأبجدية (Dvorak)"
- "الأبجدية (Colemak)"
- "الأبجدية (PC)"
+ "الأبجدية (QWERTY)"
+ "الأبجدية (QWERTZ)"
+ "الأبجدية (AZERTY)"
+ "الأبجدية (Dvorak)"
+ "الأبجدية (Colemak)"
+ "الأبجدية (PC)"
"الرموز التعبيرية"
+ "النمط اللوني"
+ "أبيض"
+ "أزرق"
"أنماط الإدخال المخصصة"
"إضافة نمط"
"إضافة"
@@ -219,9 +213,9 @@
"تثبيت"
"إلغاء"
"حذف"
- "اللغة المحددة على جهازك الجوال تشتمل على قاموس متوفر.<br/> نوصي <b>بتنزيل</b> قاموس %1$s لتحسين تجربة الكتابة.<br/> <br/> قد يستغرق التنزيل دقيقة أو دقيقتين أكثر من المدة التي يستغرقها التنزيل عبر شبكة الجيل الثالث. قد تنطبق الرسوم إذا لم تكن مشتركًا في <b>خطة البيانات غير المحدودة</b>.<br/> إذا لم تكن متأكدًا من خطة البيانات المتوفرة لديك، فنحن نوصي بالبحث عن اتصال Wi-Fi لبدء عملية التنزيل تلقائيًا.<br/> <br/> نصيحة: يمكنك تنزيل القواميس وإزالتها عن طريق الانتقال إلى <b>اللغة والإدخال</b> في قائمة <b>إعدادات</b> في جهازك الجوَّال."
+ "اللغة المحددة على جهازك الجوال تشتمل على قاموس متوفر.<br/> نوصي <b>بتنزيل</b> قاموس %1$s لتحسين تجربة الكتابة.<br/> <br/> قد يستغرق التنزيل دقيقة أو دقيقتين أكثر من المدة التي يستغرقها التنزيل عبر شبكة الجيل الثالث. قد تنطبق الرسوم إذا لم تكن مشتركًا في <b>خطة البيانات غير المحدودة</b>.<br/> إذا لم تكن متأكدًا من خطة البيانات المتوفرة لديك، فنحن نوصي بالبحث عن اتصال Wi-Fi لبدء عملية التنزيل تلقائيًا.<br/> <br/> نصيحة: يمكنك تنزيل القواميس وإزالتها عن طريق الانتقال إلى <b>اللغة والإدخال</b> في قائمة <b>إعدادات</b> في جهازك الجوَّال."
"التنزيل الآن (%1$.1f ميغابايت)"
- "التنزيل عبر شبكة Wi-Fi"
+ "التنزيل عبر شبكة Wi-Fi"
"هناك قاموس متوفر للغة %1$s"
"اضغط للمراجعة والتنزيل"
"جارٍ التنزيل: ستتوفر اقتراحات للغة %1$s بعد قليل."
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 000000000..91416c8b7
--- /dev/null
+++ b/java/res/values-be/strings-action-keys.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ "Пачаць"
+ "Далей"
+ "Назад"
+ "Гатова"
+ "Адправіць"
+ "Паўза"
+ "Чакае"
+
diff --git a/java/res/values-be/strings.xml b/java/res/values-be/strings.xml
index 9e591dea9..02972f07e 100644
--- a/java/res/values-be/strings.xml
+++ b/java/res/values-be/strings.xml
@@ -77,19 +77,12 @@
"Дынамічны плаваючы прагляд"
"Праглядаць прапанаванае слова падчас жэсту"
"%s : Захаваныя"
- "Пачаць"
- "Далей"
- "Назад"
- "Гатова"
- "Адправіць"
- "Паўза"
- "Чакае"
"Каб праслухаць паролi, падключыце гарнiтуру."
"Бягучы тэкст %s"
"Тэкст не ўведзены"
-
+
-
+
"Клавішны код %d"
"Зрух"
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 000000000..13374a29c
--- /dev/null
+++ b/java/res/values-bg/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Старт"
+ "Напред"
+ "Назад"
+ "Готово"
+ "Изпр."
+ "Пауза"
+ "Изчакв."
+
diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml
index c21b53490..c3fbd7982 100644
--- a/java/res/values-bg/strings.xml
+++ b/java/res/values-bg/strings.xml
@@ -74,20 +74,11 @@
"Динамична плаваща визуализация"
"Преглед на предложената дума при използване на жестове"
"%s : Запазено"
- "Старт"
- "Напред"
- "Пред."
- "Готово"
- "Изпращане"
- "Пауза"
- "Чака"
"Включете слушалки, за да чуете клавишите за паролата на висок глас."
"Текущият текст е %s"
"Няма въведен текст"
-
-
-
-
+ "„%1$s“ коригира „%2$s“ на „%3$s“"
+ "„%1$s“ изпълнява автоматично коригиране"
"Код на клавишa %d"
"Shift"
"„Shift“ е включен (докоснете за деактивиране)"
@@ -156,6 +147,9 @@
"Латиница (Коулмак)"
"Латиница (PC)"
"Емотикони"
+ "Цветова схема"
+ "Бяло"
+ "Синьо"
"Персон. стилове за въвежд."
"+ стил"
"Добавяне"
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 000000000..9dcf219cc
--- /dev/null
+++ b/java/res/values-ca/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Vés"
+ "Seg."
+ "Ant."
+ "Fet"
+ "Envia"
+ "Atura"
+ "Esp."
+
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index d791452d4..0b9ee037e 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -74,20 +74,11 @@
"Visualitz. prèvia dinàmica flotant"
"Consulta la paraula suggerida mentre fas el gest"
"%s: desada"
- "Vés"
- "Següent"
- "Ant."
- "Fet"
- "Envia"
- "Pausa"
- "Espera"
"Connecta un auricular per escoltar les claus de la contrasenya en veu alta."
"El text actual és %s"
"No s\'ha introduït cap text"
-
-
-
-
+ "%1$s corregeix %2$s per %3$s"
+ "%1$s aplica correccions automàtiques"
"Clau de codi %d"
"Maj"
"Maj activat (pica per desactivar)"
@@ -156,6 +147,9 @@
"Alfabet (Colemak)"
"Alfabet (PC)"
"Emoji"
+ "Combinació de colors"
+ "Blanc"
+ "Blau"
"Estils d\'entrada personalitzats"
"Afeg. estil"
"Afegeix"
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 000000000..e9545feca
--- /dev/null
+++ b/java/res/values-cs/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Jít"
+ "Další"
+ "Před."
+ "Hot."
+ "Odes."
+ "Pauza"
+ "Čekat"
+
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
index 2cd159d0f..c73e8ab1c 100644
--- a/java/res/values-cs/strings.xml
+++ b/java/res/values-cs/strings.xml
@@ -74,20 +74,11 @@
"Dynamický plovoucí náhled"
"Zobrazení navrhovaného slova při psaní gesty"
"%s: Uloženo"
- "Přejít"
- "Další"
- "Před."
- "Hotovo"
- "Odeslat"
- "Pauza"
- "Čekat"
"Chcete-li slyšet, které klávesy jste při zadávání hesla stiskli, připojte sluchátka."
"Aktuální text je %s"
"Není zadán žádný text"
-
-
-
-
+ "Klávesou %1$s opravíte %2$s na %3$s"
+ "Klávesa %1$s provádí automatickou opravu"
"Kód klávesy %d"
"Shift"
"Klávesa Shift je zapnutá (vypnete ji klepnutím)."
@@ -156,6 +147,9 @@
"Latinka (Colemak)"
"Latinka (PC)"
"Emodži"
+ "Barevné schéma"
+ "Bílá"
+ "Modrá"
"Vlastní styl zadávání"
"Přidat styl"
"Přidat"
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 000000000..757dc00d4
--- /dev/null
+++ b/java/res/values-da/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Start"
+ "Næste"
+ "Forr."
+ "Udfør"
+ "Send"
+ "Pause"
+ "Vent"
+
diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml
index 6c9d9d786..86bdad469 100644
--- a/java/res/values-da/strings.xml
+++ b/java/res/values-da/strings.xml
@@ -29,10 +29,10 @@
"Pop op ved tastetryk"
"Generelt"
"Tekstkorrigering"
- "Skrivning med berøring"
+ "Glidende indtastning"
"Andre valgmuligheder"
"Avancerede indstillinger"
- "Muligheder for eksperter"
+ "Indstillinger for øvede"
"Skift inputmetode"
"Tasten til sprogskift gælder også for andre inputmetoder"
"Tast til sprogskift"
@@ -68,26 +68,17 @@
"Meget aggressiv"
"Forslag til næste ord"
"Brug det forrige ord til at give forslag"
- "Aktivér skrivning med berøring"
+ "Aktivér glidende indtastning"
"Skriv et ord ved at glide mellem bogstaverne"
- "Vis spor af berøring"
- "Dynamisk flydende eks.visning"
- "Se det foreslåede ord, mens berøringer udføres"
+ "Vis glidende trykspor"
+ "Dynamiske ordeksempler"
+ "Se ordforslag ved glidende indtastning"
"%s: Gemt"
- "Gå"
- "Næste"
- "Forr."
- "Udfør"
- "Send"
- "Pause"
- "Vent"
"Tilslut et headset for at høre indtastningen blive læst højt ved angivelse af adgangskode."
"Nuværende tekst er %s"
"Der er ingen indtastet tekst"
-
-
-
-
+ "%1$s retter %2$s til %3$s"
+ "%1$s udfører automatisk rettelse"
"Tastekode %d"
"Shift-tast"
"Skift er slået til (tryk for at deaktivere)"
@@ -156,6 +147,9 @@
"Alfabet (Colemak)"
"Alfabet (PC)"
"Emoji"
+ "Farver"
+ "Hvid"
+ "Blå"
"Tilpasset inputtypografi"
"Tilføj typografi"
"Tilføj"
@@ -168,7 +162,7 @@
"Ikke nu"
"Denne inputstil findes allerede: %s"
"Tilstand for brugsstudie"
- "For sene lange tastetryk"
+ "Forsinket langt tastetryk"
"Vibrationstid ved tastetryk"
"Lydstyrke ved tastetryk"
"Læs ekstern ordbogsfil"
@@ -178,7 +172,7 @@
"Der opstod en fejl"
"Standard"
"Velkommen til %s"
- "med Berøringsinput"
+ "med glidende indtastning"
"Kom godt i gang"
"Næste trin"
"%s konfigureres"
@@ -194,7 +188,7 @@
"Konfigurer flere sprog"
"Afslut"
"Vis appikon"
- "Vis appikon på applikationsliste"
+ "Vis appikon på applisten"
"Dictionary Provider"
"Dictionary Provider"
"Ordbogstjeneste"
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 000000000..95d3d7119
--- /dev/null
+++ b/java/res/values-de/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Los"
+ "Weiter"
+ "Zurück"
+ "Fertig"
+ "Senden"
+ "Pause"
+ "Warten"
+
diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml
index 1a4e38542..b65053465 100644
--- a/java/res/values-de/strings.xml
+++ b/java/res/values-de/strings.xml
@@ -74,20 +74,11 @@
"Dyn. unverankerter Vorschlag"
"Vorgeschlagenes Wort bei Bewegung anzeigen"
"%s: gespeichert"
- "Los"
- "Weiter"
- "Zurück"
- "Fertig"
- "Senden"
- "Pause"
- "Warten"
"Schließen Sie ein Headset an, um das Passwort gesprochen zu hören."
"Aktueller Text lautet %s"
"Kein Text eingegeben"
-
-
-
-
+ "Mit %1$s wird %2$s zu %3$s korrigiert."
+ "Mit %1$s erfolgt eine Autokorrektur."
"Tastencode %d"
"Umschalttaste"
"Umschalttaste aktiviert (zum Deaktivieren berühren)"
@@ -156,6 +147,9 @@
"Lat. Alphabet (Colemak)"
"Lat. Alphabet (PC)"
"Emoji"
+ "Farbschema"
+ "Weiß"
+ "Blau"
"Benutzerdefinierte Eingabestile"
"Stil hinzufügen"
"Hinzufügen"
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 000000000..a4093e3dc
--- /dev/null
+++ b/java/res/values-el/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Εμπρός"
+ "Επόμενο"
+ "Προηγούμενο"
+ "Τέλος"
+ "Αποστολή"
+ "Παύση"
+ "Αναμονή"
+
diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml
index c2ee2d39b..79e83423c 100644
--- a/java/res/values-el/strings.xml
+++ b/java/res/values-el/strings.xml
@@ -74,20 +74,11 @@
"Προεπισκόπ. δυναμικής κίνησης"
"Εμφάνιση της προτεινόμενης λέξης κατά την κίνηση"
"%s : Αποθηκεύτηκε"
- "Μετ."
- "Επόμενο"
- "Προηγ"
- "Τέλος"
- "Αποστολή"
- "Παύση"
- "Αναμ."
"Συνδέστε ένα σετ ακουστικών για να ακούσετε τα πλήκτρα του κωδικού πρόσβασης να εκφωνούνται δυνατά."
"Το τρέχον κείμενο είναι %s"
"Δεν υπάρχει κείμενο"
-
-
-
-
+ "%1$s διορθώνει το %2$s σε %3$s"
+ "%1$s εκτελεί αυτόματη διόρθωση"
"Κωδικός πλήκτρου %d"
"Shift"
"Το Shift είναι ενεργοποιημένο (πατήστε για απενεργοποίηση)"
@@ -156,6 +147,9 @@
"Αλφάβητο (Colemak)"
"Αλφάβητο (PC)"
"Emoticon"
+ "Συνδυασμός χρωμάτων"
+ "Λευκές"
+ "Μπλε"
"Προσαρμοσ. στυλ εισαγ."
"Προσθ. στυλ"
"Προσθήκη"
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 000000000..366cf3cdf
--- /dev/null
+++ b/java/res/values-en-rGB/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Go"
+ "Next"
+ "Prev"
+ "Finished"
+ "Send"
+ "Pause"
+ "Wait"
+
diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml
index 0586bcca4..4bc1b15cf 100644
--- a/java/res/values-en-rGB/strings.xml
+++ b/java/res/values-en-rGB/strings.xml
@@ -74,20 +74,11 @@
"Dynamic floating preview"
"See the suggested word while gesturing"
"%s : Saved"
- "Go"
- "Next"
- "Prev"
- "Done"
- "Send"
- "Pause"
- "Wait"
"Plug in a headset to hear password keys spoken aloud."
"Current text is %s"
"No text entered"
-
-
-
-
+ "%1$s corrects %2$s to %3$s"
+ "%1$s performs auto-correction"
"Key code %d"
"Shift"
"Shift on (tap to disable)"
@@ -156,6 +147,9 @@
"Alphabet (Colemak)"
"Alphabet (PC)"
"Emoji"
+ "Colour scheme"
+ "White"
+ "Blue"
"Customised input styles"
"Add style"
"Add"
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 000000000..366cf3cdf
--- /dev/null
+++ b/java/res/values-en-rIN/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Go"
+ "Next"
+ "Prev"
+ "Finished"
+ "Send"
+ "Pause"
+ "Wait"
+
diff --git a/java/res/values-en-rIN/strings-appname.xml b/java/res/values-en-rIN/strings-appname.xml
new file mode 100644
index 000000000..5ad5eae66
--- /dev/null
+++ b/java/res/values-en-rIN/strings-appname.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ "Android Keyboard (AOSP)"
+ "Android Spell Checker (AOSP)"
+ "Android Keyboard Settings (AOSP)"
+ "Android Spell Checker Settings (AOSP)"
+
diff --git a/java/res/values-en-rIN/strings.xml b/java/res/values-en-rIN/strings.xml
new file mode 100644
index 000000000..4bc1b15cf
--- /dev/null
+++ b/java/res/values-en-rIN/strings.xml
@@ -0,0 +1,242 @@
+
+
+
+
+ "Input options"
+ "Research Log Commands"
+ "Look up contact names"
+ "Spell checker uses entries from your contact list"
+ "Vibrate on keypress"
+ "Sound on keypress"
+ "Pop-up on key press"
+ "General"
+ "Text correction"
+ "Gesture typing"
+ "Other options"
+ "Advanced settings"
+ "Options for experts"
+ "Switch to other input methods"
+ "Language switch key also covers other input methods"
+ "Language switch key"
+ "Show when multiple input languages are enabled"
+ "Show slide indicator"
+ "Display visual cue while sliding from Shift or Symbol keys"
+ "Key pop-up dismiss delay"
+ "No delay"
+ "Default"
+ "%sms"
+ "System default"
+ "Suggest Contact names"
+ "Use names from Contacts for suggestions and corrections"
+ "Double-space full stop"
+ "Double tap on spacebar inserts a full stop followed by a space"
+ "Auto-capitalisation"
+ "Capitalise the first word of each sentence"
+ "Personal dictionary"
+ "Add-on dictionaries"
+ "Main dictionary"
+ "Show correction suggestions"
+ "Display suggested words while typing"
+ "Always show"
+ "Show in portrait mode"
+ "Always hide"
+ "Block offensive words"
+ "Do not suggest potentially offensive words"
+ "Auto-correction"
+ "Correct mistyped words automatically with spacebar and punctuation"
+ "Off"
+ "Modest"
+ "Aggressive"
+ "Very aggressive"
+ "Next-word suggestions"
+ "Use the previous word when making suggestions"
+ "Enable gesture typing"
+ "Input a word by sliding through the letters"
+ "Show gesture trail"
+ "Dynamic floating preview"
+ "See the suggested word while gesturing"
+ "%s : Saved"
+ "Plug in a headset to hear password keys spoken aloud."
+ "Current text is %s"
+ "No text entered"
+ "%1$s corrects %2$s to %3$s"
+ "%1$s performs auto-correction"
+ "Key code %d"
+ "Shift"
+ "Shift on (tap to disable)"
+ "Caps lock on (tap to disable)"
+ "Delete"
+ "Symbols"
+ "Letters"
+ "Numbers"
+ "Settings"
+ "Tab"
+ "Space"
+ "Voice input"
+ "Smiley face"
+ "Return"
+ "Search"
+ "Dot"
+ "Switch language"
+ "Next"
+ "Previous"
+ "Shift enabled"
+ "Caps lock enabled"
+ "Shift disabled"
+ "Symbols mode"
+ "Letters mode"
+ "Phone mode"
+ "Phone symbols mode"
+ "Keyboard hidden"
+ "Showing %s keyboard"
+ "date"
+ "date and time"
+ "email"
+ "messaging"
+ "number"
+ "phone"
+ "text"
+ "time"
+ "URL"
+ "Voice input key"
+ "On main keyboard"
+ "On symbols keyboard"
+ "Off"
+ "Mic on main keyboard"
+ "Mic on symbols keyboard"
+ "Voice input is disabled"
+ "Configure input methods"
+ "Input languages"
+ "Send feedback"
+ "Input languages"
+ "Touch again to save"
+ "Dictionary available"
+ "Enable user feedback"
+ "Help improve this input method editor by automatically sending usage statistics and crash reports"
+ "Keyboard theme"
+ "English (UK)"
+ "English (US)"
+ "Spanish (US)"
+ "English (UK) (%s)"
+ "English (US) (%s)"
+ "Spanish (US) (%s)"
+ "%s (Traditional)"
+ "No language (Alphabet)"
+ "Alphabet (QWERTY)"
+ "Alphabet (QWERTZ)"
+ "Alphabet (AZERTY)"
+ "Alphabet (Dvorak)"
+ "Alphabet (Colemak)"
+ "Alphabet (PC)"
+ "Emoji"
+ "Colour scheme"
+ "White"
+ "Blue"
+ "Customised input styles"
+ "Add style"
+ "Add"
+ "Remove"
+ "Save"
+ "Language"
+ "Layout"
+ "Your customised input style needs to be enabled before you start using it. Do you want to enable it now?"
+ "Enable"
+ "Not now"
+ "The same input style already exists: %s"
+ "Usability study mode"
+ "Key long press delay"
+ "Keypress vibration duration"
+ "Keypress sound volume"
+ "Read external dictionary file"
+ "No dictionary files in the Downloads folder"
+ "Select a dictionary file to install"
+ "Really install this file for %s?"
+ "There was an error"
+ "Default"
+ "Welcome to %s"
+ "with Gesture Typing"
+ "Get started"
+ "Next step"
+ "Setting up %s"
+ "Enable %s"
+ "Please tick \"%s\" in your Language & input settings. This will authorise it to run on your device."
+ "%s is already enabled in your Language & input settings, so this step is done. On to the next one!"
+ "Enable in Settings"
+ "Switch to %s"
+ "Next, select \"%s\" as your active text-input method."
+ "Switch input methods"
+ "Congratulations, you\'re all set!"
+ "Now you can type in all your favourite apps with %s."
+ "Configure additional languages"
+ "Finished"
+ "Show app icon"
+ "Display application icon in the launcher"
+ "Dictionary Provider"
+ "Dictionary Provider"
+ "Dictionary Service"
+ "Dictionary update information"
+ "Add-on dictionaries"
+ "Dictionary available"
+ "Settings for dictionaries"
+ "User dictionaries"
+ "User dictionary"
+ "Dictionary available"
+ "Currently downloading"
+ "Installed"
+ "Installed, disabled"
+ "Problem connecting to dictionary service"
+ "No dictionaries available"
+ "Refresh"
+ "Last updated"
+ "Checking for updates"
+ "Loading..."
+ "Main dictionary"
+ "Cancel"
+ "Install"
+ "Cancel"
+ "Delete"
+ "The selected language on your mobile device has an available dictionary.<br/> We recommend <b>downloading</b> the %1$s dictionary to improve your typing experience.<br/> <br/> The download could take a minute or two over 3G. Charges may apply if you don\'t have an <b>unlimited data plan</b>.<br/> If you are not sure which data plan you have, we recommend finding a Wi-Fi connection to start the download automatically.<br/> <br/> Tip: You can download and remove dictionaries by going to <b>Language & input</b> in the <b>Settings</b> menu of your mobile device."
+ "Download now (%1$.1fMB)"
+ "Download over Wi-Fi"
+ "A dictionary is available for %1$s"
+ "Press to review and download"
+ "Downloading: suggestions for %1$s will be ready soon."
+ "Version %1$s"
+ "Add"
+ "Add to dictionary"
+ "Phrase"
+ "More options"
+ "Fewer options"
+ "OK"
+ "Word:"
+ "Shortcut:"
+ "Language:"
+ "Type a word"
+ "Optional shortcut"
+ "Edit word"
+ "Edit"
+ "Delete"
+ "You don\'t have any words in the user dictionary. Add a word by touching the Add (+) button."
+ "For all languages"
+ "More languages…"
+ "Delete"
+ " ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+
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 000000000..d375617f4
--- /dev/null
+++ b/java/res/values-es-rUS/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Ir"
+ "Sig."
+ "Ant."
+ "Listo"
+ "Env."
+ "Pausa"
+ "Esp."
+
diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml
index 42c3932f6..1fd9cf8f0 100644
--- a/java/res/values-es-rUS/strings.xml
+++ b/java/res/values-es-rUS/strings.xml
@@ -74,20 +74,11 @@
"Vista previa dinámica flotante"
"Mira la palabra sugerida mientras haces gestos"
"%s: guardada"
- "Ir"
- "Siguiente"
- "Ant."
- "Listo"
- "Enviar"
- "Pausa"
- "Espera"
"Enchufa tus auriculares para escuchar en voz alta qué teclas presionas al ingresar una contraseña."
"El texto actual es %s"
"No se ingresó texto."
-
-
-
-
+ "La tecla %1$s corrige %2$s por %3$s."
+ "La tecla %1$s corrige automáticamente."
"Clave de código %d"
"Mayús"
"Se activó el modo Mayúscula (toca para desactivarlo)."
@@ -156,6 +147,9 @@
"Alfabeto (Colemak)"
"Alfabeto (PC)"
"Emoji"
+ "Combinación de colores"
+ "Blanco"
+ "Azul"
"Estilos de entrada personalizados"
"Agr. estilo"
"Agregar"
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 000000000..2701146c8
--- /dev/null
+++ b/java/res/values-es/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Ir"
+ "Siguiente"
+ "Anterior"
+ "Listo"
+ "Enviar"
+ "Pausar"
+ "Espera"
+
diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml
index 4d72799f4..39b45e0c4 100644
--- a/java/res/values-es/strings.xml
+++ b/java/res/values-es/strings.xml
@@ -62,7 +62,7 @@
"No sugerir palabras potencialmente ofensivas"
"Autocorrección"
"Pulsar la tecla de espacio o punto para corregir errores"
- "Desactivada"
+ "No"
"Parcial"
"Total"
"Casi total"
@@ -74,20 +74,11 @@
"Vista previa dinámica flotante"
"Ver palabra sugerida al hacer gestos"
"%s: guardada"
- "Ir"
- "Sig."
- "Anterior"
- "Ok"
- "Enviar"
- "Pausa"
- "Espera"
"Conecta un auricular para escuchar las contraseñas en voz alta."
"El texto actual es %s."
"No se ha introducido texto."
-
-
-
-
+ "La tecla %1$s corrige %2$s a %3$s"
+ "La tecla %1$s corrige automáticamente"
"Código del teclado: %d"
"Mayús"
"Mayúsculas activadas (tocar para inhabilitar)"
@@ -128,7 +119,7 @@
"Tecla de entrada de voz"
"En teclado principal"
"En teclado de símbolos"
- "Desactivada"
+ "No"
"Micrófono en teclado principal"
"Micrófono en teclado de símbolos"
"Entrada de voz inhabilitada"
@@ -156,6 +147,9 @@
"Alfabeto (Colemak)"
"Alfabeto (PC)"
"Emoji"
+ "Patrón de color"
+ "Blanco"
+ "Azul"
"Estilos de entrada personalizados"
"Añadir estilo"
"Añadir"
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 000000000..64ba6d6d7
--- /dev/null
+++ b/java/res/values-et-rEE/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Mine"
+ "Edasi"
+ "Eelm."
+ "Valmis"
+ "Saada"
+ "Peata"
+ "Oota"
+
diff --git a/java/res/values-et-rEE/strings.xml b/java/res/values-et-rEE/strings.xml
index 5706fa105..e0f992c0d 100644
--- a/java/res/values-et-rEE/strings.xml
+++ b/java/res/values-et-rEE/strings.xml
@@ -74,20 +74,11 @@
"Dünaamiline ujuv eelvaade"
"Soovitatud sõna vaatamine joonistusega sisestamise ajal"
"%s : salvestatud"
- "Mine"
- "Edasi"
- "Eelm."
- "Valmis"
- "Saada"
- "Peata"
- "Oota"
"Ühendage peakomplekt, et kuulata paroole."
"Praegune tekst on %s"
"Teksti ei ole sisestatud"
-
-
-
-
+ "Klahvi %1$s vajutamisel parandatakse sõna %2$s sõnaks %3$s"
+ "Klahvi %1$s vajutamisel tehakse automaatne parandus"
"Klahvi kood: %d"
"Tõstuklahv"
"Tõstuklahv sees (puudutage keelamiseks)"
@@ -156,6 +147,9 @@
"Tähestik (Colemak)"
"Tähestik (PC)"
"Emotikon"
+ "Värviskeem"
+ "Valge"
+ "Sinine"
"Kohandage sisendlaadid"
"Lisage laad"
"Lisa"
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 000000000..78faa8c0b
--- /dev/null
+++ b/java/res/values-fa/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "رفتن"
+ "بعدی"
+ "قبلی"
+ "اتمام"
+ "ارسال"
+ "مکث"
+ "انتظار"
+
diff --git a/java/res/values-fa/strings-appname.xml b/java/res/values-fa/strings-appname.xml
index 38234c241..f6c9f545e 100644
--- a/java/res/values-fa/strings-appname.xml
+++ b/java/res/values-fa/strings-appname.xml
@@ -20,8 +20,8 @@
- "صفحه کلید Android (AOSP)"
- "غلطگیر Android (AOSP)"
- "تنظیمات صفحه کلید Android (AOSP)"
- "تنظیمات غلطگیر Android (AOSP)"
+ "صفحه کلید Android (AOSP)"
+ "غلطگیر Android (AOSP)"
+ "تنظیمات صفحه کلید Android (AOSP)"
+ "تنظیمات غلطگیر Android (AOSP)"
diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml
index c03e440e4..af886ef8c 100644
--- a/java/res/values-fa/strings.xml
+++ b/java/res/values-fa/strings.xml
@@ -38,7 +38,7 @@
"کلید تغییر زبان"
"وقتی چند زبان ورودی فعال است نشان داده شود"
"نمایش نشانگر لغزاندن"
- "نمایش نشان بصری، هنگام لغزاندن کلیدهای Shift یا نماد"
+ "نمایش نشان بصری، هنگام لغزاندن کلیدهای Shift یا نماد"
"تأخیر در رد کردن کلید نمایشی"
"بدون تأخیر"
"پیشفرض"
@@ -74,28 +74,19 @@
"پیشنمایش متحرک پویا"
"مشاهده کلمه پیشنهادی در حین انجام حرکات"
"%s : ذخیره شد"
- "برو"
- "بعدی"
- "قبلی"
- "انجام شد"
- "ارسال"
- "توقف موقت"
- "منتظر بمانید"
"برای شنیدن کلیدهای گذرواژه که با صدای بلند خوانده میشوند، از هدست استفاده کنید."
"متنی وارد نشده است"
-
-
-
-
+ "%1$s، %2$s را به %3$s تصحیح میکند"
+ "%1$s تصحیح خودکار را انجام میدهد"
"Shift"
- "Shift فعال است (برای غیرفعال کردن ضربه بزنید)"
- "Caps Lock روشن است (برای غیرفعال کردن ضربه بزنید)"
+ "Shift فعال است (برای غیرفعال کردن ضربه بزنید)"
+ "Caps Lock روشن است (برای غیرفعال کردن ضربه بزنید)"
"Delete"
"نمادها"
"حروف"
@@ -111,9 +102,9 @@
"تغییر زبان"
"بعدی"
"قبلی"
- "Shift فعال است"
- "Caps lock فعال شد"
- "Shift غیرفعال است"
+ "Shift فعال است"
+ "Caps lock فعال شد"
+ "Shift غیرفعال است"
"حالت نمادها"
"حالت حروف"
"حالت تلفن"
@@ -153,13 +144,16 @@
"اسپانیایی (آمریکا) (%s)"
"%s (سنتی)"
"بدون زبان (حروف الفبا)"
- "حروف الفبا (QWERTY)"
- "حروف الفبا (QWERTZ)"
- "حروف الفبا (AZERTY)"
- "حروف الفبا (Dvorak)"
- "حروف الفبا (Colemak)"
- "حروف الفبا (PC)"
+ "حروف الفبا (QWERTY)"
+ "حروف الفبا (QWERTZ)"
+ "حروف الفبا (AZERTY)"
+ "حروف الفبا (Dvorak)"
+ "حروف الفبا (Colemak)"
+ "حروف الفبا (PC)"
"Emoji"
+ "رنگبندی"
+ "سفید"
+ "آبی"
"سبکهای ورودی سفارشی"
"افزودن سبک"
"افزودن"
@@ -223,9 +217,9 @@
"نصب"
"لغو"
"حذف"
- "برای زبان انتخاب شده در دستگاه همراه شما فرهنگ لغتی موجود است.<br/> توصیه میکنیم فرهنگ لغت %1$s را <b>دانلود کنید</b> تا بهتر تایپ کنید.<br/> <br/> دانلود از طریق 3G ممکن است چند لحظه طول بکشد. اگر <b>طرح داده نامحدود</b> نداشته باشید ممکن است برایتان هزینه داشته باشد.<br/> اگر مطمئن نیستید طرح داده شما چیست٬ توصیه میکنیم یک اتصال Wi-Fi پیدا کنید تا دانلود بطور خودکار شروع شود.<br/> <br/> نکته: میتوانید فرهنگ لغت را با رفتن به منوی <b>زبان و ورودی</b> در <b>تنظیمات</b> در دستگاه همراه خود دانلود و حذف کنید."
+ "برای زبان انتخاب شده در دستگاه همراه شما فرهنگ لغتی موجود است.<br/> توصیه میکنیم فرهنگ لغت %1$s را <b>دانلود کنید</b> تا بهتر تایپ کنید.<br/> <br/> دانلود از طریق 3G ممکن است چند لحظه طول بکشد. اگر <b>طرح داده نامحدود</b> نداشته باشید ممکن است برایتان هزینه داشته باشد.<br/> اگر مطمئن نیستید طرح داده شما چیست٬ توصیه میکنیم یک اتصال Wi-Fi پیدا کنید تا دانلود بطور خودکار شروع شود.<br/> <br/> نکته: میتوانید فرهنگ لغت را با رفتن به منوی <b>زبان و ورودی</b> در <b>تنظیمات</b> در دستگاه همراه خود دانلود و حذف کنید."
"هماکنون بارگیری شود (%1$.1f مگابایت)"
- "دانلود ازطریق Wi-Fi"
+ "دانلود ازطریق Wi-Fi"
"یک فرهنگ لغت برای %1$s موجود است"
"برای مرور و دانلود فشار دهید"
"دانلود لغات پیشنهادی برای %1$s به زودی شروع میشود."
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 000000000..da7f11197
--- /dev/null
+++ b/java/res/values-fi/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Siir."
+ "Seur."
+ "Edel."
+ "Valm."
+ "Läh."
+ "Tauko"
+ "Odota"
+
diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml
index 744e60420..a58bfac3e 100644
--- a/java/res/values-fi/strings.xml
+++ b/java/res/values-fi/strings.xml
@@ -74,20 +74,11 @@
"Dynaaminen kelluva esikatselu"
"Näytä ehdotettu sana piirron aikana"
"%s: tallennettu"
- "Mene"
- "Seur."
- "Edel."
- "Valmis"
- "Läh."
- "Tauko"
- "Odota"
"Liitä kuulokkeet, niin kuulet mitä näppäimiä painat kirjoittaessasi salasanaa."
"Nykyinen teksti on %s"
"Ei kirjoitettua tekstiä"
-
-
-
-
+ "%1$s korjaa sanan %2$s sanaksi %3$s"
+ "%1$s suorittaa automaattisen korjauksen"
"Näppäimen koodi %d"
"Vaihto"
"Vaihto päällä (poista käytöstä napauttamalla)"
@@ -156,6 +147,9 @@
"Aakkoset (Colemak)"
"Aakkoset (PC)"
"Emoji"
+ "Väriteema"
+ "Valkoinen"
+ "Sininen"
"Muokatut syöttötyylit"
"Lisää tyyli"
"Lisää"
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 000000000..bb5568e79
--- /dev/null
+++ b/java/res/values-fr-rCA/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Aller"
+ "Suiv."
+ "Préc."
+ "Term."
+ "Env."
+ "Pause"
+ "Att."
+
diff --git a/java/res/values-fr-rCA/strings-appname.xml b/java/res/values-fr-rCA/strings-appname.xml
new file mode 100644
index 000000000..d45e239a0
--- /dev/null
+++ b/java/res/values-fr-rCA/strings-appname.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ "Clavier Android (AOSP)"
+ "Correcteur orthographique Android (AOSP)"
+ "Paramètres du clavier Android (AOSP)"
+ "Paramètres du correcteur orthographique Android (AOSP)"
+
diff --git a/java/res/values-fr-rCA/strings.xml b/java/res/values-fr-rCA/strings.xml
index b56463ed9..2551ce9f8 100644
--- a/java/res/values-fr-rCA/strings.xml
+++ b/java/res/values-fr-rCA/strings.xml
@@ -1,19 +1,242 @@
-
- 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.
--->
- "Clavier Android"
+ "Options de saisie"
+ "Commandes journaux rech."
+ "Rechercher noms contacts"
+ "Correcteur orthographique utilise entrées de liste de contacts."
+ "Vibrer à chaque touche"
+ "Son à chaque touche"
+ "Agrandir les caractères"
+ "Général"
+ "Correction du texte"
+ "Saisie gestuelle"
+ "Autres options"
+ "Paramètres avancés"
+ "Options destinées aux experts"
+ "Autres modes de saisie"
+ "La touche de sélection de langue couvre d\'autres modes de saisie"
+ "Touche de sélection de langue"
+ "Afficher lorsque plusieurs langues de saisie sont activées"
+ "Aff. indicateur saisie gestuelle"
+ "Aff. un repère visuel si l\'utilisateur appuie sur Maj ou Symboles"
+ "Masquer touche agrandie"
+ "Aucun délai"
+ "Par défaut"
+ "%s ms"
+ "Paramètres par défaut"
+ "Proposer noms de contacts"
+ "Utiliser des noms de contacts pour les suggestions et corrections"
+ "Point et espace"
+ "Appuyez deux fois sur la barre d\'espace pour insérer un point et une espace"
+ "Majuscules automatiques"
+ "Majuscule au premier mot de chaque phrase"
+ "Dictionnaire personnel"
+ "Dictionnaires complémentaires"
+ "Dictionnaire principal"
+ "Suggestions de correction"
+ "Afficher les suggestions de terme lors de la saisie"
+ "Toujours afficher"
+ "Afficher en mode Portrait"
+ "Toujours masquer"
+ "Bloquer les termes choquants"
+ "Pas de termes potentiellement choquants"
+ "Correction auto"
+ "Corriger autom. orthographe (pression sur barre espace/signes ponctuation)"
+ "Désactiver"
+ "Simple"
+ "Proactive"
+ "Très exigeante"
+ "Suggestions pour le mot suivant"
+ "Utiliser le mot précédent pour les suggestions"
+ "Activer la saisie gestuelle"
+ "Saisir un mot en faisant glisser le doigt sur les lettres"
+ "Afficher le tracé du geste"
+ "Aperçu flottant dynamique"
+ "Afficher le mot suggéré lors des gestes"
+ "%s : enregistré"
+ "Branchez des écouteurs pour entendre l\'énoncé à haute voix des touches lors de la saisie du mot de passe."
+ "Le texte actuel est %s"
+ "Aucun texte saisi"
+ "La touche %1$s permet de corriger « %2$s » par « %3$s »"
+ "La touche %1$s permet d\'activer la correction automatique"
+ "Code touche %d"
+ "Maj"
+ "Touche Maj activée (appuyer pour désactiver)"
+ "Verrouillage des majuscules activé (appuyer pour désactiver)"
+ "Supprimer"
+ "Symboles"
+ "Lettres"
+ "Nombres"
+ "Paramètres"
+ "Onglet"
+ "Espace"
+ "Saisie vocale"
+ "Émoticône"
+ "Renvoyer"
+ "Rechercher"
+ "Point"
+ "Changer de langue"
+ "Suivant"
+ "Précédent"
+ "Touche Maj activée"
+ "Verrouillage des majuscules activé"
+ "Touche Maj désactivée"
+ "Mode Symboles"
+ "Mode Lettres"
+ "Mode Téléphone"
+ "Mode Symboles du téléphone"
+ "Clavier masqué"
+ "Affichage du clavier %s"
+ "Date"
+ "Date et heure"
+ "Courriel"
+ "SMS/MMS"
+ "Nombre"
+ "Numéro de téléphone"
+ "Texte"
+ "Heure"
+ "URL"
+ "Touche de saisie vocale"
+ "Sur le clavier principal"
+ "Sur clavier symboles"
+ "Désactiver"
+ "Micro sur le clavier principal"
+ "Micro sur le clavier des symboles"
+ "Saisie vocale désactivée"
+ "Configurer les modes de saisie"
+ "Langues de saisie"
+ "Envoyer des commentaires"
+ "Langues de saisie"
+ "Appuyer de nouveau pour enregistrer"
+ "Dictionnaire disponible"
+ "Autoriser les commentaires des utilisateurs"
+ "Contribuer à l\'amélioration de cet éditeur du mode de saisie grâce à l\'envoi automatique de statistiques d\'utilisation et de rapports d\'erreur"
+ "Thème du clavier"
+ "Anglais (britannique)"
+ "Anglais (États-Unis)"
+ "Espagnol (États-Unis)"
+ "Anglais (Royaume-Uni) (%s)"
+ "Anglais (États-Unis) (%s)"
+ "Espagnol, États-Unis (%s)"
+ "%s (traditionnel)"
+ "Aucune langue (alphabet)"
+ "Alphabet latin (QWERTY)"
+ "Alphabet latin (QWERTZ)"
+ "Alphabet latin (AZERTY)"
+ "Alphabet latin (Dvorak)"
+ "Alphabet latin (Colemak)"
+ "Alphabet latin (PC)"
+ "Emoji"
+ "Modèle de couleurs"
+ "Blanc"
+ "Bleu"
+ "Styles saisie personnalisés"
+ "Ajouter style"
+ "Ajouter"
+ "Supprimer"
+ "Enregistrer"
+ "Langue"
+ "Disposition"
+ "Vous devez activer votre style de saisie personnalisé avant de l\'utiliser. Voulez-vous le faire maintenant ?"
+ "Activer"
+ "Pas maintenant"
+ "Le style de saisie suivant existe déjà : %s."
+ "Mode d\'étude de l\'utilisabilité"
+ "Délai appui prolongé sur touche"
+ "Durée vibration press. touche"
+ "Volume pression de touche"
+ "Lire un fichier de dictionnaire externe"
+ "Aucun fichier de dictionnaire dans le dossier \"Téléchargements\""
+ "Sélectionner un fichier de dictionnaire à installer"
+ "Installer ce fichier pour la langue \"%s\" ?"
+ "Une erreur s\'est produite"
+ "Par défaut"
+ "Bienvenue dans %s"
+ "avec la saisie gestuelle"
+ "Commencer"
+ "Étape suivante"
+ "Configurer %s"
+ "Activer %s"
+ "Sous \"Langue et saisie\", cochez \"%s\" pour autoriser son exécution sur l\'appareil."
+ "L\'application \"%s\" est déjà activée dans vos paramètres \"Langue et saisie\". Passez à l\'étape suivante."
+ "Activer le clavier dans les paramètres"
+ "Basculer vers %s"
+ "Sélectionnez ensuite \"%s\" comme mode de saisie actif."
+ "Changer de mode de saisie"
+ "Félicitations, l\'opération est terminée"
+ "Avec %s, vous pouvez saisir du texte dans toutes vos applications préférées."
+ "Configurer des langues supplémentaires"
+ "OK"
+ "Afficher icône application"
+ "Afficher l\'icône de l\'application dans le lanceur"
+ "Fournisseur de dictionnaires"
+ "Fournisseur de dictionnaires"
+ "Service de dictionnaires"
+ "Informations relatives à la mise à jour des dictionnaires"
+ "Dictionnaires complémentaires"
+ "Dictionnaire disponible"
+ "Paramètres des dictionnaires"
+ "Dictionnaires personnels"
+ "Dictionnaire personnel"
+ "Dictionnaire disponible"
+ "Téléchargement en cours…"
+ "Installé"
+ "Installé, désactivé"
+ "Pas de service dico."
+ "Aucun dictionnaire"
+ "Actualiser"
+ "Dernière mise à jour"
+ "Recherche de mises à jour en cours…"
+ "Chargement en cours..."
+ "Dictionnaire principal"
+ "Annuler"
+ "Installer"
+ "Annuler"
+ "Supprimer"
+ "Un dictionnaire est disponible pour la langue sélectionnée sur votre appareil mobile.<br/> Nous vous invitons à <b>télécharger</b> le dictionnaire %1$s pour faciliter votre saisie.<br/> <br/> Le téléchargement peut prendre une à deux minutes via une connexion 3G. Des frais peuvent s\'appliquer si vous ne disposez pas d\'un <b>forfait Internet illimité</b>.<br/> Si vous n\'êtes pas sûr de votre forfait, nous vous conseillons d\'utiliser une connexion Wi-Fi pour lancer automatiquement le téléchargement.<br/> <br/> Astuce : Vous pouvez télécharger et supprimer des dictionnaires dans la section <b>Langue et saisie</b> du menu <b>Paramètres</b> de votre appareil mobile."
+ "Télécharger (%1$.1f Mo)"
+ "Télécharger via Wi-Fi"
+ "Un dictionnaire est disponible en %1$s"
+ "Appuyez ici pour consulter et télécharger le dictionnaire."
+ "En cours de téléchargement. Des suggestions pour la langue suivante seront bientôt disponibles : %1$s."
+ "Version %1$s"
+ "Ajouter"
+ "Ajouter au dictionnaire"
+ "Expression"
+ "Plus d\'options"
+ "Moins d\'options"
+ "OK"
+ "Mot :"
+ "Raccourci :"
+ "Langue :"
+ "Saisissez un mot"
+ "Raccourci facultatif"
+ "Modifier le mot"
+ "Modifier"
+ "Supprimer"
+ "Votre dictionnaire personnel ne contient aucun mot. Ajoutez un mot en appuyant sur le bouton d\'ajout (\"+\")."
+ "Pour toutes les langues"
+ "Plus de langues…"
+ "Supprimer"
+ " ABCDEFGHIJKLMNOPQRSTUVWXYZ"
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 000000000..1c36552d4
--- /dev/null
+++ b/java/res/values-fr/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Accès"
+ "Suiv."
+ "Préc."
+ "OK"
+ "Envoyer"
+ "Pause"
+ "Attente"
+
diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml
index 5fedd4ebd..b877db014 100644
--- a/java/res/values-fr/strings.xml
+++ b/java/res/values-fr/strings.xml
@@ -74,20 +74,11 @@
"Aperçu flottant dynamique"
"Afficher le mot suggéré lors des gestes"
"%s : enregistré"
- "OK"
- "Suiv."
- "Préc."
- "OK"
- "Envoi"
- "Pause"
- "Délai"
"Branchez des écouteurs pour entendre l\'énoncé à haute voix des touches lors de la saisie du mot de passe."
"Le texte actuel est %s"
"Aucun texte saisi"
-
-
-
-
+ "La touche %1$s permet de remplacer \"%2$s\" par \"%3$s\"."
+ "La touche %1$s permet d\'activer la correction automatique."
"Code touche %d"
"Maj"
"Touche Maj activée (appuyer pour désactiver)"
@@ -156,6 +147,9 @@
"Alphabet latin (Colemak)"
"Alphabet latin (PC)"
"Emoji"
+ "Jeu de couleurs"
+ "Blanc"
+ "Bleu"
"Styles saisie personnalisés"
"Ajouter style"
"Ajouter"
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 000000000..92cb194ea
--- /dev/null
+++ b/java/res/values-hi/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "जाएं"
+ "अगला"
+ "पिछला"
+ "पूर्ण"
+ "भेजें"
+ "रोकें"
+ "प्रतीक्षा करें"
+
diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml
index 3b3228a9f..d7735433d 100644
--- a/java/res/values-hi/strings.xml
+++ b/java/res/values-hi/strings.xml
@@ -74,20 +74,11 @@
"गतिशील फ़्लोटिंग पूर्वावलोकन"
"जेस्चर बनाते समय सुझाया गया शब्द देखें"
"%s: सहेजा गया"
- "जाएं"
- "अगला"
- "पिछला"
- "पूर्ण"
- "भेजें"
- "पॉज़ करें"
- "प्रतीक्षा करें"
"ज़ोर से बोली गई पासवर्ड कुंजियां सुनने के लिए हेडसेट प्लग इन करें."
"वर्तमान पाठ %s है"
"कोई पाठ दर्ज नहीं किया गया"
-
-
-
-
+ "%1$s %2$s को सुधार कर %3$s करता है"
+ "%1$s स्वत: सुधार करता है"
"कुंजी कोड %d"
"शिफ़्ट"
"Shift चालू (अक्षम करने के लिए टैप करें)"
@@ -156,6 +147,9 @@
"वर्णाक्षर (Colemak)"
"वर्णाक्षर (PC)"
"Emoji"
+ "रंग संयोजन"
+ "सफ़ेद"
+ "नीला"
"कस्टम इनपुट शैलियां"
"शैली जोड़ें"
"जोड़ें"
@@ -190,11 +184,11 @@
"इसके बाद, \"%s\" को अपनी सक्रिय पाठ-इनपुट पद्धति के रूप में चुनें."
"इनपुट पद्धतियां स्विच करें"
"बधाई हो, आप बिल्कुल तैयार हैं!"
- "अब आप %s के साथ अपने सभी पसंदीदा एप्स में लिख सकते हैं."
+ "अब आप %s के साथ अपने सभी पसंदीदा ऐप्स में लिख सकते हैं."
"अतिरिक्त भाषाएं कॉन्फ़िगर करना"
"समाप्त"
- "एप्स आइकन दिखाएं"
- "लॉन्चर में एप्स आइकन प्रदर्शित करें"
+ "ऐप्स आइकन दिखाएं"
+ "लॉन्चर में ऐप्स आइकन प्रदर्शित करें"
"डिक्शनरी प्रदाता"
"डिक्शनरी प्रदाता"
"डिक्शनरी सेवा"
@@ -227,7 +221,7 @@
"डाउनलोड हो रहा है: %1$s के लिए सुझाव जल्दी ही तैयार हो जाएंगे."
"संस्करण %1$s"
"जोड़ें"
- "शब्दकोष में जोड़ें"
+ "शब्दकोश में जोड़ें"
"वाक्यांश"
"अधिक विकल्प"
"कम विकल्प"
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 000000000..564f70363
--- /dev/null
+++ b/java/res/values-hr/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Kreni"
+ "Dalje"
+ "Pret."
+ "Got."
+ "Poš."
+ "Pauz."
+ "Čekaj"
+
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
index caef9541d..b9cfef384 100644
--- a/java/res/values-hr/strings.xml
+++ b/java/res/values-hr/strings.xml
@@ -74,20 +74,11 @@
"Dinamički plutajući pregled"
"Vidi predloženu riječ tijekom pokreta"
"%s : Spremljeno"
- "Idi"
- "Dalje"
- "Pret."
- "Gotovo"
- "Pošalji"
- "Pauza"
- "Pričekaj"
"Priključite slušalice da biste čuli tipke zaporke izgovorene naglas."
"Trenutačni tekst je %s"
"Nije unesen tekst"
-
-
-
-
+ "%1$s ispravlja %2$s u %3$s"
+ "%1$s vrši samoispravljanje"
"Kôd tipke %d"
"Shift"
"Uključena tipka Shift (dotaknite da onemogućite)"
@@ -156,6 +147,9 @@
"Abeceda (Colemak)"
"Abeceda (PC)"
"Emoji"
+ "Shema boja"
+ "Bijela"
+ "Plava"
"Prilagođeni stilovi unosa"
"Dodaj stil"
"Dodaj"
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 000000000..257f30f34
--- /dev/null
+++ b/java/res/values-hu/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Mehet"
+ "Köv."
+ "Előző"
+ "Kész"
+ "Küld"
+ "Állj"
+ "Vár"
+
diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml
index 3b0ee4798..a61378fca 100644
--- a/java/res/values-hu/strings.xml
+++ b/java/res/values-hu/strings.xml
@@ -74,20 +74,11 @@
"Dinamikus lebegő előnézet"
"A javasolt szó megtekintése kézmozdulat közben"
"%s : mentve"
- "Ugrás"
- "Tovább"
- "Előző"
- "Kész"
- "Küldés"
- "Szün."
- "Vár"
"Csatlakoztasson egy headsetet, ha hallani szeretné a jelszót felolvasva."
"A jelenlegi szöveg: %s"
"Szöveg nincs megadva"
-
-
-
-
+ "%1$s billentyű: %3$s szóra javítja a következőt: %2$s"
+ "%1$s billentyű automatikus javítást végez"
"Billentyűkód: %d"
"Shift"
"Shift be van kapcsolva (érintse meg a kikapcsoláshoz)"
@@ -156,6 +147,9 @@
"Ábécé (Colemak)"
"Ábécé (PC)"
"Hangulatjel"
+ "Színséma"
+ "Fehér"
+ "Kék"
"Egyedi bevitelstílusok"
"Új stílus"
"Hozzáadás"
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 000000000..af9dd5d9d
--- /dev/null
+++ b/java/res/values-hy-rAM/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Առաջ"
+ "Հաջորդը"
+ "Նախորդը"
+ "Պատրաստ է"
+ "Ուղարկել"
+ "Դադարեցնել"
+ "Սպասել"
+
diff --git a/java/res/values-hy-rAM/strings-appname.xml b/java/res/values-hy-rAM/strings-appname.xml
new file mode 100644
index 000000000..dc3c0c678
--- /dev/null
+++ b/java/res/values-hy-rAM/strings-appname.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ "Android Ստեղնաշար (AOSP)"
+ "Android տառասխալների ուղղիչ (AOSP)"
+ "Android ստեղնաշարի կարգավորումներ (AOSP)"
+ "Android տառասխալների ուղղիչի կարգավորումներ (AOSP)"
+
diff --git a/java/res/values-hy-rAM/strings.xml b/java/res/values-hy-rAM/strings.xml
new file mode 100644
index 000000000..0b8e19a76
--- /dev/null
+++ b/java/res/values-hy-rAM/strings.xml
@@ -0,0 +1,242 @@
+
+
+
+
+ "Ներածման ընտրանքներ"
+ "Հետազոտական գրառումների հրամաններ"
+ "Փնտրել կոնտակտային անուններ"
+ "Տառասխալների ուղղիչն օգտագործում է ձեր կոնտակտների ցանկի տվյալները"
+ "Թրթռալ սեղմման ժամանակ"
+ "Ձայնը սեղմման ժամանակ"
+ "Ելնող պատուհան՝ ստեղնի հպման դեպքում"
+ "Ընդհանուր"
+ "Տեքստի ուղղում"
+ "Ժեստերով մուտքագրում"
+ "Այլ ընտրանքներ"
+ "Ընդլայնված կարգավորումներ"
+ "Ընտրանքներ փորձագետների համար"
+ "Անցնել մուտքագրման այլ եղանակների"
+ "Լեզվի փոխարկման բանալին ընդգրկում է այլ մուտքագրման եղանակներ ևս"
+ "Լեզվի փոխարկման ստեղն"
+ "Ցույց տալ, երբ մուտքագրման մի քանի լեզուներ են միացված"
+ "Ցուցադրել սահքի ցուցիչը"
+ "Ցուցադրել տեսողական հուշումը Shift-ի կամ նշանների ստեղներից սահեցման ընթացքում"
+ "Ելնող պատուհանի հեռացման հետաձգման ստեղն"
+ "Առանց հետաձգման"
+ "Նախնականը"
+ "%sմվ"
+ "Համակարգի լռելյայնները"
+ "Առաջարկել կոնտակտների անունները"
+ "Օգտագործել կոնտակտների անունները՝ առաջարկների և ուղղումների համար"
+ "Կրկնաբացակի վերջակետ"
+ "Բացակի ստեղնի կրկնակի հպումը բացակից հետո վերջակետ է դնում"
+ "Ավտոմատ գլխատառացում"
+ "Գլխատառել յուրաքանչյուր նախադասության առաջին բառը"
+ "Անհատական բառարան"
+ "Ավելացնել բառարաններ"
+ "Հիմնական բառարան"
+ "Ցուցադրել ուղղումների առաջարկներ"
+ "Ցուցադրել առաջարկվող բառերը մուտքագրման ընթացքում"
+ "Միշտ ցուցադրել"
+ "Ցուցադրել դիմանկարային ռեժիմում"
+ "Միշտ թաքցնել"
+ "Արգելափակել վիրավորական բառերը"
+ "Չառաջարկել հավանական վիրավորական բառերը"
+ "Ինքնուղղում"
+ "Տպագրական սխալով բառերում ավտոմատ տեղադրել բացակներն ու կետադրական նշանները"
+ "Անջատված"
+ "Համեստ"
+ "Ագրեսիվ"
+ "Շատ ագրեսիվ"
+ "Հաջորդ բառի առաջարկներ"
+ "Առաջարկներ կազմելու համար օգտագործել նախորդ բառը"
+ "Միացնել ժեստերով մուտքագրումը"
+ "Մուտքագրեք բառ` սահեցնելով տառերը"
+ "Ցույց տալ ժեստի հետագիծը"
+ "Դինամիկ սահող նախատեսք"
+ "Տեսեք առաջարկված բառը՝ ժեստի միջոցով"
+ "%s` պահված է"
+ "Միացրեք ականջակալը՝ բարձրաձայն արտասանվող գաղտնաբառը լսելու համար:"
+ "Տվյալ տեքստը %s է"
+ "Տեքստ չի մուտքագրվել"
+ "%1$s-ը շտկում է %2$s-ը և դարձնում %3$s"
+ "%1$s ստեղնը ինքնաշտկում է կատարում"
+ "Բանալու կոդը՝ %d"
+ "Shift"
+ "Shift-ը միացված է (հպել անջատելու համար)"
+ "Caps lock-ը միացված է (հպել՝ անջատելու համար)"
+ "Ջնջել"
+ "Նշաններ"
+ "Տառեր"
+ "Թվեր"
+ "Կարգավորումներ"
+ "Tab"
+ "Բացակ"
+ "Ձայնային մուտքագրում"
+ "Ժպիտ"
+ "Վերադարձ"
+ "Որոնել"
+ "Կետ"
+ "Փոխել լեզուն"
+ "Հաջորդը"
+ "Նախորդը"
+ "Shift-ը միացված է"
+ "Caps Lock-ը միացված է"
+ "Shift-ն անջատված է"
+ "Նշանների ռեժիմ"
+ "Տառերի ռեժիմ"
+ "Հեռախոսային ռեժիմ"
+ "Հեռախոսի նշանների ռեժիմ"
+ "Ստեղնաշարը թաքցված է"
+ "Ցուցադրված է %s ստեղնաշարը"
+ "ամսաթիվ"
+ "ամսաթիվ և ժամ"
+ "էլփոստ"
+ "նամակագրություն"
+ "թվեր"
+ "հեռախոսահամար"
+ "տեքստ"
+ "ժամանակ"
+ "URL"
+ "Ձայնային մուտքագրման ստեղն"
+ "Հիմնական ստեղնաշարի վրա"
+ "Նշանների ստեղնաշարի վրա"
+ "Անջատված"
+ "Բարձրախոս հիմնական ստեղնաշարի վրա"
+ "Բարձրախոս նշանների ստեղնաշարի վրա"
+ "Ձայնային մուտքագրումն անջատված է"
+ "Կարգավորել մուտքագրման մեթոդները"
+ "Մուտքագրման լեզուներ"
+ "Արձագանքել"
+ "Մուտքագրման լեզուներ"
+ "Պահպանելու համար կրկին հպեք"
+ "Բառարանն առկա է"
+ "Միացնել օգտվողի արձագանքը"
+ "Օգնել բարելավել այս մուտքագրման եղանակի խմբագրիչը՝ ինքնուրույն ուղարկելով Google-ին օգտագործման վիճակագրությունն ու վթարների հաշվետվությունները:"
+ "Ստեղնաշարի թեման"
+ "Անգլերեն (ՄԹ)"
+ "Անգլերեն (ԱՄՆ)"
+ "Իսպաներեն (ԱՄՆ)"
+ "Անգլերեն (ՄԹ) (%s)"
+ "Անգլերեն (ԱՄՆ) (%s)"
+ "Իսպաներեն (ԱՄՆ) (%s)"
+ "%s (ավանդական)"
+ "Ոչ մի լեզվով (Այբուբեն)"
+ "Այբուբեն (QWERTY)"
+ "Այբուբեն (QWERTZ)"
+ "Այբուբեն (AZERTY)"
+ "Այբուբեն (Dvorak)"
+ "Այբուբեն (Colemak)"
+ "Այբուբեն (PC)"
+ "Զմայլիկներ"
+ "Գունավորում"
+ "Սպիտակ"
+ "Կապույտ"
+ "Մուտքագրման հատուկ ոճեր"
+ "Ավելացնել ոճ"
+ "Ավելացնել"
+ "Հեռացնել"
+ "Պահել"
+ "Lեզու"
+ "Դասավորություն"
+ "Մուտքագրման ձեր հատուկ ոճը պետք է միացված լինի նախքան դուք կսկսեք օգտագործել այն: Ցանկանո՞ւմ եք միացնել այն հիմա:"
+ "Միացնել"
+ "Ոչ հիմա"
+ "Մուտքագրման այսպիսի ոճ արդեն գոյություն ունի՝ %s"
+ "Հարմարավետության ուսումնասիրության ռեժիմ"
+ "Ստեղնի երկար սեղմման ուշացում"
+ "Սեղմման թրթռոցի տևողություն"
+ "Սեղմման ձայնի բարձրությունը"
+ "Կարդալ արտաքին բառարանի ֆայլը"
+ "Ներբեռնումների թղթապանակում բառարանային ֆայլեր չկան"
+ "Ընտրեք բառարանային ֆայլը տեղադրման համար"
+ "Իրո՞ք ուզում եք տեղադրել այս ֆայլը %s-ում:"
+ "Տեղի է ունեցել սխալ"
+ "Լռելյայնը"
+ "Բարի գալուստ %s"
+ "Ժեստային մուտքագրմամբ"
+ "Սկսել"
+ "Հաջորդ քայլը"
+ "Տեղադրվում է %s-ը"
+ "Միացնել %s-ը"
+ "Խնդրում ենք ստուգել «%s»-ը ձեր Լեզվի & մուտքագրման կարգավորումներում: Դա կլիազորի նրան գործարկվել ձեր սարքում:"
+ "%s-ն արդեն միացված է ձեր Լեզվի & մուտքագրման կարգավորումներում, ուստի այս քայլն արված է: Անցնել հաջորդին:"
+ "Միացնել կարգավորումներից"
+ "Փոխարկել %s-ին"
+ "Հաջորդիվ, ընտրեք «%s»-ը որպես ձեր ակտիվ տեքստային մուտքագրման եղանակ:"
+ "Փոխարկել մուտքագրման եղանակները"
+ "Շնորհավորում ենք, դուք տեղադրեցիք բոլորը:"
+ "Այժմ դուք կարող եք մուտքագրել ձեր բոլոր սիրելի հավելվածներում %s-ով:"
+ "Կարգավորել լրացուցիչ լեզուները"
+ "Ավարտված"
+ "Ցույց տալ հավելվածի պատկերակը"
+ "Ցուցադրել հավելվածի պատկերակը թողարկչում"
+ "Բառարանի մատակարար"
+ "Բառարանի մատակարար"
+ "Բառարանի ծառայություն"
+ "Տեղեկություններ բառարանների թարմացման մասին"
+ "Ավելացնել բառարաններ"
+ "Բառարանն առկա է"
+ "Բառարանների կարգավորումներ"
+ "Օգտվողի բառարաններ"
+ "Օգտվողի բառարան"
+ "Բառարանն առկա է"
+ "Այս պահին ներբեռնվում է"
+ "Տեղադրված է"
+ "Տեղադրված է, անջատված է"
+ "Բառարանային ծառայությանը միացման խնդիր կա"
+ "Բառարաններ չկան"
+ "Թարմացնել"
+ "Վերջին անգամ թարմացվել է"
+ "Ստուգվում է թարմացումների առկայությունը"
+ "Բեռնվում է..."
+ "Հիմնական բառարան"
+ "Չեղարկել"
+ "Տեղադրել"
+ "Չեղարկել"
+ "Ջնջել"
+ "Ձեր բջջային սարքում ընտրված լեզվով առկա է բառարան:
Խորհուրդ ենք տալիս <b>ներբեռնել</b> %1$s բառարանը ձեր մուտքագրման հմտությունների բարելավման համար:<br/> <br/> Ներբեռնումը կարող է խլել մեկ կամ երկու րոպե 3G-ի դեպքում: Հնարավոր է գանձում կատարվի, եթե դուք չունեք <b>տվյալների անսահմանափակ փաթեթ</b>.<br/> Եթե դուք վստահ չեք, թե տվյալների որ փաթեթն ունեք, խորհուրդ ենք տալիս գտնել Wi-Fi կապ՝ ներբեռնումն ավտոմատ սկսելու համար:<br/> <br/> Հուշում. դուք կարող եք ներբեռնել և հեռացնել բառարաններ՝ գնալով ձեր բջջային սարքի <b>Կարգավորումներ ցանկի Լեզու & մուտքագրման</b> բաժինը:"
+ "Ներբեռնել հիմա (%1$.1fՄբ)"
+ "Ներբեռնել Wi-Fi-ով"
+ "%1$s-ով առկա է մի բառարան"
+ "Սեղմեք՝ վերանայելու և ներբեռնելու համար"
+ "Ներբեռնվում է. %1$s-ի համար առաջարկները շուտով պատրաստ կլինեն:"
+ "Տարբերակ %1$s"
+ "Ավելացնել"
+ "Ավելացնել բառարանում"
+ "Արտահայտություն"
+ "Այլ ընտրանքներ"
+ "Սակավ ընտրանքներ"
+ "Լավ"
+ "Բառը՝"
+ "Դյուրանցումը՝"
+ "Lեզուն՝"
+ "Մուտքագրեք բառը"
+ "Ընտրովի դյուրանցում"
+ "Խմբագրել բառը"
+ "Խմբագրել"
+ "Ջնջել"
+ "Դուք չունեք ոչ մի բառ օգտվողի բառարանում: Ավելացնել բառեր՝ հպելով Ավելացնել (+) կոճակը:"
+ "Բոլոր լեզուներով"
+ "Ավելի շատ լեզուներով..."
+ "Ջնջել"
+ " ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՈՒՓՔԵւՕՖ"
+
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 000000000..26f32254d
--- /dev/null
+++ b/java/res/values-in/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Buka"
+ "Lanjut"
+ "Balik"
+ "Beres"
+ "Kirim"
+ "Jeda"
+ "Tunggu"
+
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index bfbd2a700..d83a22c6c 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -74,20 +74,11 @@
"Pratinjau mengambang dinamis"
"Lihat kata yang disarankan saat melakukan isyarat"
"%s : Telah disimpan"
- "Buka"
- "Berikutnya"
- "Sblm"
- "Selesai"
- "Kirimkan"
- "Jeda"
- "Tunggu"
"Pasang headset untuk mendengar tombol sandi yang diucapkan dengan keras."
"Teks saat ini adalah %s"
"Tidak ada teks yang dimasukkan"
-
-
-
-
+ "%1$s mengoreksi %2$s menjadi %3$s"
+ "%1$s melakukan koreksi otomatis"
"Kode tombol %d"
"Shift"
"Shift hidup (ketuk untuk mematikan)"
@@ -156,6 +147,9 @@
"Abjad (Colemak)"
"Abjad (PC)"
"Emoji"
+ "Skema warna"
+ "Putih"
+ "Biru"
"Gaya masukan khusus"
"Tambah gaya"
"Tambahkan"
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 000000000..49c6199c5
--- /dev/null
+++ b/java/res/values-is/strings-action-keys.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ "Áfram"
+ "Næsta"
+ "Fyrra"
+ "Lokið"
+ "Senda"
+
+
+
+
+
diff --git a/java/res/values-is/strings.xml b/java/res/values-is/strings.xml
new file mode 100644
index 000000000..6f685d395
--- /dev/null
+++ b/java/res/values-is/strings.xml
@@ -0,0 +1,455 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 000000000..02e7b9c94
--- /dev/null
+++ b/java/res/values-it/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Vai"
+ "Succ."
+ "Prec."
+ "Fine"
+ "Invia"
+ "Pausa"
+ "Attendi"
+
diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml
index 6989643af..1111c4901 100644
--- a/java/res/values-it/strings.xml
+++ b/java/res/values-it/strings.xml
@@ -62,7 +62,7 @@
"Non suggerire parole potenzialmente offensive"
"Correzione automatica"
"Barra spaziatrice/punteggiatura correggono parole con errori"
- "Off"
+ "OFF"
"Media"
"Molto elevata"
"Massima"
@@ -74,20 +74,11 @@
"Anteprima mobile dinamica"
"Visualizza la parola suggerita durante il gesto"
"%s : parola salvata"
- "Vai"
- "Avanti"
- "Indietro"
- "Fine"
- "Invia"
- "Pausa"
- "Attesa"
"Collega gli auricolari per ascoltare la pronuncia dei tasti premuti per la password."
"Il testo attuale è %s"
"Nessun testo inserito"
-
-
-
-
+ "%1$s corregge %2$s con %3$s"
+ "%1$s esegue correzione automatica"
"Codice tasto %d"
"Maiuscolo"
"Maiuscolo attivo (tocca per disattivare)"
@@ -128,7 +119,7 @@
"Tasto input vocale"
"Su tastiera principale"
"Su tastiera simboli"
- "Non attivo"
+ "OFF"
"Microfono su tastiera principale"
"Microfono su tastiera simboli"
"Input vocale disatt."
@@ -156,6 +147,9 @@
"Alfabeto (Colemak)"
"Alfabeto (PC)"
"Emoji"
+ "Combinazione di colori"
+ "Bianco"
+ "Blu"
"Stili personalizzati"
"Aggiungi stile"
"Aggiungi"
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 000000000..f0f466b8e
--- /dev/null
+++ b/java/res/values-iw/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "התחל"
+ "הבא"
+ "הקודם"
+ "בוצע"
+ "שלח"
+ "השהה"
+ "המתן"
+
diff --git a/java/res/values-iw/strings-appname.xml b/java/res/values-iw/strings-appname.xml
index 1a07c5492..fc040f9ff 100644
--- a/java/res/values-iw/strings-appname.xml
+++ b/java/res/values-iw/strings-appname.xml
@@ -20,8 +20,8 @@
- "מקלדת Android (AOSP)"
- "בודק האיות של Android (AOSP)"
- "הגדרות מקלדת Android (AOSP)"
- "הגדרות בודק האיות של Android (AOSP)"
+ "מקלדת Android (AOSP)"
+ "בודק האיות של Android (AOSP)"
+ "הגדרות מקלדת Android (AOSP)"
+ "הגדרות בודק האיות של Android (AOSP)"
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
index b3ee01410..8d02e685b 100644
--- a/java/res/values-iw/strings.xml
+++ b/java/res/values-iw/strings.xml
@@ -38,7 +38,7 @@
"מתג החלפת שפה"
"הצג כאשר ניתן להשתמש בשפות קלט מרובות"
"הצג את סמן ההסטה"
- "הצג סימון ויזואלי בעת הסטה מ-Shift או ממקשי סמלים"
+ "הצג סימון ויזואלי בעת הסטה מ-Shift או ממקשי סמלים"
"עיכוב בסגירת חלון קופץ של מקש"
"ללא עיכוב"
"ברירת מחדל"
@@ -74,24 +74,15 @@
"תצוגה צפה דינמית"
"ראה את המילה המוצעת תוך כדי הזזת האצבע"
"%s : נשמרה"
- "התחל"
- "הבא"
- "הקודם"
- "בוצע"
- "שלח"
- "השהה"
- "המתן"
"חבר אוזניות כדי לשמוע הקראה של מפתחות סיסמה."
- "הטקסט הנוכחי הוא %s"
+ "הטקסט הנוכחי הוא %s"
"לא הוזן טקסט"
-
-
-
-
- "קוד מקש %d"
+ "%1$s מתקן את %2$s ל-%3$s"
+ "%1$s מבצע תיקון אוטומטי"
+ "קוד מקש %d"
"Shift"
- "Shift פועל (הקש כדי להשבית)"
- "Caps Lock פועל (הקש כדי להשבית)"
+ "Shift פועל (הקש כדי להשבית)"
+ "Caps Lock פועל (הקש כדי להשבית)"
"מחק"
"סמלים"
"אותיות"
@@ -107,9 +98,9 @@
"החלף שפה"
"הבא"
"הקודם"
- "Shift פועל"
- "Caps Lock פועל"
- "Shift מושבת"
+ "Shift פועל"
+ "Caps Lock פועל"
+ "Shift מושבת"
"מצב סמלים"
"מצב אותיות"
"מצב טלפון"
@@ -149,13 +140,16 @@
"ספרדית (ארצות הברית) (%s)"
"%s (מסורתית)"
"ללא שפה (אלף-בית)"
- "אלף-בית (QWERTY)"
- "אלף-בית (QWERTZ)"
- "אלף-בית (AZERTY)"
- "אלף-בית (Dvorak)"
- "אלף-בית (Colemak)"
- "אלף-בית (PC)"
+ "אלף-בית (QWERTY)"
+ "אלף-בית (QWERTZ)"
+ "אלף-בית (AZERTY)"
+ "אלף-בית (Dvorak)"
+ "אלף-בית (Colemak)"
+ "אלף-בית (PC)"
"אמוג\'י"
+ "ערכת צבעים"
+ "לבן"
+ "כחול"
"סגנונות קלט מותאמים אישית"
"הוסף סגנון"
"הוסף"
@@ -219,9 +213,9 @@
"התקן"
"בטל"
"מחק"
- "לשפה הנבחרת במכשיר הנייד שלך יש מילון זמין.<br/> אנו ממליצים <b>להוריד</b> את המילון ב%1$s כדי לשפר את חוויית ההקלדה.<br/> <br/> ההורדה עשויה לארוך דקה או שתיים ב-3G. ייתכן שתחויב אם אין לך <b>תוכנית נתונים בלתי מוגבלת</b>.<br/> אם אינך בטוח איזו תוכנית נתונים יש לך, אנו ממליצים לחפש חיבור Wi-Fi כדי להתחיל בהורדה באופן אוטומטי.<br/> <br/> טיפ: ניתן להוריד ולהסיר מילונים ב<b>שפה וקלט</b> בתפריט <b>הגדרות</b> של המכשיר הנייד שלך."
- "הורד עכשיו (%1$.1fMB)"
- "הורד באמצעות Wi-Fi"
+ "לשפה הנבחרת במכשיר הנייד שלך יש מילון זמין.<br/> אנו ממליצים <b>להוריד</b> את המילון ב%1$s כדי לשפר את חוויית ההקלדה.<br/> <br/> ההורדה עשויה לארוך דקה או שתיים ב-3G. ייתכן שתחויב אם אין לך <b>תכנית נתונים בלתי מוגבלת</b>.<br/> אם אינך בטוח איזו תכנית נתונים יש לך, אנו ממליצים לחפש חיבור Wi-Fi כדי להתחיל בהורדה באופן אוטומטי.<br/> <br/> טיפ: ניתן להוריד ולהסיר מילונים ב<b>שפה וקלט</b> בתפריט <b>הגדרות</b> של המכשיר הנייד שלך."
+ "הורד עכשיו (%1$.1fMB)"
+ "הורד באמצעות Wi-Fi"
"יש מילון זמין עבור %1$s"
"לחץ כדי לעיין ולהוריד"
"מוריד: הצעות ב%1$s יהיו מוכנות בקרוב."
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 000000000..68aa6479e
--- /dev/null
+++ b/java/res/values-ja/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "実行"
+ "次へ"
+ "前へ"
+ "完了"
+ "送信"
+ "停止"
+ "待機"
+
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
index 37f06377e..fbfd3b7f7 100644
--- a/java/res/values-ja/strings.xml
+++ b/java/res/values-ja/strings.xml
@@ -50,7 +50,7 @@
"スペースバーをダブルタップするとピリオドとスペースを挿入できます"
"自動大文字変換"
"英字入力で各文の最初の単語を大文字にします"
- "ユーザー辞書"
+ "単語リスト"
"アドオン辞書"
"メイン辞書"
"修正候補を表示する"
@@ -74,20 +74,11 @@
"動的フローティングプレビュー"
"ジェスチャーで入力候補を表示できます"
"%s:保存しました"
- "実行"
- "次へ"
- "前へ"
- "完了"
- "送信"
- "停止"
- "待機"
"パスワードのキーが音声出力されるのでヘッドセットを接続してください。"
"現在のテキスト:%s"
"テキストが入力されていません"
-
-
-
-
+ "%1$sは%2$sを%3$sに修正します"
+ "%1$sで自動修正が実行されます"
"キーコード:%d"
"Shift"
"Shift有効(タップして解除)"
@@ -156,6 +147,9 @@
"アルファベット(Colemak)"
"アルファベット(PC)"
"絵文字"
+ "カラーパターン"
+ "白"
+ "青"
"カスタム入力スタイル"
"スタイル追加"
"追加"
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 000000000..e2dd05f7b
--- /dev/null
+++ b/java/res/values-ka-rGE/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "გად."
+ "შემდ."
+ "წინა"
+ "დასრ."
+ "გაგზ."
+ "პაუზა"
+ "მოცდა"
+
diff --git a/java/res/values-ka-rGE/strings.xml b/java/res/values-ka-rGE/strings.xml
index 193f5115d..dec6b3a6b 100644
--- a/java/res/values-ka-rGE/strings.xml
+++ b/java/res/values-ka-rGE/strings.xml
@@ -74,20 +74,11 @@
"დინამიურად მოლივლივე გადახედვა"
"ჟესტიკულაციისას შეთავაზებული სიტყვის ნახვა"
"%s : შეინახა"
- "წასვლა"
- "შემდ."
- "წინა"
- "დასრულდა"
- "გაგზ."
- "პაუზა"
- "მოცდა"
"შეაერთეთ ყურსაცვამი, რათა მოისმინოთ აკრეფილი პაროლის კლავიშების სახელები."
"მიმდინარე ტექსტი არის %s"
"ტექსტი არ შეყვანილა"
-
-
-
-
+ "%1$s შეასწორებს %2$s-ს %3$s-ად"
+ "%1$s ასრულებს ავტოკორექციას"
"კლავიატურის კოდი %d"
"Shift"
"Shift ჩართულია (შეეხეთ გამოსართავად)"
@@ -156,6 +147,9 @@
"ანბანი (Colemak)"
"ანბანი (PC)"
"სიცილაკები"
+ "ფერის სქემა"
+ "თეთრი"
+ "ლურჯი"
"შეყვანის სტილების კონფიგურაცია"
"სტილის დამატება"
"დამატება"
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 000000000..95c84a2ca
--- /dev/null
+++ b/java/res/values-kk/strings-action-keys.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ "Өту"
+ "Келесі"
+ "Алдағы"
+ "Дайын"
+ "Жіберу"
+ "Тоқтата тұру"
+ "Күту"
+
diff --git a/java/res/values-kk/strings.xml b/java/res/values-kk/strings.xml
new file mode 100644
index 000000000..947ff2fe9
--- /dev/null
+++ b/java/res/values-kk/strings.xml
@@ -0,0 +1,243 @@
+
+
+
+
+ "Енгізу опциялары"
+ "Журнал пәрмендерін зерттеу"
+ "Контакт аттарын іздеу"
+ "Емлені тексеру құралы контактілер тізімінің жазбаларын пайдаланады"
+ "Пернені басқан кездегі діріл"
+ "Пернені басу кезіндегі дыбыс"
+ "Пернені басқан кездегі ашылмалы мәзір"
+ "Жалпы"
+ "Мәтін түзетпесі"
+ "Қимылмен теру"
+ "Басқа опциялар"
+ "Қосымша параметрлер"
+ "Сарапшылар опциялары"
+ "Басқа енгізу әдістеріне ауыстырыңыз"
+ "Тілді ауыстыру пернесі басқа енгізу әдістерін де қамтиды"
+ "Тілді ауыстыру пернесі"
+ "Бірнеше енгізу тілдері қосылған кезде көрсету"
+ "Жылжыту индикаторын көрсету"
+ "Shift немесе Таңба пернелерінен жылжыту кезіндегі көрнекі сөзкөмекті көрсету"
+ "Перненің ашылмалы мәзірі кідірісті жояды"
+ "Кідіріс жоқ"
+ "Әдепкі"
+ "%sмс"
+ "Жүйе әдепкісі"
+ "Контакт аттарын ұсыну"
+ "Ұсыныстар мен түзетулер үшін контакт аттарын пайдалану"
+ "Қос бос орын кезеңі"
+ "Бос орынға екі рет түрту бос орыннан кейінгі кезеңді енгізеді"
+ "Авто бас әріптерге түрлендіру"
+ "Әрбір сөйлемнің бірінші әріпін бас әріпке түрлендіру"
+ "Жеке сөздік"
+ "Қосымша сөздіктер"
+ "Негізгі сөздік"
+ "Түзету ұсыныстарын көрсету"
+ "Теру кезінде ұсынылған сөздерді көрсету"
+ "Үнемі көрсету"
+ "Портрет режимінде көрсету"
+ "Үнемі жасыру"
+ "Қорлаушы сөздерді құлыптамау"
+ "Қорлаушы сөздерді ұсынбау"
+ "Авто түзету"
+ "Бос орын және тыныс белгі автоматты түрде қателерді түзетеді"
+ "Өшірулі"
+ "Баяу"
+ "Белсенді"
+ "Өте белсенді"
+ "Келесі сөз ұсыныстары"
+ "Ұсыныстар жасауда бастапқы сөзді пайдалану"
+ "Қимылмен теруді қосу"
+ "Әріптерді жанап өту арқылы сөзді енгізу"
+ "Қимыл қадамын көрсету"
+ "Динамикалық қалқымалы қарап шығу"
+ "Қимылдау кезінде ұсынылған сөзді көру"
+ "%s : Сақталды"
+ "Дауыспен айтылатын құпия сөз кілттерін есту үшін құлақаспап қосыңыз."
+ "Ағымдағы мәтін - %s"
+ "Мәтін енгізілмеген"
+
+
+
+
+ "Перне коды %d"
+ "Shift"
+ "Shift қосулы (өшіру үшін түрту)"
+ "Caps lock қосулы (өшіру үшін түрту)"
+ "Жою"
+ "Таңбалар"
+ "Әріптер"
+ "Сандар"
+ "Баптаулар"
+ "Tab"
+ "Бос орын"
+ "Дауыстық енгізу"
+ "Жымиған жүз"
+ "Қалпына келтіру"
+ "Іздеу"
+ "Нүкте"
+ "Тілді ауыстыру"
+ "Келесі"
+ "Алдағы"
+ "Shift қосылған"
+ "Caps lock қосылған"
+ "Shift өшірілген"
+ "Таңбалар режимі"
+ "Әріптер режимі"
+ "Телефон режимі"
+ "Телефон таңбалары режимі"
+ "Пернетақта жасырылған"
+ "Көрсетілетін %s пернетақтасы"
+ "күн"
+ "күн мен уақыт"
+ "электрондық пошта"
+ "хабар алмасу"
+ "нөмір"
+ "телефон"
+ "мәтін"
+ "уақыт"
+ "URL"
+ "Дауыстық енгізу пернесі"
+ "Негізгі пернетақтада"
+ "Таңбалар пернетақтасында"
+ "Өшірулі"
+ "Негізгі пернетақтадағы Mic"
+ "Таңбалар пернетақтасындағы Mic"
+ "Дауыстық енгізу өшірілген"
+ "Енгізу әдістерін теңшеу"
+ "Енгізу тілдері"
+ "Кері байланыс жіберу"
+ "Енгізу тілдері"
+ "Сақтау үшін қайта түртіңіз"
+ "Сөздік қолжетімді"
+ "Пайдаланушының кері байланысын қосу"
+ "Қолданыс статистикасын және бұзылыс есептерін автоматты түрде жіберу арқылы осы енгізу әдісінің редакторын арттыруға көмектесу"
+ "Пернетақта тақырыбы"
+ "ағылшын (ҰБ)"
+ "ағылшын (АҚШ)"
+ "Испан (АҚШ)"
+ "ағылшын (ҰБ) (%s)"
+ "ағылшын (АҚШ) (%s)"
+ "Испан (АҚШ) (%s)"
+
+
+ "Тіл жоқ (әліпби)"
+ "Әліпби (QWERTY)"
+ "Әліпби (QWERTZ)"
+ "Әліпби (AZERTY)"
+ "Әліпби (Dvorak)"
+ "Әліпби (Colemak)"
+ "Әліпби (ДК)"
+
+
+ "Реттелетін енгізу стильдері"
+ "Стиль қосу"
+ "Қосу"
+ "Аластау"
+ "Сақтау"
+ "Тіл"
+ "Пішім"
+ "Реттелетін енгізу стилі пайдалануды бастамас бұрын қосылуы қажет. Оны қазір қосу қажет пе?"
+ "Қосу"
+ "Қазір емес"
+ "Бірдей енгізу стилі бұрыннан бар: %s"
+ "Қолайлылықты зерттеу режимі"
+ "Пернені ұзақ басу кідірісі"
+ "Пернені басқан кездегі діріл ұзақтығы"
+ "Пернені басқан кездегі дыбыс деңгейі"
+ "Сыртқы сөздік файлын оқу"
+ "Жүктеп алулар қалтасында сөздік файлдары жоқ"
+ "Орнату үшін сөздік файлын таңдау"
+ "%s үшін осы файлды орнату қажет пе?"
+ "Қате болды"
+ "Әдепкі"
+ "%s қолданбасына қош келдіңіз"
+ "Қимылмен теру арқылы"
+ "Іске қосылды"
+ "Келесі қадам"
+ "%s орнату"
+ "%s қосу"
+ "Тіл & енгізу параметрлерінде %s тексеріңіз. Бұл оған құрылғыңызды басқаруға рұқсат береді."
+ "%s қолданбасы әлдеқашан Тіл & енгізу параметрлерінде қосылған, сол себепті бұл қадам орындалған.Келесі біреуін қосыңыз!"
+ "Параметрлер ішінде қосу"
+ "%s қолданбасына ауыстыру"
+ "Одан кейін \"%s\" қолданбасын белсенді мәтінді енгізу әдісі ретінде таңдаңыз."
+ "Енгізу әдістерін ауыстыру"
+ "Құттықтаймыз, барлығы дайын!"
+ "Қазір барлық таңдаулы қолданбаларда %s арқылы теруге болады."
+ "Қосымша тілдерді теңшеу"
+ "Аяқталған"
+ "Қолданба белгішесін көрсету"
+ "Іске қосу құралындағы қолданба белгішесін көрсету"
+ "Сөздік провайдері"
+ "Сөздік провайдері"
+ "Сөздік қызметі"
+ "Сөздікті жаңарту ақпараты"
+ "Қосымша сөздіктер"
+ "Сөздік қолжетімді"
+ "Сөздіктер параметрлері"
+ "Пайдаланушы сөздіктері"
+ "Пайдаланушы сөздігі"
+ "Сөздік қолжетімді"
+ "Ағымда жүктеп алынуда"
+ "Орнатылған"
+ "Орнатылған, өшірілген"
+ "Сөздік қызметіне қосылу мәселесі"
+ "Сөздіктер қолжетімсіз"
+ "Жаңарту"
+ "Соңғы жаңартылған"
+ "Жаңартуларды тексеру"
+ "Жүктелуде..."
+ "Негізгі сөздік"
+ "Болдырмау"
+ "Орнату"
+ "Болдырмау"
+ "Жою"
+ "Ұялы құрылғыдағы таңдалған тілде қолжетімді сөздік бар.<br/> Теру тәжірибесін арттыру үшін %1$s сөздігін <b>жүктеп алуды</b> ұсынамыз.<br/> <br/> Жүктеп алу 3G арқылы бір немесе екі минут алуы мүмкін. Егер <b>шектеусіз деректер жоспары</b> болмаса, қосымша төлем алынуы мүмкін.<br/> Егер қай дерек жоспарына ие екеніңізді білмесеңіз, жүктеп алуды автоматты түрде бастау үшін Wi-Fi байланысын табуды ұсынамыз.<br/> <br/> Кеңес: Ұялы құрылғының <b>Параметрлер</b> мәзіріндегі <b>Тіл & енгізу</b> параметріне өту арқылы сөздіктерді жүктеп алуға және жоюға болады."
+ "Қазір жүктеп алу (%1$.1fМБ)"
+ "Wi-Fi арқылы жүктеп алу"
+ "%1$s үшін сөздік қолжетімді"
+ "Қарап шығу және жүктеп алу үшін басу"
+ "Жүктеп алу: %1$s ұсыныстары жақында дайын болады."
+ "%1$s нұсқасы"
+ "Қосу"
+ "Сөздікке қосу"
+ "Фраза"
+ "Басқа талғаулар"
+ "Аз опциялар"
+ "Жарайды"
+ "Сөз:"
+ "Пернелер тіркесімі:"
+ "Тіл:"
+ "Сөзді теру"
+ "Қосымша пернелер тіркесімі"
+ "Сөзді өңдеу"
+ "Өңдеу"
+ "Жою"
+ "Пайдаланушы сөздігінде сөздер жоқ. Қосу (+) түймесін басу арқылы сөзді қосыңыз."
+ "Барлық тілдер үшін"
+ "Қосымша тілдер…"
+ "Жою"
+ " АӘБВГҒДЕЁЖЗИЙКҚЛМНҢОӨПРСТУҰҮФХҺЦЧШЩЪЫІЬЭЮЯ"
+
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 000000000..ff747d9f5
--- /dev/null
+++ b/java/res/values-km-rKH/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "ទៅ"
+ "បន្ទាប់"
+ "មុន"
+ "រួចរាល់"
+ "ផ្ញើ"
+ "ផ្អាក"
+ "រង់ចាំ"
+
diff --git a/java/res/values-km-rKH/strings-appname.xml b/java/res/values-km-rKH/strings-appname.xml
new file mode 100644
index 000000000..e7b27072e
--- /dev/null
+++ b/java/res/values-km-rKH/strings-appname.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ "ក្ដារចុច Android (AOSP)"
+ "កម្មវិធីពិនិត្យអក្ខរាវិរុទ្ធ Android (AOSP)"
+ "ការកំណត់ក្ដារចុច Android (AOSP)"
+ "កំណត់កម្មវិធីពិនិត្យអក្ខរាវិរុទ្ធសម្រាប់ Android (AOSP)"
+
diff --git a/java/res/values-km-rKH/strings.xml b/java/res/values-km-rKH/strings.xml
new file mode 100644
index 000000000..86ecc5e10
--- /dev/null
+++ b/java/res/values-km-rKH/strings.xml
@@ -0,0 +1,242 @@
+
+
+
+
+ "ជម្រើសបញ្ចូល"
+ "ពាក្យបញ្ជាកំណត់ហេតុការស្រាវជ្រាវ"
+ "រកមើលឈ្មោះទំនាក់ទំនង"
+ "កម្មវិធីពិនិត្យអក្ខរាវិរុទ្ធប្រើធាតុពីក្នុងបញ្ជីទំនាក់ទំនងរបស់អ្នក"
+ "ញ័រនៅពេលចុចគ្រាប់ចុច"
+ "សំឡេងនៅពេលចុចគ្រាប់ចុច"
+ "លេចឡើងនៅពេលចុចគ្រាប់ចុច"
+ "ទូទៅ"
+ "ការកែអត្ថបទ"
+ "បញ្ចូលដោយប្រើកាយវិការ"
+ "ជម្រើសផ្សេងទៀត"
+ "ការកំណត់កម្រិតខ្ពស់"
+ "ជម្រើសសម្រាប់អ្នកជំនាញ"
+ "ប្ដូរទៅវិធីសាស្ត្របញ្ចូលផ្សេងទៀត"
+ "គ្រាប់ចុចប្ដូរភាសាតាមវិធីសាស្ត្របញ្ចូលផ្សេងទៀត"
+ "គ្រាប់ចុចប្ដូរភាសា"
+ "បង្ហាញនៅពេលដែលបើកភាសាបញ្ចូលច្រើន"
+ "បង្ហាញទ្រនិចបង្ហាញស្លាយ"
+ "បង្ហាញសញ្ញាមើលឃើញខណៈពេលដែលរុញពីឆ្វេង ឬគ្រាប់ចុចនិមិត្តសញ្ញា"
+ "សោលេចឡើងបោះបង់ការពន្យារពេល"
+ "គ្មានការពន្យារពេល"
+ "លំនាំដើម"
+ "%s មិល្លីវិនាទី"
+ "លំនាំដើមប្រព័ន្ធ"
+ "ស្នើឈ្មោះទំនាក់ទំនង"
+ "ប្រើឈ្មោះពីទំនាក់ទំនងសម្រាប់ការស្នើ និងកែ"
+ "រយៈពេលចុចដកឃ្លាពីរដង"
+ "ប៉ះដកឃ្លាពីរដងបញ្ចូលរយៈពេលដែលអនុវត្តតាមដកឃ្លា"
+ "ការសរសេរជាអក្សរធំស្វ័យប្រវត្តិ"
+ "សរសេរពាក្យដំបូងជាអក្សរធំនៃប្រយោគនីមួយៗ"
+ "វចនានុក្រមផ្ទាល់ខ្លួន"
+ "ផ្នែកបន្ថែមវចនានុក្រម"
+ "វចនានុក្រមចម្បង"
+ "បង្ហាញការស្នើកែ"
+ "បង្ហាញពាក្យបានផ្ដល់ស្នើខណៈពេលវាយបញ្ចូល"
+ "បង្ហាញជានិច្ច"
+ "បង្ហាញនៅក្នុងរបៀបបញ្ឈរ"
+ "លាក់ជានិច្ច"
+ "ទប់ស្កាត់ពាក្យបំពាន"
+ "កុំស្នើឲ្យពាក្យបំពានមានសក្ដានុពល"
+ "ការកែស្វ័យប្រវត្តិ"
+ "ចន្លោះមិនឃើញ និងសញ្ញាវណ្ណយុត្តកែពាក្យដែលបានវាយខុសស្វ័យប្រវត្តិ"
+ "បិទ"
+ "ល្មម"
+ "បំពាន"
+ "បំពានខ្លាំង"
+ "ការស្នើពាក្យបន្ទាប់"
+ "ប្រើពាក្យមុននៅពេលធ្វើការស្នើ"
+ "បើកការបញ្ចូលកាយវិការ"
+ "បញ្ចូលពាក្យដោយរំកិលតាមអក្សរ"
+ "បង្ហាញដានកាយវិការ"
+ "មើលការអណ្ដែតដែលមានចលនាជាមុន"
+ "មើលពាក្យដែលបានស្នើខណៈពេលកំពុងធ្វើកាយវិការ"
+ "បានរក្សាទុក %s ៖"
+ "ដោតកាស ដើម្បីស្ដាប់ពាក្យសម្ងាត់។"
+ "អត្ថបទបច្ចុប្បន្នគឺ %s"
+ "គ្មានអត្ថបទបានបញ្ចូល"
+ "%1$s កែ %2$s ទៅ %3$s"
+ "%1$s អនុវត្តការកែដោយស្វ័យប្រវត្តិ"
+ "កូដគ្រាប់ចុច %d"
+ "Shift"
+ "បើក Shift (ប៉ះដើម្បីបិទ)"
+ "បើក Caps lock (ប៉ះដើម្បីបិទ)"
+ "Delete"
+ "និមិត្តសញ្ញា"
+ "អក្សរ"
+ "លេខ"
+ "ការកំណត់"
+ "Tab"
+ "ដកឃ្លា"
+ "បញ្ចូលសំឡេង"
+ "មុខញញឹម"
+ "Return"
+ "ស្វែងរក"
+ "Dot"
+ "ប្ដូរភាសា"
+ "បន្ទាប់"
+ "មុន"
+ "បានបើក Shift"
+ "បានបើក Caps lock"
+ "បានបិទ Shift"
+ "របៀបនិមិត្តសញ្ញា"
+ "របៀបអក្សរ"
+ "របៀបទូរស័ព្ទ"
+ "របៀបនិមិត្តសញ្ញាទូរស័ព្ទ"
+ "បានលាក់ក្ដារចុច"
+ "បង្ហាញក្ដារចុច %s"
+ "កាលបរិច្ឆេទ"
+ "កាលបរិច្ឆេទ និងពេលវេលា"
+ "អ៊ីមែល"
+ "ផ្ញើសារ"
+ "លេខ"
+ "ទូរស័ព្ទ"
+ "អត្ថបទ"
+ "ពេលវេលា"
+ "URL"
+ "គ្រាប់ចុចបញ្ចូលសំឡេង"
+ "នៅលើក្ដារចុចចម្បង"
+ "នៅលើក្ដារចុចនិមិត្តសញ្ញា"
+ "បិទ"
+ "មីក្រូហ្វូននៅលើក្ដារចុចចម្បង"
+ "មីក្រូហ្វូននៅលើក្ដារចុចនិមិត្តសញ្ញា"
+ "បានបិទការបញ្ចូលសំឡេង"
+ "កំណត់រចនាសម្ព័ន្ធវិធីសាស្ត្របញ្ចូល"
+ "បញ្ចូលភាសា"
+ "ផ្ញើមតិអ្នកប្រើ"
+ "បញ្ចូលភាសា"
+ "ប៉ះម្ដងទៀត ដើម្បីរក្សាទុក"
+ "មានវចនានុក្រម"
+ "បើកមតិត្រឡប់"
+ "ជំនួយធ្វើឲ្យប្រសើរឡើងនៃកម្មវិធីកែវិធីសាស្ត្របញ្ចូលដោយស្វ័យប្រវត្តិ ដោយផ្ញើស្ថិតិប្រើប្រាស់ និងរបាយការណ៍គាំង"
+ "រូបរាងក្ដារចុច"
+ "អង់គ្លេស (អង់គ្លេស)"
+ "អង់គ្លេស (សហរដ្ឋអាមេរិក)"
+ "អេស្ប៉ាញ (សហរដ្ឋអាមេរិក)"
+ "អង់គ្លេស (ចក្រភពអង់គ្លេស) (%s)"
+ "អង់គ្លេស (អាមេរិក) (%s)"
+ "អេស្ប៉ាញ (អាមេរិក) ( %s )"
+ "%s (អក្សរពេញ)"
+ "គ្មានភាសា (អក្សរក្រម)"
+ "តាមលំដាប់អក្សរក្រម (QWERTY)"
+ "តាមលំដាប់អក្សរក្រម (QWERTZ)"
+ "តាមលំដាប់អក្សរក្រម (AZERTY)"
+ "តាមលំដាប់អក្សរក្រម (Dvorak)"
+ "តាមលំដាប់អក្សរក្រម (Colemak)"
+ "តាមលំដាប់អក្សរក្រម (កុំព្យូទ័រ)"
+ "សញ្ញាអារម្មណ៍"
+ "ពណ៌ចម្រុះ"
+ "ស"
+ "ខៀវ"
+ "រចនាប័ទ្មបញ្ចូលផ្ទាល់ខ្លួន"
+ "បន្ថែមរចនាប័ទ្ម"
+ "បន្ថែម"
+ "លុបចេញ"
+ "រក្សាទុក"
+ "ភាសា"
+ "ប្លង់"
+ "ចាំបាច់ត្រូវបើករចនាប័ទ្មបញ្ចូលផ្ទាល់ខ្លួនរបស់អ្នក មុនពេលអ្នកចាប់ផ្ដើមប្រើវា។ តើអ្នកចង់បើកវាឥឡូវនេះឬ?"
+ "បើក"
+ "មិនមែនឥឡូវ"
+ "មានរចនាប័ទ្មបញ្ចូលដូចគ្នាដូចហើយ៖ %s"
+ "របៀបការសិក្សាដែលអាចប្រើបាន"
+ "ពន្យារពេលចុចគ្រាប់ចុចឲ្យយូរ"
+ "ថិរវេលាញ័រពេលចុចគ្រាប់ចុច"
+ "កម្រិតសំឡេងពេលចុចគ្រាប់ចុច"
+ "អានឯកសារវចនានុក្រមខាងក្រៅ"
+ "គ្មានឯកសារវចនានុក្រមនៅក្នុងថតទាញយក"
+ "ជ្រើសឯកសារវចនានុក្រម ដើម្បីដំឡើង"
+ "ពិតជាដំឡើងឯកសារនេះសម្រាប់ %s ឬ?"
+ "មានកំហុស"
+ "លំនាំដើម"
+ "សូមស្វាគមន៍មកកាន់ %s"
+ "ជាមួយការវាយបញ្ចូលដោយប្រើកាយវិការ"
+ "បានចាប់ផ្ដើម"
+ "ជំហានបន្ទាប់"
+ "រៀបចំ %s"
+ "បើក %s"
+ "សូមពិនិត្យ \"%s\" នៅក្នុងការកំណត់ភាសា & និងការបញ្ចូលរបស់អ្នក។ វានឹងដំណើរការនៅលើឧបករណ៍របស់អ្នក។"
+ "%sបានបើកនៅក្នុងការកំណត់ភាសា & ការបញ្ចូលរបស់ ដូច្នេះជំហាននេះរួចរាល់ហើយ។ បន្តទៅជំហានបន្ទាប់!"
+ "បើកនៅក្នុងការកំណត់"
+ "ប្ដូរទៅ %s"
+ "បន្ទាប់ ជ្រើស \"%s\" ជាវិធីសាស្ត្របញ្ចូលអត្ថបទសកម្មរបស់អ្នក។"
+ "ប្ដូរវិធីសាស្ត្របញ្ចូល"
+ "សូមអបអរសាទរ, អ្នកបានកំណត់រួចរាល់ហើយ!"
+ "ឥឡូវអ្នកអាចវាយបញ្ចូលនៅក្នុងកម្មវិធីពេញចិត្តរបស់អ្នកទាំងអស់ជាមួយ %s ។"
+ "កំណត់រចនាសម្ព័ន្ធភាសាបន្ថែម"
+ "បានបញ្ចប់"
+ "បង្ហាញរូបតំណាងកម្មវិធី"
+ "បង្ហាញរូបតំណាងកម្មវិធីនៅក្នុងកម្មវិធីចាប់ផ្ដើម"
+ "កម្មវិធីផ្ដល់វចនានុក្រម"
+ "កម្មវិធីផ្ដល់វចនានុក្រម"
+ "សេវាកម្មវចនានុក្រម"
+ "ព័ត៌មានបច្ចុប្បន្នភាពវចនានុក្រម"
+ "ផ្នែកបន្ថែមវចនានុក្រម"
+ "វចនានុក្រមអាចប្រើបាន"
+ "ការកំណត់សម្រាប់វចនានុក្រម"
+ "វចនានុក្រមអ្នកប្រើ"
+ "វចនានុក្រមអ្នកប្រើ"
+ "វចនានុក្រមអាចប្រើបាន"
+ "បច្ចុប្បន្នកំពុងទាញយក"
+ "បានដំឡើង"
+ "បានដំឡើង បានបិទ"
+ "មានបញ្ហាក្នុងការភ្ជាប់ទៅសេវាកម្មវចនានុក្រម"
+ "គ្មានវចនានុក្រម"
+ "ផ្ទុកឡើងវិញ"
+ "បានធ្វើបច្ចុប្បន្នភាពចុងក្រោយ"
+ "ពិនិត្យមើលបច្ចុប្បន្នភាព"
+ "កំពុងផ្ទុក..."
+ "វចនានុក្រមចម្បង"
+ "បោះបង់"
+ "ដំឡើង"
+ "បោះបង់"
+ "លុប"
+ "ភាសាដែលបានជ្រើសនៅលើឧបករណ៍របស់អ្នកមានវចនានុក្រម។ <br/> យើងបានផ្ដល់អនុសាសន៍ <b>ទាញយក</b> %1$s វចនានុក្រម ដើម្បីធ្វើឲ្យការវាយបញ្ចូលរបស់អ្នកប្រសើរឡើង។ <br/> <br/> ការទាញយកអាចចំណាយពេលមួយ ឬពីរនាទីតាម 3G ។ ការកាត់លុយអាចអនុវត្ត ប្រសិនបើអ្នកបាន <b>កំណត់ទិន្នន័យគ្មានដែនកំណត់ </b>.<br/> ប្រសិនបើអ្នកមិនប្រាកដថាទិន្នន័យអ្នកមិនបានកំណត់ យើងបានផ្ដល់អនុសាសន៍ដោយស្វែងរកការភ្ជាប់វ៉ាយហ្វាយ ដើម្បីចាប់ផ្ដើមទាញយកដោយស្វ័យប្រវត្តិ។<br/> <br/> ព័ត៌មានជំនួយ៖ អ្នកអាចទាញយក និងលុបវចនានុក្រមដោយចូលទៅ <b>ភាសា& បញ្ចូល</b>នៅក្នុងម៉ឺនុយ <b>ការកំណត់ </b> របស់ឧបករណ៍ចល័ត។"
+ "ទាញយកឥឡូវនេះ (%1$.1f មេកាបៃ)"
+ "ទាញយកតាមវ៉ាយហ្វាយ"
+ "វចនានុក្រមអាចប្រើបានសម្រាប់ %1$s"
+ "ចុច ដើម្បីពិនិត្យមើលឡើងវិញ និងទាញយក"
+ "ទាញយក៖ ការស្នើសម្រាប់ %1$s នឹងបញ្ចប់ឆាប់ៗ។"
+ "កំណែ %1$s"
+ "បន្ថែម"
+ "បន្ថែមទៅវចនានុក្រម"
+ "ឃ្លា"
+ "ជម្រើសច្រើន"
+ "ជម្រើសតិច"
+ "យល់ព្រម"
+ "ពាក្យ៖"
+ "ផ្លូវកាត់៖"
+ "ភាសា៖"
+ "វាយបញ្ចូលពាក្យ"
+ "ផ្លូវកាត់ជាជម្រើស"
+ "កែពាក្យ"
+ "កែ"
+ "លុប"
+ "អ្នកមិនមានពាក្យណាមួយនៅក្នុងវចនានុក្រមអ្នកប្រើទេ។ បន្ថែមពាក្យដោយប៉ះប៊ូតុង បន្ថែម (+)។"
+ "សម្រាប់ភាសាទាំងអស់"
+ "ភាសាច្រើនទៀត…"
+ "លុប"
+ " ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+
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 000000000..04febeeea
--- /dev/null
+++ b/java/res/values-ko/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "이동"
+ "다음"
+ "이전"
+ "완료"
+ "전송"
+ "중지"
+ "대기"
+
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
index 1497812e9..ca10bdf52 100644
--- a/java/res/values-ko/strings.xml
+++ b/java/res/values-ko/strings.xml
@@ -74,20 +74,11 @@
"동적 플로팅 미리보기"
"제스처에 따라 추천 단어 보기"
"%s: 저장됨"
- "이동"
- "다음"
- "이전"
- "완료"
- "전송"
- "일시 중지"
- "대기"
"비밀번호 키를 음성으로 들으려면 헤드셋을 연결하세요."
"입력한 텍스트: %s"
"입력한 텍스트 없음"
-
-
-
-
+ "%1$s을(를) 누르면 %2$s을(를) %3$s(으)로 수정합니다."
+ "%1$s을(를) 누르면 자동 수정됩니다."
"키 코드 %d"
"시프트 키"
"Shift 사용(사용하지 않으려면 탭하세요.)"
@@ -156,6 +147,9 @@
"알파벳(콜맥)"
"알파벳(PC)"
"이모티콘"
+ "색구성표"
+ "흰색"
+ "파란색"
"맞춤 입력 스타일"
"스타일 추가"
"추가"
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 000000000..5eda61e1b
--- /dev/null
+++ b/java/res/values-ky/strings-action-keys.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ "Баруу"
+ "Кийин"
+ "Мурун"
+ "Даяр"
+ "Жибер"
+
+
+
+
+
diff --git a/java/res/values-ky/strings.xml b/java/res/values-ky/strings.xml
index 45d855cf6..e30c4b965 100644
--- a/java/res/values-ky/strings.xml
+++ b/java/res/values-ky/strings.xml
@@ -112,19 +112,10 @@
- "Баруу"
- "Кийин"
- "Мурун"
- "Даяр"
- "Жибер"
-
-
-
-
diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml
index b874d4881..c97e68f11 100644
--- a/java/res/values-land/dimens.xml
+++ b/java/res/values-land/dimens.xml
@@ -31,10 +31,10 @@
5.941%p
0.997%p
- 2.727%p
- 0.0%p
- 5.368%p
- 1.020%p
+ 2.727%p
+ 0.0%p
+ 5.368%p
+ 1.020%p
8dp
@@ -54,9 +54,9 @@
78%
48%
- 1.6dp
+ 1.6dp
- -22.4dp
+ -22.4dp
36dp
36dp
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 000000000..08dc983e0
--- /dev/null
+++ b/java/res/values-lo-rLA/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "ໄປ"
+ "ຕໍ່ໄປ"
+ "ກ່ອນໜ້າ"
+ "Done"
+ "ສົ່ງ"
+ "ຢຸດຊົ່ວຄາວ"
+ "ລໍຖ້າ"
+
diff --git a/java/res/values-lo-rLA/strings-appname.xml b/java/res/values-lo-rLA/strings-appname.xml
new file mode 100644
index 000000000..17a009483
--- /dev/null
+++ b/java/res/values-lo-rLA/strings-appname.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ "ແປ້ນພິມ Android (AOSP)"
+ "ໂຕກວດການສະກົດຄຳໃນ Android (AOSP)"
+ "ຕັ້ງຄ່າແປ້ນພິມ Android (AOSP)"
+ "Android Spell Checker Settings (AOSP)"
+
diff --git a/java/res/values-lo-rLA/strings.xml b/java/res/values-lo-rLA/strings.xml
new file mode 100644
index 000000000..a4dbc2de2
--- /dev/null
+++ b/java/res/values-lo-rLA/strings.xml
@@ -0,0 +1,242 @@
+
+
+
+
+ "ຕົວເລືອກການປ້ອນຂໍ້ມູນ"
+ "Research Log Commands"
+ "ເບິ່ງທີ່ຊື່ຂອງລາຍຊື່ຜູ່ຕິດຕໍ່"
+ "ໂຕຊ່ວຍສະກົດໃຊ້ຂໍ້ມູນຈາກລາຍການຂອງລາຍຊື່ຜູ່ຕິດຕໍ່ຂອງທ່ານ"
+ "ສັ່ນເຕືອນເມື່ອພິມ"
+ "ສຽງໃນການກົດປຸ່ມ"
+ "ໂຕອັກສອນເວລາພິມ"
+ "ທົ່ວໄປ"
+ "ໂຕຊ່ວຍແປງຂໍ້ຄວາມ"
+ "ການພິມແບບ Gesture"
+ "ໂຕເລືອກອື່ນໆ"
+ "ການຕັ້ງຄ່າຂັ້ນສູງ"
+ "ຕົວເລືອກສຳລັບຜູ່ທີ່ຊຳນານ"
+ "ປ່ຽນໄປໃຊ້ການປ້ອນຂໍ້ມູນແບບອື່ນ"
+ "ໂຕປ່ຽນພາສາເປັນທັງໂຕປ່ຽນຮູບແບບການປ້ອນຂໍ້ມູນເຊັ່ນກັນ"
+ "ປຸ່ມປ່ຽນພາສາ"
+ "ສະແດງໃນເວລາທີ່ຕົວເລືອກການປ້ອນຂໍ້ມູນຫຼາຍໂຕຖືກເປີດຢູ່"
+ "ສະແດງໂຕບົ່ງບອກການສະໄລ້"
+ "ສະແດງແນວທາງໃນຂະນະທີ່ສະໄລ້ຈາກ Shift ຫຼື ປຸ່ມເຄື່ອງໝາຍ"
+ "ໄລຍະເວລາການສະແດງໂຕອັກສອນ"
+ "ບໍ່ຕ້ອໜ່ວງເວລາ"
+ "ຄ່າເລີ່ມຕົ້ນ"
+ "%sms"
+ "ຄ່າເລີ່ມຕົ້ນຂອງລະບົບ"
+ "ແນະນຳລາຍຊື່ຜູ່ຕິດຕໍ່"
+ "ໃຊ້ຊື່ຈາກລາຍຊື່ຜູ່ຕິດຕໍ່ສຳລັບການແນະນຳ ແລະ ການຊ່ວຍແກ້ຄຳ"
+ "ຍະຫວ່າງສອງເທື່ອເພື່ອໃສ່ຈ້ຳເມັດ"
+ "ກົດທີ່ປຸ່ມຍະຫວ່າງສອງເທື່ອເພື່ອໃສ່ຈ້ຳເມັດແລ້ວຕາມດ້ວຍການຍະຫວ່າງ"
+ "ເຮັດໂຕພິມໃຫຍ່ອັດຕະໂນມັດ"
+ "ເຮັດໂຕພິມໃຫຍ່ໃຫ້ໂຕອັກສອນທຳອິດຂອງແຕ່ລໃນປະໂຫຍກ"
+ "ວັດຈະນານຸກົມສ່ວນໂຕ"
+ "ໂຕເສີມວັດຈະນານຸກົມ"
+ "ວັດຈະນານຸກົມຫຼັກ"
+ "ສະແດງການແນະນຳຄຳທີ່ຖືກຕ້ອງ"
+ "ສະແດງຄຳສັບທີ່ແນະນຳໃນເວລາທີ່ກຳລັງພິມ"
+ "ສະແດງຕະຫລອດ"
+ "ກົດທີ່ຄຳສັບທີ່ພິມລົງໄປເພື່ອແປງໃຫ້ມັນຖືກຕ້ອງ"
+ "ເຊື່ອງໄວ້ຕະຫລອດ"
+ "ປິດກັ້ນຄຳທີ່ບໍ່ສຸພາບ"
+ "ຫ້າມແນະນຳຄຳທີ່ບໍ່ສຸພາບ"
+ "ໂຕຊ່ວຍສະກົດຄຳ"
+ "ການຍະຫວ່າງ ແລະ ການໃສ່ເຄື່ອງໝາຍຈະຖືກປ່ຽນແປງໃຫ້ຖືກຕ້ອງ ໃນຄຳທີ່ພິມຜິດໂດຍອັດຕະໂນມັດ"
+ "ປິດ"
+ "ປານກາງ"
+ "ສູງ"
+ "ສູງສຸດ"
+ "ການແນະນຳຄຳຕໍ່ໄປ"
+ "ໃຊ້ຄຳທີ່ຜ່ານມາໃນການແນະນຳຄຳ"
+ "ເປີດນຳໃຊ້ການພິມແບບ Gesture"
+ "ໃສ່ຄຳສັບລົງໄປໂດຍການສະໄລ້ຜ່ານໂຕອັກສອນ"
+ "ສະແດງຫາງຂອງ Gesture"
+ "ມີຄຳຕົວຢ່າງລອຍຂຶ້ນມາ"
+ "ເບິ່ງຄຳທີ່ຖືກແນະນຳໃນເວລາທີ່ກຳລັງຊີ້"
+ "%s : ບັນທຶກແລ້ວ"
+ "ສຽບສາຍຫູຟັງເພື່ອຟັງລະຫັດຜ່ານ."
+ "ຂໍ້ຄວາມປະຈຸບັນແມ່ນ %s"
+ "ບໍ່ມີການໃສ່ຂໍ້ຄວາມ"
+ "%1$s ແກ້ໄຂ %2$s ເປັນ %3$s"
+ "%1$s ປະຕິບັດການແປງຄຳຜິດອັດຕະໂນມັດ"
+ "ລະຫັດກະແຈ %d"
+ "Shift"
+ "Shift ເປີດນຳໃຊ້ຢູ່ (ກົດເພື່ອປິດນຳໃຊ້)"
+ "Caps lock ເປີດຢູ່ (ກົດເພື່ອປິດນຳໃຊ້)"
+ "ລຶບ"
+ "ສັນຍາລັກ"
+ "ໂຕອັກສອນ"
+ "ໂຕເລກ"
+ "ການຕັ້ງຄ່າ"
+ "ແທັບ"
+ "ຍະຫວ່າງ"
+ "ການປ້ອນຂໍ້ມູນດ້ວຍສຽງ"
+ "ຮອຍຍິ້ມ"
+ "ກັບຄືນ"
+ "ຊອກຫາ"
+ "ຈ້ຳ"
+ "ສະລັບພາສາ"
+ "ຕໍ່ໄປ"
+ "ກ່ອນໜ້າ"
+ "Shift ເປີດນຳໃຊ້ຢູ່"
+ "Caps lock ເປີດນຳໃຊ້ຢູ່"
+ "Shift ປິດນຳໃຊ້ຢູ່"
+ "ໂຫມດສັນຍາລັກ"
+ "ໂຫມດໂຕອັກສອນ"
+ "ໂຫມດໂທລະສັບ"
+ "ໂຫມດສັນຍາລັກໂທລະສັບ"
+ "ແປ້ນພິມເຊື່ອງໄວ້"
+ "ກຳລັງສະແດງແປ້ນພິມ %s"
+ "ວັນທີ"
+ "ວັນທີແລະເວລາ"
+ "email"
+ "ຂໍ້ຄວາມ"
+ "ໂຕເລກ"
+ "ໂທລະສັບ"
+ "ຂໍ້ຄວາມ"
+ "ເວລາ"
+ "URL"
+ "ປຸ່ມປ້ອນຂໍ້ມູນດ້ວຍສຽງ"
+ "ແປ້ນພິມຫຼັກ"
+ "ໃນແປ້ນພິມສັນຍາລັກ"
+ "ປິດ"
+ "ໄມໃນແປ້ນພິມຫຼັກ"
+ "ໄມໃນແປ້ນພິມສັນຍາລັກ"
+ "ການປ້ອນຂໍ້ມູນດ້ວຍສຽງປິດນຳໃຊ້ຢູ່"
+ "ຕັ້ງຄ່າຮູບແບບການປ້ອນຂໍ້ມູນ"
+ "ພາສາການປ້ອນຂໍ້ມູນ"
+ "ສົ່ງຄຳຕິຊົມ"
+ "ພາສາການປ້ອນຂໍ້ມູນ"
+ "ກົດອີກຄັ້ງເພື່ອບັນທຶກ"
+ "ມີວັດຈະນານຸກົມ"
+ "ເປີດນຳໃຊ້ຄຳຕິຊົມຈາກຜູ່ໃຊ້"
+ "ຊ່ວຍເພີ່ມປະສິດທິພາບໂຕແກ້ໄຂການປ້ອນຂໍ້ມູນ ໂດຍການສົ່ງສະຖິຕິການນຳໃຊ້ ແລະການລາຍການຂໍ້ຜິດພາດໂດຍອັດຕະໂນມັດ"
+ "ສີສັນແປ້ນພິມ"
+ "ອັງກິດ (ສະຫະລາດຊະອານາຈັກ)"
+ "ອັງກິດ (ສະຫະລັດຯ)"
+ "ສະເປນ (ອາເມລິກາ)"
+ "ພາສາອັງກິດ (ອັງກິດ) (%s)"
+ "ອັງກິດ (ອາເມລິກາ) (%s)"
+ "ແອສປາໂຍນ (ສະຫະລັດ) (%s)"
+ "%s (ດັ້ງເດີມ)"
+ "ບໍ່ມີພາສາ (ໂຕອັກສອນ)"
+ "ໂຕອັກສອນ (QWERTY)"
+ "ໂຕອັກສອນ (QWERTZ)"
+ "ໂຕອັກສອນ (AZERTY)"
+ "ໂຕອັກສອນ (Dvorak)"
+ "ໂຕອັກສອນ (Colemak)"
+ "ໂຕອັກສອນ (PC)"
+ "ອີໂມຈິ"
+ "ຮູບແບບສີ"
+ "ສີຂາວ"
+ "ສີຟ້າ"
+ "ຮູບແບບການປ້ອນຂໍ້ມູນສ່ວນຕົວ"
+ "ເພີ່ມຮູບແບບ"
+ "ເພີ່ມ"
+ "ລຶບອອກ"
+ "ບັນທຶກ"
+ "ພາສາ"
+ "ຮູບແບບ"
+ "ຮູບແບບການປ້ອນຂໍ້ມູນແບບສ່ວນຕົວຂອງທ່ານ ຕ້ອງຖືກເປີດນຳໃຊ້ຢູ່ກ່ອນທີ່ທ່ານຈະສາມາດໃຊ້ມັນໄດ້. ທ່ານຕ້ອງການທີ່ຈະເປີດໃຊ້ມັນດຽວນີ້ບໍ່?"
+ "ເປີດນຳໃຊ້"
+ "ບໍ່ແມ່ນຕອນນີ້"
+ "ຮູບແບບການປ້ອນຂໍ້ມູນທີ່ຄືກັນມີຢູ່ແລ້ວ: %s"
+ "ໂໝດການສຶກສາ Usability"
+ "ໄລຍະເວລາຂອງການກົດປຸ່ມ"
+ "ໄລຍະເວລາຂອງການສັ່ນໃນການກົດປຸ່ມ"
+ "ລະດັບສຽງຂອງການກົດປຸ່ມ"
+ "ອ່ານໄຟລ໌ວັດຈະນານຸກົມພາຍນອກ"
+ "ບໍ່ມີໄຟລ໌ວັດຈະນານຸກົມໃນໂຟນເດີຂອງການດາວໂຫລດ"
+ "ເລືອກໄຟລ໌ວັດຈະນານຸກົມເພື່ອຕິດຕັ້ງ"
+ "ຕິດຕັ້ງໄຟລ໌ນີ້ສຳລັບ %s ແທ້ບໍ່?"
+ "ມີຂໍ້ຜິດພາດເກີດຂຶ້ນ"
+ "ຄ່າເລີ່ມຕົ້ນ"
+ "ຍິນດີຕ້ອນຮັບສູ່ %s"
+ "ດ້ວຍການພິມແບບ Gesture"
+ "ເລີ່ມຕົ້ນ"
+ "ຂັ້ນຕອນຕໍ່ໄປ"
+ "ຕັ້ງຄ່າ %s"
+ "ເປີດນຳໃຊ້ %s"
+ "ກະລຸນາກວດເບິ່ງ \"%s\" ໃນການຕັ້ງຄ່າພາສາ & ການປ້ອນຂໍ້ມູນຂອງທ່ານ. ນີ້ຈະເປັນການອະນຸຍາດໃຫ້ມັນເຮັດວຽກໃນອຸປະກອນຂອງທ່ານ"
+ "%s ຖືກເປີດນຳໃຊ້ໃນການຕັ້ງຄ່າພາສາ & ການປ້ອນຂໍ້ມູນຂອງທ່ານແລ້ວ, ສະນັ້ນຂັ້ນຕອນນີ້ແມ່ນສຳເລັດໄປແລ້ວ. ໄປທີ່ຂັ້ນຕອນຕໍ່ໄປ!"
+ "ເປີດນຳໃຊ້ໃນການຕັ້ງຄ່າ"
+ "ປ່ຽນເປັນ %s"
+ "ຕໍ່ໄປ, ເລືອກເອົາ \"%s\" ເປັນຮູບແບບການປ້ອນຂໍ້ມູນຂອງທ່ານ."
+ "ປ່ຽນຮູບແບບການປ້ອນຂໍ້ມູນ"
+ "ຍິນດີດ້ວຍ, ທ່ານເຮັດແລ້ວໆ!"
+ "ຕອນນີ້ທ່ານສາມາດພິມໃນແອັບຯທີ່ທ່ານມັກໄດ້ທຸກແອັບຯດ້ວຍ %s."
+ "ປັບຄ່າພາສາເພີ່ມເຕີມ"
+ "ສຳເລັດແລ້ວ"
+ "ສະແດງໄອຄອນຂອງແອັບຯ"
+ "ສະແດງໄອຄອນຂອງແອັບຯໃນ Launcher"
+ "ຜູ່ສະຫນອງວັດຈະນານຸກົມ"
+ "ຜູ່ສະຫນອງວັດຈະນານຸກົມ"
+ "ບໍລິການວັດຈະນານຸກົມ"
+ "ຂໍ້ມູນການອັບເດດວັດຈະນານຸກົມ"
+ "ໂຕເສີມວັດຈະນານຸກົມ"
+ "ມີວັດຈະນານຸກົມ"
+ "ການຕັ້ງຄ່າສຳລັບວັດຈະນານຸກົມ"
+ "ວັດຈະນານຸກົມຜູ່ໃຊ້"
+ "ວັດຈະນານຸກົມຜູ່ໃຊ້"
+ "ມີວັດຈະນານຸກົມ"
+ "ກຳລັງດາວໂຫລດ"
+ "ຕິດຕັ້ງແລ້ວ"
+ "ຕິດຕັ້ງແລ້ວ, ປິດການນຳໃຊ້ແລ້ວ"
+ "ມີປັນຫາໃນການເຊື່ອມຕໍ່ກັບບໍລິການວັດຈະນານຸກົມ"
+ "ບໍ່ມີວັດຈະນານຸກົມ"
+ "ດຶງຂໍ້ມູນໃຫມ່"
+ "ອັບເດດຫຼ້າສຸດ"
+ "ກຳລັງກວດການອັບເດດ"
+ "ກຳລັງໂຫລດ..."
+ "ວັດຈະນານຸກົມຫຼັກ"
+ "ຍົກເລີກ"
+ "ຕິດຕັ້ງ"
+ "ຍົກເລີກ"
+ "ລຶບ"
+ "ພາສາທີ່ທ່ານເລືອກໃຊ້ໃນອຸປະກອນຂອງທ່ານນັ້ນ ມີວັດຈະນານຸກົມໃຫ້ໃຊ້ພ້ອມ.<br/> ພວກເຮົາແນະນຳໃຫ້ <b>ດາວໂຫລດ</b> %1$s ວັດຈະນານຸກົມດັ່ງກ່າວ ເພື່ອເພີ່ມປະສົບການໃນການພິມຂອງທ່ານ.<br/> <br/> ການດາວໂຫລດອາດຈະໃຊ້ເວລາພຽງໜຶ່ງເຖິງສອງນາທີ ໂດຍການໃຊ້ 3G. ທ່ານອາດຈະເສຍຄ່າບໍລິການສຳລັບອິນເຕີເນັດ ຫາກທ່ານບໍ່ມີ <b>ການນຳໃຊ້ອິນເຕີເນັດແບບບໍ່ຈຳກັດ</b>.<br/> ຫາກທ່ານບໍ່ແນ່ໃຈວ່າຮູບແບບການໃຊ້ໃດທີ່ທ່ານມີຢູ່ ພວກເຮົາແນະນຳໃຫ້ຊອກຫາການເຊື່ອມຕໍ່ Wi-Fi ເພື່ອດາວໂຫລດມັນໂດຍອັດຕະໂນມັດ.<br/> <br/> ເຄັດລັບ: ທ່ານສາມາດດາວໂຫລດ ແລະ ລຶບວັດຈະນານຸກົມໄດ້ທີ່ <b>ພາສາ & ການປ້ອນຂໍ້ມູນ</b> ຢູ່ໃນເມນູ <b>ການຕັ້ງຄ່າ</b> ຂອງອຸປະກອນພົກພາຂອງທ່ານ."
+ "ດາວໂຫລດດຽວນີ້ (%1$.1fMB)"
+ "ດາວໂຫລດຜ່ານ Wi-Fi"
+ "ວັດຈະນານຸກົມສາມາດໃຊ້ໄດ້ກັບ %1$s"
+ "ກົດທີ່ກວດຄືນ ແລະ ດາວໂຫລດ"
+ "ກຳລັງດາວໂຫລດ: ການແນະນຳສຳລັບ %1$s ແລະມັນຈະພ້ອມນຳໃຊ້ໄວໆນີ້"
+ "ເວີຊັນ %1$s"
+ "ເພີ່ມ"
+ "ເພີ່ມໄປທີ່ວັດຈະນານຸກົມ"
+ "ປະໂຫຍກ"
+ "ຕົວເລືອກເພີ່ມເຕີມ"
+ "ຕົວເລືອກໜ້ອຍລົງ"
+ "ຕົກລົງ"
+ "ຄຳສັບ:"
+ "ທາງລັດ:"
+ "ພາສາ:"
+ "ພິມຄໍາສັບໃດນຶ່ງ"
+ "ໂຕເລືອກທາງລັດ"
+ "ແກ້ໄຂຄຳສັບ"
+ "ແກ້ໄຂ"
+ "ລຶບ"
+ "ທ່ານບໍ່ມີຄຳສັບໃດໆໃນວັດຈະນານຸກົມຜູ່ໃຊ້ເທື່ອ. ເພີ່ມຄຳສັບໄດ້ໂດຍການສຳພັດທີ່ປຸ່ມ ເພີ່ມ (+)."
+ "ສໍາລັບທຸກໆພາສາ"
+ "ພາສາອື່ນໆ..."
+ "ລຶບ"
+ " ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+
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 000000000..39b3894be
--- /dev/null
+++ b/java/res/values-lt/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Prad."
+ "Kitas"
+ "Anks."
+ "Atl."
+ "Siųs."
+ "Pris."
+ "Lauk."
+
diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml
index 88328db7d..1f943944c 100644
--- a/java/res/values-lt/strings.xml
+++ b/java/res/values-lt/strings.xml
@@ -74,20 +74,11 @@
"Dinaminė slankioji peržiūra"
"Gestikuliuojant peržiūrėti siūlomą žodį"
"%s: išsaugota"
- "Pradėti"
- "Kitas"
- "Anks."
- "Atlikta"
- "Siųsti"
- "Prist."
- "Lauk."
"Prijunkite ausines, kad išgirstumėte sakomus slaptažodžio klavišus."
"Dabartinis tekstas yra %s"
"Nėra įvesto teksto"
-
-
-
-
+ "%1$s pataiso „%2$s“ į „%3$s“"
+ "%1$s atlieka automatinį taisymą"
"Klavišo kodas %d"
"Antrojo lygio klavišas"
"Įjungtas antrasis lygis (palieskite, kad išjungtumėte)"
@@ -156,6 +147,9 @@
"Abėcėlė („Colemak“)"
"Abėcėlė (PC)"
"Jaustukai"
+ "Spalvų schema"
+ "Balta"
+ "Mėlyna"
"Pasirinkti įvesties stilių"
"Prid. stilių"
"Pridėti"
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 000000000..c2fbda26b
--- /dev/null
+++ b/java/res/values-lv/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Sākt"
+ "Tālāk"
+ "Iepr."
+ "Gatavs"
+ "Sūtīt"
+ "Pauze"
+ "Gaidīt"
+
diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml
index 069c48701..8ea24edb7 100644
--- a/java/res/values-lv/strings.xml
+++ b/java/res/values-lv/strings.xml
@@ -74,20 +74,11 @@
"Dinamisk. peldošais priekšsk."
"Skatiet ieteikto vārdu, veicot žestu."
"%s: saglabāts"
- "Sākt"
- "Tālāk"
- "Iepr."
- "Gatavs"
- "Sūtīt"
- "Pauze"
- "Gaidīt"
"Pievienojiet austiņas, lai dzirdētu paroles rakstzīmes."
"Pašreizējais teksts ir %s"
"Nav ievadīts teksts"
-
-
-
-
+ "Nospiežot taustiņu %1$s, “%2$s” tiek labots uz “%3$s”."
+ "Taustiņam %1$s ir automātiskas labošanas funkcija."
"Taustiņu kods %d"
"Pārslēgšanas taustiņš"
"Pārslēgšanas taustiņš iespējots (pieskarieties, lai atspējotu)"
@@ -156,6 +147,9 @@
"Alfabēts (Colemak)"
"Alfabēts (PC)"
"Japāņu emocijzīmes"
+ "Krāsu shēma"
+ "Balta"
+ "Zila"
"Pielāg. ievades stili"
"Piev. stilu"
"Pievienot"
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 000000000..40de51b00
--- /dev/null
+++ b/java/res/values-mk/strings-action-keys.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ "Оди"
+ "Следно"
+ "Претходно"
+ "Готово"
+ "Испрати"
+
+
+
+
+
diff --git a/java/res/values-mk/strings.xml b/java/res/values-mk/strings.xml
new file mode 100644
index 000000000..6f685d395
--- /dev/null
+++ b/java/res/values-mk/strings.xml
@@ -0,0 +1,455 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 000000000..77b8f2c05
--- /dev/null
+++ b/java/res/values-mn-rMN/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Очих"
+ "Дараах"
+ "Өмнөх"
+ "Дууссан"
+ "Илгээх"
+ "Түр зогсоох"
+ "Хүлээх"
+
diff --git a/java/res/values-mn-rMN/strings.xml b/java/res/values-mn-rMN/strings.xml
index 3b039f120..d4175899f 100644
--- a/java/res/values-mn-rMN/strings.xml
+++ b/java/res/values-mn-rMN/strings.xml
@@ -74,20 +74,11 @@
"Динамик хөвөгчөөр урьдчилан харах"
"Зангах явцад санал болгож буй үгийг харах"
"%s : Хадгалагдсан"
- "Явах"
- "Дараах"
- "Өмнөх"
- "Дууссан"
- "Илгээх"
- "Пауз"
- "Хүлээх"
"Нууц үгний товчнуудыг чангаар уншихыг сонсохын тулд чихэвчээ залгана уу."
"Одоогийн текст %s"
"Текст оруулаагүй"
-
-
-
-
+ "%1$s %2$s-г %3$s руу залруулна"
+ "%1$s автоматаар залруулна"
"Товчийн код %d"
"Сэлгэх"
"Сэлгэхийг идэвхжүүлсэн (товшиж идэвхгүйжүүлнэ үү)"
@@ -156,6 +147,9 @@
"Цагаан толгой (Colemak)"
"Цагаан толгой (PC)"
"Инээмсэглэл"
+ "Өнгөний схем"
+ "Цагаан"
+ "Хөх"
"Өөрийн оруулах загвар"
"Загвар нэмэх"
"Нэмэх"
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 000000000..f1a75d2ef
--- /dev/null
+++ b/java/res/values-ms-rMY/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Pergi"
+ "Slps"
+ "Sblm"
+ "Siap"
+ "Hntr"
+ "Jeda"
+ "Tggu"
+
diff --git a/java/res/values-ms-rMY/strings.xml b/java/res/values-ms-rMY/strings.xml
index ee241d64b..c9b4a0359 100644
--- a/java/res/values-ms-rMY/strings.xml
+++ b/java/res/values-ms-rMY/strings.xml
@@ -74,20 +74,11 @@
"Pratonton terapung dinamik"
"Lihat perkataan yang dicadangkan semasa membuat gerak isyarat"
"%s : Disimpan"
- "Pergi"
- "Seterusnya"
- "Sblm"
- "Selesai"
- "Hantar"
- "Jeda"
- "Tunggu"
"Pasangkan set kepala untuk mendengar kekunci kata laluan disebut dengan kuat."
"Teks semasa adalah %s"
"Tiada teks dimasukkan"
-
-
-
-
+ "%1$s membetulkan %2$s menjadi %3$s"
+ "%1$s melakukan auto pembetulan"
"Kod kunci %d"
"Shift"
"Kunci anjak dihidupkan (ketik untuk melumpuhkan)"
@@ -156,6 +147,9 @@
"Abjad (Colemak)"
"Abjad (PC)"
"Emoji"
+ "Skim warna"
+ "Putih"
+ "Biru"
"Gaya input peribadi"
"Tambah gaya"
"Tambah"
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 000000000..d4acd36c9
--- /dev/null
+++ b/java/res/values-nb/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Utfør"
+ "Neste"
+ "Forrige"
+ "Ferdig"
+ "Send"
+ "Pause"
+ "Vent"
+
diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml
index ae43d1078..00aa10da7 100644
--- a/java/res/values-nb/strings.xml
+++ b/java/res/values-nb/strings.xml
@@ -74,20 +74,11 @@
"Dynamisk flytende forhåndsvsn."
"Se det foreslåtte ordet mens du utfører bevegelser"
"%s: Lagret"
- "Utfør"
- "Neste"
- "Forr."
- "Utfør"
- "Send"
- "Pause"
- "Vent"
"Koble til hodetelefoner for å høre opplesing av bokstavene i passordet."
"Gjeldende tekst er %s"
"Ingen tekst er skrevet inn"
-
-
-
-
+ "%1$s retter %2$s til %3$s"
+ "%1$s utfører automatisk retting"
"Tastaturkode %d"
"Shift"
"Shift er på (trykk for å deaktivere)"
@@ -156,6 +147,9 @@
"Alfabet (Colemak)"
"Alfabet (PC)"
"Emoji"
+ "Fargetema"
+ "Hvit"
+ "Blå"
"Egendefinerte inndata"
"Legg til stil"
"Legg til"
@@ -192,7 +186,7 @@
"Gratulerer, du er klar!"
"Nå kan du skrive inn alle favorittappene dine med %s."
"Konfigurer flere språk"
- "Fullført"
+ "Ferdig"
"Vis app-ikonet"
"Vis app-ikonet i appvelgeren"
"Ordlisteleverandør"
@@ -224,7 +218,7 @@
"Last ned via Wi-Fi"
"En ordliste er tilgjengelig for %1$s"
"Trykk for å se gjennom og laste ned"
- "Laster ned: forslag blir snart tilgjengelige for %1$s."
+ "Laster ned: Forslag blir snart tilgjengelige for %1$s."
"Versjon %1$s"
"Legg til"
"Legg til i ordlisten"
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 000000000..c1ce25acf
--- /dev/null
+++ b/java/res/values-nl/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Ga"
+ "Volg."
+ "Vorig"
+ "Klaar"
+ "Verz."
+ "Pauze"
+ "Wacht"
+
diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml
index de20da4f8..dcbf2c09c 100644
--- a/java/res/values-nl/strings.xml
+++ b/java/res/values-nl/strings.xml
@@ -74,20 +74,11 @@
"Dynamisch zwevend voorbeeld"
"Het voorgestelde woord weergeven tijdens het tekenen"
"%s: opgeslagen"
- "Start"
- "Verder"
- "Vorig"
- "Gereed"
- "Zenden"
- "Pauze"
- "Wacht"
"Sluit een headset aan om wachtwoordtoetsen hardop te laten voorlezen."
"Huidige tekst is %s"
"Geen tekst ingevoerd"
-
-
-
-
+ "Met %1$s wordt %2$s gecorrigeerd naar %3$s"
+ "Met %1$s voert u automatische correctie uit"
"Toetscode %d"
"Shift"
"Shift aan (tik om uit te schakelen)"
@@ -156,6 +147,9 @@
"Alfabet (Colemak)"
"Alfabet (pc)"
"Emoji"
+ "Kleurenschema"
+ "Wit"
+ "Blauw"
"Aangep. invoerstijlen"
"Stijl toev."
"Toevoegen"
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 000000000..2984b98b8
--- /dev/null
+++ b/java/res/values-pl/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "OK"
+ "Dalej"
+ "Wróć"
+ "Gotowe"
+ "Wyślij"
+ "Pauza"
+ "Czekaj"
+
diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml
index 390837596..c78674a9b 100644
--- a/java/res/values-pl/strings.xml
+++ b/java/res/values-pl/strings.xml
@@ -74,20 +74,11 @@
"Dynamiczny podgląd słowa"
"Podczas gestykulacji będzie widoczne podpowiadane słowo"
"%s : Zapisano"
- "OK"
- "Dalej"
- "Wstecz"
- "OK"
- "Wyślij"
- "Pauza"
- "Czekaj"
"Podłącz zestaw słuchawkowy, aby usłyszeć znaki hasła wypowiadane na głos."
"Aktualny tekst: %s"
"Nie wprowadzono tekstu"
-
-
-
-
+ "%1$s poprawia %2$s na %3$s"
+ "%1$s wykonuje autokorektę"
"Kod klawisza: %d"
"Shift"
"Shift włączony (kliknij, by wyłączyć)"
@@ -156,6 +147,9 @@
"Alfabet (Colemak)"
"Alfabet (PC)"
"Emotikony"
+ "Schemat kolorów"
+ "Biały"
+ "Niebieski"
"Style niestandardowe"
"Dodaj styl"
"Dodaj"
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 000000000..7a7559fea
--- /dev/null
+++ b/java/res/values-pt-rPT/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Ok"
+ "Seg."
+ "Ant."
+ "Conc."
+ "Env."
+ "Pausa"
+ "Esp."
+
diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml
index 4c81479e5..c27758116 100644
--- a/java/res/values-pt-rPT/strings.xml
+++ b/java/res/values-pt-rPT/strings.xml
@@ -74,20 +74,11 @@
"Pré-visual. flutuante dinâmica"
"Ver palavra sugerida enquanto toca"
"%s: guardada"
- "Ir"
- "Avançar"
- "Ant."
- "OK"
- "Enviar"
- "Pausa"
- "Esp."
"Ligar auscultadores com microfone integrado para ouvir as teclas da palavra-passe."
"O texto atual é %s"
"Nenhum texto digitado"
-
-
-
-
+ "%1$s corrige %2$s para %3$s"
+ "%1$s executa correção automática"
"Código da tecla %d"
"Shift"
"Shift ativado (tocar para desativar)"
@@ -156,6 +147,9 @@
"Alfabeto (Colemak)"
"Alfabeto (PC)"
"Emoji"
+ "Esquema de cor"
+ "Branco"
+ "Azul"
"Estilos entrada pers."
"Adic. estilo"
"Adicionar"
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 000000000..1d8e760e7
--- /dev/null
+++ b/java/res/values-pt/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Ir"
+ "Próx."
+ "Ant."
+ "Conc."
+ "Env."
+ "Pausa"
+ "Esp."
+
diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml
index ef533ae83..f98ef8cd6 100644
--- a/java/res/values-pt/strings.xml
+++ b/java/res/values-pt/strings.xml
@@ -74,20 +74,11 @@
"Visualizaç. dinâmica flutuante"
"Ver a palavra sugerida ao usar gestos"
"%s : Salvo"
- "Ir"
- "Avançar"
- "Volt."
- "Feito"
- "Enviar"
- "Pausa"
- "Esp."
"Conecte um fone de ouvido para ouvir as chaves de senha em voz alta."
"O texto atual é %s"
"Nenhum texto digitado"
-
-
-
-
+ "%1$s corrige %2$s para %3$s"
+ "%1$s realiza correção automática"
"Código de tecla %d"
"Shift"
"Shift ativado (toque para desativar)"
@@ -156,6 +147,9 @@
"Alfabeto (Colemak)"
"Alfabeto (PC)"
"Emoji"
+ "Esquema de cores"
+ "Branco"
+ "Azul"
"Estilos personalizados"
"Adic. estilo"
"Adicionar"
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 000000000..fbe84b573
--- /dev/null
+++ b/java/res/values-rm/strings-action-keys.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ "Dai"
+ "Vinavant"
+
+
+ "Finì"
+ "Trametter"
+
+
+
+
+
diff --git a/java/res/values-rm/strings.xml b/java/res/values-rm/strings.xml
index c68d30c0c..3f0bab963 100644
--- a/java/res/values-rm/strings.xml
+++ b/java/res/values-rm/strings.xml
@@ -123,25 +123,15 @@
"%s : Memorisà"
- "Dai"
- "Vinavant"
-
-
- "Finì"
- "Trametter"
-
-
-
-
-
+
-
+
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 000000000..51aa82f9c
--- /dev/null
+++ b/java/res/values-ro/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Start"
+ "Înai."
+ "Înap."
+ "Gata"
+ "Trim."
+ "Pauză"
+ "Așt."
+
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index 930b68bd6..147f83e61 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -74,20 +74,11 @@
"Sugestie flotantă dinamică"
"Afişaţi cuvântul sugerat când utilizaţi gesturi"
"%s: salvat"
- "OK"
- "Înainte"
- "Înapoi"
- "Terminat"
- "Trimiteţi"
- "Pauză"
- "Aşt."
"Conectaţi un set căşti-microfon pentru a auzi tastele apăsate când introduceţi parola."
"Textul curent este %s"
"Nu a fost introdus text"
-
-
-
-
+ "%1$s corectează %2$s cu %3$s"
+ "%1$s efectuează corectare automată"
"Tasta cu codul %d"
"Shift"
"Tasta Shift este activată (apăsaţi pentru a o dezactiva)"
@@ -156,6 +147,9 @@
"Alfabet (Colemak)"
"Alfabet (PC)"
"Emoji"
+ "Schemă de culori"
+ "Alb"
+ "Albastru"
"Stiluri personalizate"
"Stil"
"Adăugaţi"
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 000000000..d5080ceb5
--- /dev/null
+++ b/java/res/values-ru/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "ОК"
+ "Далее"
+ "Назад"
+ "Готово"
+ "Отправить"
+ "Пауза"
+ "Пауза"
+
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
index 8bfb011c5..8bbaead0a 100644
--- a/java/res/values-ru/strings.xml
+++ b/java/res/values-ru/strings.xml
@@ -74,20 +74,11 @@
"Показывать подсказки"
"Показывать подсказки при вводе текста"
"%s: сохранено"
- "Поиск"
- "Далее"
- "Пред."
- "Готово"
- "Отправить"
- "Пауза"
- "Ждать"
"Подключите гарнитуру, чтобы услышать пароль."
"Введенный текст: %s."
"Текст не введен"
-
-
-
-
+ "При нажатии клавиши \"%1$s\" слово \"%2$s\" будет исправлено на \"%3$s\""
+ "Для клавиши \"%1$s\" назначена функция автоисправления"
"Код клавиши:%d"
"Клавиша верхнего регистра"
"Верхний регистр включен (нажмите, чтобы отключить)"
@@ -156,6 +147,9 @@
"Латиница (Colemak)"
"Латиница (ПК)"
"Эмодзи"
+ "Цветовая гамма"
+ "Белый"
+ "Синий"
"Персонализированные стили"
"Добавить стиль"
"Добавить"
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 000000000..3586fb140
--- /dev/null
+++ b/java/res/values-sk/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Ísť"
+ "Ďalej"
+ "Pred."
+ "OK"
+ "Posl."
+ "Pauza"
+ "Čakať"
+
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
index 5c25f28ce..d1f966cea 100644
--- a/java/res/values-sk/strings.xml
+++ b/java/res/values-sk/strings.xml
@@ -74,20 +74,11 @@
"Dynamická plávajúca ukážka"
"Zobrazenie navrhovaného slova pri písaní gestami"
"%s : Uložené"
- "Hľadať"
- "Ďalej"
- "Pred."
- "Hotovo"
- "Odoslať"
- "Pozastaviť"
- "Čakajte"
"Ak si chcete pri zadávaní hesla vypočuť nahlas vyslovené klávesy, pripojte náhlavnú súpravu."
"Aktuálny text je %s"
"Nie je zadaný žiadny text"
-
-
-
-
+ "Klávesom %1$s opravíte slovo %2$s na %3$s"
+ "Klávesom %1$s spustíte automatické opravy"
"Kód klávesu %d"
"Shift"
"Kláves Shift je zapnutý (zakážete ho klepnutím)"
@@ -156,6 +147,9 @@
"Latinka (Colemak)"
"Latinka (PC)"
"Emoji"
+ "Farebná schéma"
+ "Biela"
+ "Modrá"
"Vlastné štýly vstupu"
"Pridať štýl"
"Pridať"
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 000000000..0235887af
--- /dev/null
+++ b/java/res/values-sl/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Pojdi"
+ "Napr."
+ "Prej."
+ "Konec"
+ "Pošl."
+ "Zaus."
+ "Čakaj"
+
diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml
index dde01dd68..a0f83c12f 100644
--- a/java/res/values-sl/strings.xml
+++ b/java/res/values-sl/strings.xml
@@ -74,20 +74,11 @@
"Dinamični plavajoči predogled"
"Prikaz predlagane besede med vnosom s prstom"
"%s: shranjeno"
- "Pojdi"
- "Naprej"
- "Nazaj"
- "Dokončano"
- "Pošlji"
- "Premor"
- "Čakaj"
"Priključite slušalke, če želite slišati izgovorjene tipke gesla."
"Trenutno besedilo je %s"
"Ni vnesenega besedila"
-
-
-
-
+ "Tipka %1$s popravi %2$s v %3$s"
+ "Tipka %1$s izvede samodejno popravljanje"
"Koda tipke %d"
"Shift"
"Shift je vklopljen (dotaknite se, da onemogočite)"
@@ -156,6 +147,9 @@
"Latinica (Colemak)"
"Latinica (PC)"
"Znaki »emoji«"
+ "Barvna shema"
+ "Bela"
+ "Modra"
"Slogi vnosa po meri"
"Dodaj slog"
"Dodaj"
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 000000000..1ce0ed7fb
--- /dev/null
+++ b/java/res/values-sr/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Иди"
+ "След"
+ "Претх"
+ "Готов"
+ "Шаљи"
+ "Пауза"
+ "Чекај"
+
diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml
index e7f6904c1..ce4978ff5 100644
--- a/java/res/values-sr/strings.xml
+++ b/java/res/values-sr/strings.xml
@@ -74,20 +74,11 @@
"Динамички плутајући преглед"
"Приказује предложену реч при уносу покретом"
"%s : Сачувано"
- "Иди"
- "Следеће"
- "Прет."
- "Готово"
- "Пошаљи"
- "Пауза"
- "Чекај"
"Укључите слушалице да бисте чули наглас изговорене тастере за лозинку."
"Тренутни текст је %s"
"Текст није унет"
-
-
-
-
+ "%1$s исправља %2$s у %3$s"
+ "%1$s обавља функцију аутоматског исправљања"
"Кôд тастера %d"
"Shift"
"Shift је укључен (додирните да бисте га онемогућили)"
@@ -156,6 +147,9 @@
"Абецеда (Colemak)"
"Абецеда (PC)"
"Емотикони"
+ "Шема боја"
+ "Бела"
+ "Плава"
"Прилаг. стилови уноса"
"Додав. стила"
"Додај"
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 000000000..e13860811
--- /dev/null
+++ b/java/res/values-sv/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Kör"
+ "Nästa"
+ "Föreg"
+ "Klart"
+ "Sänd"
+ "Pausa"
+ "Vänta"
+
diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml
index 0fcca4837..afe349afd 100644
--- a/java/res/values-sv/strings.xml
+++ b/java/res/values-sv/strings.xml
@@ -74,20 +74,11 @@
"Visa ordförslag vid svepskrivning"
"Ordförslaget visas i rörelsen medan du skriver"
"%s: sparat"
- "Kör"
- "Nästa"
- "Föreg"
- "Färdig"
- "Skicka"
- "Pausa"
- "Vänta"
"Anslut hörlurar om du vill att lösenordet ska läsas upp."
"Nuvarande text är %s"
"Ingen text har angetts"
-
-
-
-
+ "Om du trycker på %1$s rättas %2$s till %3$s"
+ "Om du trycker på %1$s utförs autokorrigering"
"Nyckelkod %d"
"Skift"
"Skift på (knacka lätt för att inaktivera)"
@@ -156,6 +147,9 @@
"Alfabet (Colemak)"
"Alfabet (PC)"
"Humörsymbol"
+ "Färgschema"
+ "Vit"
+ "Blå"
"Anpassade indatastilar"
"Ny stil"
"Lägg till"
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 000000000..7d8822e80
--- /dev/null
+++ b/java/res/values-sw/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Fanya"
+ "Inayofuata"
+ "Nyuma"
+ "Imekamilika"
+ "Tuma"
+ "Sitisha"
+ "Subiri"
+
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index fbf868f24..191ad977c 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -74,20 +74,11 @@
"Kihakiki kinachobadilika cha kuelea"
"Onyesha neno lililopendekezwa unapoonyesha ishara"
"%s : Imehifadhiwa"
- "Nenda"
- "Inayofuata"
- "Iliyotangulia"
- "Kwisha"
- "Tuma"
- "Pumzisha"
- "Subiri"
"Chomeka plagi ya kifaa cha kichwa cha kusikiza ili kusikiliza msimbo wa nenosiri inayozungumwa kwa sauti ya juu."
"Maandishi ya sasa ni %s"
"Hakuna maandishi yaliyoingizwa"
-
-
-
-
+ "%1$s hurekebisha %2$s kuwa %3$s"
+ "%1$s hurekebisha kiotomatiki"
"Msimbo wa kitufe %d"
"Badilisha"
"Shift imewashwa (gonga ili kulemaza)"
@@ -99,7 +90,7 @@
"Mipangilio"
"Kichupo"
"Nafasi"
- "Uingizaji sauti"
+ "Kuweka data kwa kutamka"
"Uso wenye tabasamu"
"Rudi"
"Tafuta"
@@ -125,13 +116,13 @@
"maandishi"
"wakati"
"URL"
- "Kibao cha kuingizia sauti"
+ "Kibao cha kuweka data kwa kutamka"
"Kwenye kibodi kuu"
"Kwenye kibodi ya ishara"
"Zima"
"Maikrofoni kwenye kibodi kuu"
"Maikrofoni kwenye kibodi ya ishara"
- "Uingizaji sauti umelemazwa"
+ "Kipengele cha kuweka data kwa kutamka kimezimwa"
"Sanidi mbinu za uingizaji"
"Lugha za uingizaji"
"Tuma maoni"
@@ -156,6 +147,9 @@
"Alfabeti (Colemak)"
"Alfabeti (PC)"
"Emoji"
+ "Mpangilio wa rangi"
+ "Nyeupe"
+ "Samawati"
"Mitindo maalum ya ingizo"
"Ongeza mtindo"
"Ongeza"
diff --git a/java/res/values-sw540dp-land/dimens.xml b/java/res/values-sw540dp-land/dimens.xml
index d79e8ca35..002493798 100644
--- a/java/res/values-sw540dp-land/dimens.xml
+++ b/java/res/values-sw540dp-land/dimens.xml
@@ -29,10 +29,10 @@
5.200%p
1.447%p
- 2.727%p
- 0.0%p
- 4.5%p
- 0.9%p
+ 2.727%p
+ 0.0%p
+ 4.5%p
+ 0.9%p
81.9dp
diff --git a/java/res/values-sw540dp/dimens.xml b/java/res/values-sw540dp/dimens.xml
index b2f4ae043..801b7acb5 100644
--- a/java/res/values-sw540dp/dimens.xml
+++ b/java/res/values-sw540dp/dimens.xml
@@ -32,10 +32,10 @@
4.625%p
2.113%p
- 2.335%p
- 4.0%p
- 4.5%p
- 1.565%p
+ 2.335%p
+ 4.0%p
+ 4.5%p
+ 1.565%p
6dp
@@ -66,9 +66,9 @@
52%
27%
- 8.0dp
+ 8.0dp
- -31.5dp
+ -31.5dp
44dp
44dp
diff --git a/java/res/values-sw540dp/touch-position-correction.xml b/java/res/values-sw540dp/touch-position-correction.xml
index df07c1295..932b8fc72 100644
--- a/java/res/values-sw540dp/touch-position-correction.xml
+++ b/java/res/values-sw540dp/touch-position-correction.xml
@@ -48,7 +48,7 @@
- -31.5dp
+ -31.5dp
44dp
44dp
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 000000000..f23bfbc2a
--- /dev/null
+++ b/java/res/values-th/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "เริ่ม"
+ "ถัดไป"
+ "ก่อน"
+ "เสร็จ"
+ "ส่ง"
+ "หยุด"
+ "รอ"
+
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index f84b32c62..9249c05d5 100644
--- a/java/res/values-th/strings.xml
+++ b/java/res/values-th/strings.xml
@@ -74,20 +74,11 @@
"ดูตัวอย่างลอยแบบไดนามิก"
"ดูคำแนะนำในขณะที่ใช้ท่าทางสัมผัส"
"%s : บันทึกแล้ว"
- "ไป"
- "ถัดไป"
- "ก่อนหน้า"
- "เสร็จสิ้น"
- "ส่ง"
- "หยุดชั่วคราว"
- "รอ"
"เสียบชุดหูฟังเพื่อฟังเสียงเมื่อพิมพ์รหัสผ่าน"
"ข้อความปัจจุบันคือ %s"
"ไม่มีข้อความ"
-
-
-
-
+ "%1$s แก้ไข %2$s เป็น %3$s"
+ "%1$s ทำการแก้ไขอัตโนมัติ"
"รหัสคีย์ %d"
"Shift"
"Shift เปิดอยู่ (แตะเพื่อปิดใช้งาน)"
@@ -156,6 +147,9 @@
"ตัวอักษร (Colemak)"
"ตัวอักษร (PC)"
"อีโมจิ"
+ "รูปแบบสี"
+ "ขาว"
+ "น้ำเงิน"
"รูปแบบอินพุตกำหนดเอง"
"เพิ่มสไตล์"
"เพิ่ม"
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 000000000..a7f4cc78f
--- /dev/null
+++ b/java/res/values-tl/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Go"
+ "Sunod"
+ "Nauna"
+ "Tapos"
+ "Send"
+ "Pause"
+ "Intay"
+
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
index af1c68e01..df6bda09b 100644
--- a/java/res/values-tl/strings.xml
+++ b/java/res/values-tl/strings.xml
@@ -74,20 +74,11 @@
"Dynamic na floating preview"
"Tingnan ang iminungkahing salita habang gumagalaw"
"%s : Na-save"
- "Punta"
- "Susunod"
- "Nkrn"
- "Tapos na"
- "Ipadala"
- "Pause"
- "Intay"
"Mag-plug in ng headset upang marinig ang mga password key na binabanggit nang malakas."
"Ang kasalukuyang teksto ay %s"
"Walang tekstong inilagay"
-
-
-
-
+ "Itatama at gagawing %3$s ng %1$s ang %2$s"
+ "Magsasagawa ng auto-correction ang %1$s"
"Code ng key %d"
"Shift"
"Naka-on ang shift (i-tap upang huwag paganahin)"
@@ -156,6 +147,9 @@
"Alpabeto (Colemak)"
"Alpabeto (PC)"
"Emoji"
+ "Scheme ng kulay"
+ "Puti"
+ "Asul"
"Custom style ng input"
"Dagdag style"
"Idagdag"
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 000000000..b34c576b6
--- /dev/null
+++ b/java/res/values-tr/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Git"
+ "İleri"
+ "Geri"
+ "Bitti"
+ "Gönder"
+ "Dur"
+ "Bekle"
+
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
index 4c8e1a81d..a14295153 100644
--- a/java/res/values-tr/strings.xml
+++ b/java/res/values-tr/strings.xml
@@ -74,20 +74,11 @@
"Dinamik kayan önizleme"
"Hareket sırasında önerilen kelimeyi göster"
"%s : Kaydedildi"
- "Git"
- "İleri"
- "Önceki"
- "Bitti"
- "Gönder"
- "Durkl"
- "Bekle"
"Şifre tuşlarının sesli okunmasını dinlemek için mikrofonlu kulaklık takın."
"Mevcut metin: %s"
"Hiç metin girilmedi"
-
-
-
-
+ "%1$s tuşu %2$s kelimesini %3$s olarak düzeltir"
+ "%1$s tuşu otomatik düzeltme gerçekleştirir"
"Tuş kodu: %d"
"Üst Karakter"
"Üst karakter açık (devre dışı bırakmak için hafifçe vurun)"
@@ -156,6 +147,9 @@
"Alfabe (Colemak)"
"Alfabe (PC)"
"Emoji"
+ "Renk şeması"
+ "Beyaz"
+ "Mavi"
"Özel giriş stilleri"
"Stil ekle"
"Ekle"
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 000000000..3e5762b3f
--- /dev/null
+++ b/java/res/values-uk/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Іти"
+ "Далі"
+ "Назад"
+ "ОК"
+ "Слати"
+ "Пауза"
+ "Ждати"
+
diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml
index 287bcb397..da26d5005 100644
--- a/java/res/values-uk/strings.xml
+++ b/java/res/values-uk/strings.xml
@@ -74,20 +74,11 @@
"Динамічний спливаючий перегляд"
"Показувати пропоноване слово під час введення тексту жестами"
"%s : збережено"
- "OK"
- "Далі"
- "Назад"
- "Готово"
- "Надісл."
- "Пауза"
- "Чек."
"Підключіть гарнітуру, щоб прослухати відтворені вголос символи пароля."
"Поточний текст – %s."
"Текст не введено"
-
-
-
-
+ "%1$s виправляє %2$s на %3$s"
+ "%1$s здійснює автоматичне виправлення"
"Код клавіші – %d"
"Клавіша Shift"
"Shift увімкнено (швидко торкніться, щоб вимкнути)"
@@ -156,6 +147,9 @@
"Латиниця (Colemak)"
"Латиниця (ПК)"
"Cмайли Emoji"
+ "Схема кольорів"
+ "Біла"
+ "Синя"
"Персональні стилі введення"
"Додати стиль"
"Додати"
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 000000000..ceb780ed1
--- /dev/null
+++ b/java/res/values-vi/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Tìm"
+ "Tiếp"
+ "Trước"
+ "Xong"
+ "Gửi"
+ "Tdừng"
+ "Đợi"
+
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
index 8764df5e0..81cd373e4 100644
--- a/java/res/values-vi/strings.xml
+++ b/java/res/values-vi/strings.xml
@@ -74,20 +74,11 @@
"Xem trước nổi động"
"Xem từ được đề xuất trong khi dùng cử chỉ"
"%s : Đã lưu"
- "Tìm"
- "Tiếp theo"
- "Trước"
- "Xong"
- "Gửi"
- "Tạm dừng"
- "Đợi"
"Cắm tai nghe để nghe mật khẩu."
"Ký tự hiện tại là %s"
"Không có ký tự nào được nhập"
-
-
-
-
+ "%1$s sửa %2$s thành %3$s"
+ "%1$s thực hiện tự động sửa"
"Mã phím %d"
"Shift"
"Shift đang bật (bấm để tắt)"
@@ -156,6 +147,9 @@
"Bảng chữ cái (Colemak)"
"Bảng chữ cái (PC)"
"Biểu tượng cảm xúc"
+ "Phối màu"
+ "Trắng"
+ "Lam"
"Kiểu nhập tùy chỉnh"
"Thêm kiểu"
"Thêm"
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 000000000..aacbb5fc7
--- /dev/null
+++ b/java/res/values-zh-rCN/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "前往"
+ "下个"
+ "上个"
+ "完成"
+ "发送"
+ "暂停"
+ "等待"
+
diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml
index f7ceff44f..d347c9ce8 100644
--- a/java/res/values-zh-rCN/strings.xml
+++ b/java/res/values-zh-rCN/strings.xml
@@ -74,20 +74,11 @@
"动态漂浮预览"
"在滑行输入过程中显示建议字词"
"%s:已保存"
- "开始"
- "下个"
- "后退"
- "完成"
- "发送"
- "暂停"
- "等待"
"需要插入耳机才能听到密码的按键声。"
"当前文本为%s"
"未输入文字"
-
-
-
-
+ "按%1$s可将%2$s更正为%3$s"
+ "按%1$s可执行自动更正"
"键码为 %d"
"Shift"
"Shift 模式已启用(点按即可停用)"
@@ -156,6 +147,9 @@
"字母 (Colemak)"
"字母 (PC)"
"表情符号"
+ "配色方案"
+ "白色"
+ "蓝色"
"自定义输入风格"
"添加样式"
"添加"
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 000000000..e95251696
--- /dev/null
+++ b/java/res/values-zh-rHK/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "前往"
+ "下一步"
+ "上一步"
+ "完成"
+ "傳送"
+ "暫停"
+ "等候"
+
diff --git a/java/res/values-zh-rHK/strings-appname.xml b/java/res/values-zh-rHK/strings-appname.xml
new file mode 100644
index 000000000..8761a98d0
--- /dev/null
+++ b/java/res/values-zh-rHK/strings-appname.xml
@@ -0,0 +1,27 @@
+
+
+
+
+ "Android 鍵盤 (AOSP)"
+ "Android 拼字檢查工具 (AOSP)"
+ "Android 鍵盤設定 (AOSP)"
+ "Android 拼字檢查工具設定 (AOSP)"
+
diff --git a/java/res/values-zh-rHK/strings.xml b/java/res/values-zh-rHK/strings.xml
new file mode 100644
index 000000000..306045591
--- /dev/null
+++ b/java/res/values-zh-rHK/strings.xml
@@ -0,0 +1,242 @@
+
+
+
+
+ "輸入選項"
+ "研究記錄指令"
+ "查找聯絡人姓名"
+ "拼字檢查程式使用您的聯絡人名單中的各項記錄"
+ "按鍵時震動"
+ "按鍵時播放音效"
+ "按鍵時顯示彈出式視窗"
+ "一般設定"
+ "文字更正"
+ "手勢輸入"
+ "其他選項"
+ "進階設定"
+ "專家選項"
+ "切換至其他輸入法"
+ "語言切換鍵包括其他輸入法"
+ "語言切換鍵"
+ "在啟用多種輸入語言時顯示"
+ "顯示滑動指示器"
+ "從 Shift 鍵或符號鍵開始滑動時顯示視覺提示"
+ "關閉彈出式鍵盤的延遲時間"
+ "不延遲"
+ "預設"
+ "%s 毫秒"
+ "系統預設"
+ "建議聯絡人名稱"
+ "使用「聯絡人」的名稱提供建議與修正"
+ "按兩下空格鍵插入句號"
+ "只要輕按兩下空格鍵,即可插入句號並在後面加上一個空格"
+ "自動大寫"
+ "每句首個字詞大寫"
+ "個人字典"
+ "附加字典"
+ "主要字典"
+ "顯示更正建議"
+ "輸入時顯示建議字詞"
+ "永遠顯示"
+ "以垂直模式顯示"
+ "永遠隱藏"
+ "封鎖令人反感的字詞"
+ "不建議使用可能令人反感的字詞"
+ "自動更正"
+ "自動插入空白鍵和標點符號鍵盤,以修正拼字錯誤"
+ "關閉"
+ "普通模式"
+ "加強模式"
+ "極度加強模式"
+ "建議下一個字詞"
+ "根據前一個字詞提出建議"
+ "啟用手勢輸入"
+ "透過滑動手指寫出字母來輸入字詞"
+ "顯示手勢軌跡"
+ "動態浮動預覽"
+ "在啟用手勢輸入時顯示建議的字詞"
+ "%s:已儲存"
+ "插上耳機即可聽到系統朗讀密碼鍵。"
+ "目前文字為 %s"
+ "未輸入文字"
+ "按「%1$s」可將「%2$s」修正為「%3$s」"
+ "按「%1$s」可自動修正"
+ "按鍵代碼 %d"
+ "Shift 鍵"
+ "Shift 鍵已開啟 (輕按即可停用)"
+ "大寫鎖定已開啟 (輕按即可停用)"
+ "刪除"
+ "符號"
+ "字母"
+ "數字"
+ "設定"
+ "Tab 鍵"
+ "空白鍵"
+ "語音輸入"
+ "笑臉"
+ "Return 鍵"
+ "搜尋"
+ "點"
+ "切換語言"
+ "下一步"
+ "上一步"
+ "Shift 鍵已啟用"
+ "大寫鎖定已啟用"
+ "Shift 鍵已停用"
+ "符號模式"
+ "字母模式"
+ "撥號模式"
+ "符號撥號模式"
+ "鍵盤已隱藏"
+ "目前顯示的是%s鍵盤"
+ "日期"
+ "日期和時間"
+ "電郵"
+ "短訊"
+ "數字"
+ "電話"
+ "文字"
+ "時間"
+ "網址"
+ "語音輸入鍵"
+ "於主鍵盤"
+ "符號鍵盤上"
+ "關閉"
+ "主鍵盤上的麥克風"
+ "符號鍵盤上的麥克風"
+ "語音輸入已停用"
+ "設定輸入法"
+ "輸入語言"
+ "傳送意見"
+ "輸入語言"
+ "再次輕觸即可儲存"
+ "可使用字典"
+ "啟用用戶意見反映"
+ "自動傳送使用統計資料和當機報告,協助改良這個輸入法編輯器"
+ "鍵盤主題"
+ "英文 (英國)"
+ "英文 (美國)"
+ "西班牙文 (美國)"
+ "英文 (英國) (%s)"
+ "英文 (美國) (%s)"
+ "西班牙文 (美國) (%s)"
+ "%s (傳統)"
+ "無語言 (字母)"
+ "字母 (QWERTY)"
+ "字母 (QWERTZ)"
+ "字母 (AZERTY)"
+ "字母 (Dvorak)"
+ "字母 (Colemak)"
+ "字母 (PC)"
+ "Emoji"
+ "色彩配置"
+ "白色"
+ "藍色"
+ "自訂輸入樣式"
+ "新增樣式"
+ "新增"
+ "移除"
+ "儲存"
+ "語言"
+ "配置"
+ "您必須先啟用自訂輸入樣式,才能開始使用。您要立即啟用嗎?"
+ "啟用"
+ "暫時不要"
+ "已存在相同的輸入樣式:%s"
+ "可用性研究模式"
+ "長按鍵延遲"
+ "按鍵震動時間"
+ "按鍵音量"
+ "讀取外部字典檔案"
+ "「下載」資料夾中沒有任何字典檔案"
+ "選取要安裝的字典檔案"
+ "準備好要為%s版本安裝這個檔案嗎?"
+ "發生錯誤"
+ "預設"
+ "歡迎使用「%s」"
+ "配備觸控輸入功能"
+ "開始"
+ "下一步"
+ "設定「%s」"
+ "啟用「%s」"
+ "請在語言與輸入設定中勾選「%s」,授權這個應用程式在您的裝置上執行。"
+ "您已在 [語言與輸入設定] 中啟用「%s」。這個步驟已完成,可繼續下一個步驟了!"
+ "在設定中啟用"
+ "切換至「%s」"
+ "接著,請選取「%s」作為目前使用的文字輸入方法。"
+ "切換輸入方法"
+ "恭喜,一切就緒!"
+ "現在,您可以在所有最愛的應用程式中使用「%s」輸入文字。"
+ "設定其他語言"
+ "完成"
+ "顯示應用程式圖示"
+ "在啟動器中顯示應用程式圖示"
+ "字典供應商"
+ "字典供應商"
+ "字典服務"
+ "字典更新資訊"
+ "附加字典"
+ "可使用字典"
+ "字典設定"
+ "用戶字典"
+ "用戶字典"
+ "可使用字典"
+ "目前下載中"
+ "已安裝"
+ "已安裝,但已停用"
+ "連線至字典服務時發生問題"
+ "沒有可用的字典"
+ "重新整理"
+ "上次更新日期"
+ "正在查看更新"
+ "正在載入..."
+ "主要字典"
+ "取消"
+ "安裝"
+ "取消"
+ "刪除"
+ "您的流動裝置所選取的語言現有字典可供使用。<br/>建議您<b>下載</b>%1$s字典,讓您輸入時更方便。<br/><br/>經由 3G 網絡下載需時一兩分鐘。如果您未使用<b>無限上網計劃</b>,可能須另外付費。<br/>如果您不確定自己使用哪種上網計劃,建議您在連接 Wi-Fi 網絡後才開始自動下載。<br/><br/>提示:您可以前往流動裝置的 [設定] <b></b>選單,透過其中的 [語言和輸入] <b></b>下載和移除字典。"
+ "立即下載 (%1$.1f MB)"
+ "經由 Wi-Fi 下載"
+ "可使用%1$s字典"
+ "按下即可查看並下載"
+ "下載中:很快就能提供%1$s字詞建議。"
+ "版本 %1$s"
+ "新增"
+ "加入字典"
+ "詞組"
+ "更多選項"
+ "較少選項"
+ "確定"
+ "字詞:"
+ "快速鍵:"
+ "語言:"
+ "輸入字詞"
+ "自選快速鍵"
+ "編輯字詞"
+ "編輯"
+ "刪除"
+ "您的用戶字典中沒有任何字詞。輕觸 [新增] (+) 按鈕即可新增字詞。"
+ "所有語言"
+ "更多語言..."
+ "刪除"
+ " ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+
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 000000000..00daa5c63
--- /dev/null
+++ b/java/res/values-zh-rTW/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "執行"
+ "繼續"
+ "返回"
+ "完成"
+ "傳送"
+ "暫停"
+ "等待"
+
diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml
index b773ad21c..2c474b79e 100644
--- a/java/res/values-zh-rTW/strings.xml
+++ b/java/res/values-zh-rTW/strings.xml
@@ -29,7 +29,7 @@
"按鍵時彈出"
"一般"
"文字修正"
- "手勢輸入"
+ "滑行輸入"
"其他選項"
"進階設定"
"進階選項"
@@ -44,7 +44,7 @@
"預設"
"%s 毫秒"
"系統預設"
- "建議聯絡人姓名"
+ "聯絡人姓名建議"
"根據「聯絡人」名稱提供建議與修正"
"輕按兩下空格鍵即插入句號"
"輕按兩下空格鍵可插入句號另加一個空格"
@@ -68,26 +68,17 @@
"極大幅度更正"
"建議下一個字詞"
"根據前一個字詞提供建議"
- "啟用手勢輸入"
+ "啟用滑行輸入"
"以滑動方式寫出字詞中字母來輸入字詞"
"顯示手勢軌跡"
"動態浮動預覽"
- "使用手勢輸入時顯示建議字詞"
+ "使用滑行輸入時顯示建議字詞"
"%s:已儲存"
- "前往"
- "下一頁"
- "上一頁"
- "完成"
- "傳送"
- "暫停"
- "等待"
"連接耳機即可聽取系統朗讀密碼按鍵。"
"目前文字為 %s"
"未輸入文字"
-
-
-
-
+ "按下「%1$s」可將「%2$s」修正為「%3$s」"
+ "按下「%1$s」可執行自動修正"
"按鍵代碼 %d"
"Shift 鍵"
"Shift 鍵已開啟 (輕按即可停用)"
@@ -156,6 +147,9 @@
"字母 (Colemak)"
"字母 (PC)"
"表情符號"
+ "色彩配置"
+ "白色"
+ "藍色"
"自訂輸入樣式"
"新增樣式"
"新增"
@@ -178,7 +172,7 @@
"發生錯誤"
"預設"
"歡迎使用 %s"
- "含手勢輸入功能"
+ "含滑行輸入功能"
"開始設定"
"下一步"
"正在設定「%s」"
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 000000000..6cd5e8c99
--- /dev/null
+++ b/java/res/values-zu/strings-action-keys.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ "Hamba"
+ "Okulandelayo"
+ "Okwedlule"
+ "Kwenziwe"
+ "Thumela"
+ "Misa isikhashana"
+ "Linda"
+
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
index 8f722cce3..27d11316c 100644
--- a/java/res/values-zu/strings.xml
+++ b/java/res/values-zu/strings.xml
@@ -74,20 +74,11 @@
"Ukuhlola kuqala okuntantayo okunamandla"
"Bona igama eliphakanyisiwe ngenkathi uthinta"
"%s : Kulondoloziwe"
- "Iya"
- "Okulandelayo"
- "Eledlule"
- "Kwenziwe"
- "Thumela"
- "Misa okwesikhashana"
- "Linda"
"Plaka ku-headset ukuze uzwe okhiye bephasiwedi ezindlebeni zakho bezwakala kakhulu."
"Umbhalo wamanje ngu %s"
"Awukho umbhalo ofakiwe"
-
-
-
-
+ "I-%1$s ilungisa i-%2$s ibe yi-%3$s"
+ "I-%1$s yenza ukulungiswa kokuzenzakalela"
"Ikhodi yokhiye %d"
"Shift"
"U-Shift uvuliwe (thepha ukuwuvimbela)"
@@ -156,6 +147,9 @@
"Alfabhethi (Colemak)"
"Alfabhethi (PC)"
"I-Emoji"
+ "Isikimu sombala"
+ "Okumhlophe"
+ "Okuluhlaza okwesibhakabhaka"
"Izitayela zokufaka ngokwezifiso"
"Engeza isitayela"
"Engeza"
diff --git a/java/res/values/colors.xml b/java/res/values/colors.xml
index 94fadb964..93f25a7f6 100644
--- a/java/res/values/colors.xml
+++ b/java/res/values/colors.xml
@@ -39,20 +39,20 @@
#D833B5E5
#B233B5E5
#9933B5E5
- @android:color/transparent
- #66E0E4E5
- #80000000
- #A0FFFFFF
- #66E0E4E5
- @android:color/white
- #FFC0C0C0
- #80000000
- #C0000000
+ @android:color/transparent
+ #66E0E4E5
+ #80000000
+ #A0FFFFFF
+ #66E0E4E5
+ @android:color/white
+ #FFC0C0C0
+ #80000000
+ #C0000000
- #FFF0F0F0
- #D8F0F0F0
- #B2F0F0F0
- #99E0E0E0
+ #FFF0F0F0
+ #D8F0F0F0
+ #B2F0F0F0
+ #99E0E0E0
#FFEBEBEB
#FF707070
@@ -66,6 +66,6 @@
#00000000
#30FFFFFF
- @android:color/white
- @android:color/white
+ @android:color/white
+ @android:color/white
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index 66b9b7082..61779d4b5 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -41,8 +41,8 @@
32
16
1100
-
- 0
+
+ 2
5
@@ -71,9 +71,9 @@
64%
41%
- 8.0dp
+ 8.0dp
- -26.4dp
+ -26.4dp
40dp
12dp
diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml
index 4733aa257..af5ec061b 100644
--- a/java/res/values/donottranslate.xml
+++ b/java/res/values/donottranslate.xml
@@ -103,15 +103,30 @@
Gingerbread
IceCreamSandwich
+ KeyLimePie
- @string/layout_ics
- @string/layout_gingerbread
+ - @string/layout_klp
+
- 0
- 1
+ - 2
+
+
+
+
+ - @string/keyboard_color_scheme_white
+ - @string/keyboard_color_scheme_blue
+
+
+
+ - 2
+ - 0
+
+
+
+
diff --git a/java/res/values/keypress-vibration-durations.xml b/java/res/values/keypress-vibration-durations.xml
index ee0ac003c..cde4e4447 100644
--- a/java/res/values/keypress-vibration-durations.xml
+++ b/java/res/values/keypress-vibration-durations.xml
@@ -55,6 +55,8 @@
- MODEL=HTL22:MANUFACTURER=HTC,15
- MODEL=XT907:MANUFACTURER=motorola,30
+
+ - MODEL=XT1035:MANUFACTURER=motorola,18
- MODEL=C6603|C6806:MANUFACTURER=Sony,35
diff --git a/java/res/values/strings-action-keys.xml b/java/res/values/strings-action-keys.xml
new file mode 100644
index 000000000..7003784c6
--- /dev/null
+++ b/java/res/values/strings-action-keys.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+ Go
+
+ Next
+
+ Prev
+
+ Done
+
+ Send
+
+ Pause
+
+ Wait
+
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index a779c6efa..11b3ea3af 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -151,21 +151,6 @@
%s : Saved
-
- Go
-
- Next
-
- Prev
-
- Done
-
- Send
-
- Pause
-
- Wait
-
Plug in a headset to hear password keys spoken aloud.
@@ -467,6 +452,13 @@ mobile devices. [CHAR LIMIT=25] -->
Emoji
+
+ Color scheme
+
+ White
+
+ Blue
+
Custom input styles
diff --git a/java/res/values/themes-common.xml b/java/res/values/themes-common.xml
index 37607711d..298936d9c 100644
--- a/java/res/values/themes-common.xml
+++ b/java/res/values/themes-common.xml
@@ -30,7 +30,7 @@
- @integer/config_max_more_keys_column
-
@@ -104,7 +81,7 @@
parent="KeyboardView.ICS"
>
- @drawable/btn_keyboard_key_functional_ics
- - @color/emoji_tab_label_color_ics
+ - @color/emoji_tab_label_color_holo
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/values/touch-position-correction.xml b/java/res/values/touch-position-correction.xml
index 9df517b32..becec0e0a 100644
--- a/java/res/values/touch-position-correction.xml
+++ b/java/res/values/touch-position-correction.xml
@@ -57,7 +57,7 @@
diff --git a/java/res/xml/key_f1.xml b/java/res/xml/key_f1.xml
index 455f9ef59..72e38cb1a 100644
--- a/java/res/xml/key_f1.xml
+++ b/java/res/xml/key_f1.xml
@@ -47,7 +47,7 @@
diff --git a/java/res/xml/key_nepali_traditional_period.xml b/java/res/xml/key_nepali_traditional_period.xml
index 0f575c50b..1c389b009 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. -->
+
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index 6c36b0e89..bf3b62353 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -158,6 +158,13 @@
android:summary="@string/sliding_key_input_preview_summary"
android:persistent="true"
android:defaultValue="true" />
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/java/src/com/android/inputmethod/keyboard/EmojiLayoutParams.java b/java/src/com/android/inputmethod/keyboard/EmojiLayoutParams.java
index ceb44e79f..967448c28 100644
--- a/java/src/com/android/inputmethod/keyboard/EmojiLayoutParams.java
+++ b/java/src/com/android/inputmethod/keyboard/EmojiLayoutParams.java
@@ -40,13 +40,13 @@ public class EmojiLayoutParams {
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/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index b7521b998..5abc9ab38 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -27,6 +27,7 @@ import android.view.View;
import android.view.inputmethod.EditorInfo;
import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
+import com.android.inputmethod.compat.InputMethodServiceCompatUtils;
import com.android.inputmethod.keyboard.KeyboardLayoutSet.KeyboardLayoutSetException;
import com.android.inputmethod.keyboard.internal.KeyboardState;
import com.android.inputmethod.latin.InputView;
@@ -43,8 +44,6 @@ import com.android.inputmethod.latin.utils.ResourceUtils;
public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
private static final String TAG = KeyboardSwitcher.class.getSimpleName();
- public static final String PREF_KEYBOARD_LAYOUT = "pref_keyboard_layout_20110916";
-
static final class KeyboardTheme {
public final int mThemeId;
public final int mStyleId;
@@ -57,9 +56,14 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
}
}
- private static final KeyboardTheme[] KEYBOARD_THEMES = {
- new KeyboardTheme(0, R.style.KeyboardTheme_ICS),
- new KeyboardTheme(1, R.style.KeyboardTheme_GB),
+ public static final int THEME_INDEX_ICS = 0;
+ public static final int THEME_INDEX_GB = 1;
+ public static final int THEME_INDEX_KLP = 2;
+ public static final int THEME_INDEX_DEFAULT = THEME_INDEX_KLP;
+ public static final KeyboardTheme[] KEYBOARD_THEMES = {
+ new KeyboardTheme(THEME_INDEX_ICS, R.style.KeyboardTheme_ICS),
+ new KeyboardTheme(THEME_INDEX_GB, R.style.KeyboardTheme_GB),
+ new KeyboardTheme(THEME_INDEX_KLP, R.style.KeyboardTheme_KLP),
};
private SubtypeSwitcher mSubtypeSwitcher;
@@ -71,6 +75,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
private EmojiPalettesView mEmojiPalettesView;
private LatinIME mLatinIME;
private Resources mResources;
+ private boolean mIsHardwareAcceleratedDrawingEnabled;
private KeyboardState mState;
@@ -80,7 +85,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
* what user actually typed. */
private boolean mIsAutoCorrectionActive;
- private KeyboardTheme mKeyboardTheme = KEYBOARD_THEMES[0];
+ private KeyboardTheme mKeyboardTheme = KEYBOARD_THEMES[THEME_INDEX_DEFAULT];
private Context mThemeContext;
private static final KeyboardSwitcher sInstance = new KeyboardSwitcher();
@@ -104,32 +109,40 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
mPrefs = prefs;
mSubtypeSwitcher = SubtypeSwitcher.getInstance();
mState = new KeyboardState(this);
- setContextThemeWrapper(latinIme, getKeyboardTheme(latinIme, prefs));
+ mIsHardwareAcceleratedDrawingEnabled =
+ InputMethodServiceCompatUtils.enableHardwareAcceleration(mLatinIME);
+ }
+
+ public void updateKeyboardTheme() {
+ final boolean themeUpdated = updateKeyboardThemeAndContextThemeWrapper(
+ mLatinIME, getKeyboardTheme(mLatinIME, mPrefs));
+ if (themeUpdated && mKeyboardView != null) {
+ mLatinIME.setInputView(onCreateInputView(mIsHardwareAcceleratedDrawingEnabled));
+ }
}
private static KeyboardTheme getKeyboardTheme(final Context context,
final SharedPreferences prefs) {
- final String defaultIndex = context.getString(R.string.config_default_keyboard_theme_index);
- final String themeIndex = prefs.getString(PREF_KEYBOARD_LAYOUT, defaultIndex);
- try {
- final int index = Integer.valueOf(themeIndex);
- if (index >= 0 && index < KEYBOARD_THEMES.length) {
- return KEYBOARD_THEMES[index];
- }
- } catch (NumberFormatException e) {
- // Format error, keyboard theme is default to 0.
+ final Resources res = context.getResources();
+ final int index = Settings.readKeyboardThemeIndex(prefs, res);
+ if (index >= 0 && index < KEYBOARD_THEMES.length) {
+ return KEYBOARD_THEMES[index];
}
- Log.w(TAG, "Illegal keyboard theme in preference: " + themeIndex + ", default to "
- + defaultIndex);
- return KEYBOARD_THEMES[Integer.valueOf(defaultIndex)];
+ final int defaultThemeIndex = Settings.resetAndGetDefaultKeyboardThemeIndex(prefs, res);
+ Log.w(TAG, "Illegal keyboard theme in preference: " + index + ", default to "
+ + defaultThemeIndex);
+ return KEYBOARD_THEMES[defaultThemeIndex];
}
- private void setContextThemeWrapper(final Context context, final KeyboardTheme keyboardTheme) {
+ private boolean updateKeyboardThemeAndContextThemeWrapper(final Context context,
+ final KeyboardTheme keyboardTheme) {
if (mThemeContext == null || mKeyboardTheme.mThemeId != keyboardTheme.mThemeId) {
mKeyboardTheme = keyboardTheme;
mThemeContext = new ContextThemeWrapper(context, keyboardTheme.mStyleId);
KeyboardLayoutSet.clearKeyboardCache();
+ return true;
}
+ return false;
}
public void loadKeyboard(final EditorInfo editorInfo, final SettingsValues settingsValues) {
@@ -361,7 +374,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
mKeyboardView.closing();
}
- setContextThemeWrapper(mLatinIME, mKeyboardTheme);
+ updateKeyboardThemeAndContextThemeWrapper(mLatinIME, mKeyboardTheme);
mCurrentInputView = (InputView)LayoutInflater.from(mThemeContext).inflate(
R.layout.input_view, null);
mMainKeyboardFrame = mCurrentInputView.findViewById(R.id.main_keyboard_frame);
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index e769e3cdd..c2a01b5e8 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -278,7 +278,7 @@ public final class KeyboardTextsSet {
/* 50 */ "\u00A2,\u00A3,\u20AC,\u00A5,\u20B1",
/* 51 */ "$",
/* 52 */ "$,\u00A2,\u20AC,\u00A3,\u00A5,\u20B1",
- /* 53 */ "!fixedColumnOrder!4,#,!,\\,,?,-,:,',@",
+ /* 53 */ "!fixedColumnOrder!8,;,/,(,),#,!,\\,,?,&,\\%,+,\",-,:,',@",
// U+2020: "†" DAGGER
// U+2021: "‡" DOUBLE DAGGER
// U+2605: "★" BLACK STAR
@@ -785,7 +785,7 @@ public final class KeyboardTextsSet {
null, null, null, null, null, null, null, null,
/* ~52 */
// U+00B7: "·" MIDDLE DOT
- /* 53 */ "!fixedColumnOrder!4,\u00B7,!,\\,,?,:,;,@",
+ /* 53 */ "!fixedColumnOrder!9,;,/,(,),#,\u00B7,!,\\,,?,&,\\%,+,\",-,:,',@",
/* 54~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
@@ -1935,7 +1935,7 @@ public final class KeyboardTextsSet {
// U+20AA: "₪" NEW SHEQEL SIGN
/* 51 */ "\u20AA",
/* 52 */ null,
- /* 53 */ null,
+ /* 53 */ "!fixedColumnOrder!8,;,/,(|),)|(,#,!,\\,,?,&,\\%,+,\",-,:,',@",
// U+2605: "★" BLACK STAR
/* 54 */ "\u2605",
/* 55 */ null,
diff --git a/java/src/com/android/inputmethod/latin/Constants.java b/java/src/com/android/inputmethod/latin/Constants.java
index c4f96016c..9a9653094 100644
--- a/java/src/com/android/inputmethod/latin/Constants.java
+++ b/java/src/com/android/inputmethod/latin/Constants.java
@@ -174,6 +174,7 @@ public final class Constants {
public static final int CODE_SLASH = '/';
public static final int CODE_COMMERCIAL_AT = '@';
public static final int CODE_PLUS = '+';
+ public static final int CODE_PERCENT = '%';
public static final int CODE_CLOSING_PARENTHESIS = ')';
public static final int CODE_CLOSING_SQUARE_BRACKET = ']';
public static final int CODE_CLOSING_CURLY_BRACKET = '}';
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 608bb3cea..77d07019f 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -725,8 +725,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
LatinImeLogger.commit();
LatinImeLogger.onDestroy();
if (mInputUpdater != null) {
- mInputUpdater.onDestroy();
- mInputUpdater = null;
+ mInputUpdater.quitLooper();
}
super.onDestroy();
}
@@ -811,6 +810,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
super.onStartInputView(editorInfo, restarting);
mRichImm.clearSubtypeCaches();
final KeyboardSwitcher switcher = mKeyboardSwitcher;
+ switcher.updateKeyboardTheme();
final MainKeyboardView mainKeyboardView = switcher.getMainKeyboardView();
// If we are starting input in a different text field from before, we'll have to reload
// settings, so currentSettingsValues can't be final.
@@ -910,6 +910,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
false /* shouldFinishComposition */)) {
// We try resetting the caches up to 5 times before giving up.
mHandler.postResetCaches(isDifferentTextField, 5 /* remainingTries */);
+ // mLastSelection{Start,End} are reset later in this method, don't need to do it here
canReachInputConnection = false;
} else {
if (isDifferentTextField) {
@@ -989,10 +990,16 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (textLength > mLastSelectionStart
|| (textLength < Constants.EDITOR_CONTENTS_CACHE_SIZE
&& mLastSelectionStart < Constants.EDITOR_CONTENTS_CACHE_SIZE)) {
+ // It should not be possible to have only one of those variables be
+ // NOT_A_CURSOR_POSITION, so if they are equal, either the selection is zero-sized
+ // (simple cursor, no selection) or there is no cursor/we don't know its pos
+ final boolean wasEqual = mLastSelectionStart == mLastSelectionEnd;
mLastSelectionStart = textLength;
// We can't figure out the value of mLastSelectionEnd :(
- // But at least if it's smaller than mLastSelectionStart something is wrong
- if (mLastSelectionStart > mLastSelectionEnd) {
+ // But at least if it's smaller than mLastSelectionStart something is wrong,
+ // and if they used to be equal we also don't want to make it look like there is a
+ // selection.
+ if (wasEqual || mLastSelectionStart > mLastSelectionEnd) {
mLastSelectionEnd = mLastSelectionStart;
}
}
@@ -1457,7 +1464,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
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.
@@ -1502,6 +1508,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|| codePoint == Constants.CODE_CLOSING_CURLY_BRACKET
|| codePoint == Constants.CODE_CLOSING_ANGLE_BRACKET
|| codePoint == Constants.CODE_PLUS
+ || codePoint == Constants.CODE_PERCENT
|| Character.getType(codePoint) == Character.OTHER_SYMBOL;
}
@@ -1816,13 +1823,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mWordComposer.setCapitalizedModeAtStartComposingTime(getActualCapsMode());
}
- private static final class InputUpdater implements Handler.Callback {
+ static final class InputUpdater implements Handler.Callback {
private final Handler mHandler;
private final LatinIME mLatinIme;
private final Object mLock = new Object();
private boolean mInBatchInput; // synchronized using {@link #mLock}.
- private InputUpdater(final LatinIME latinIme) {
+ InputUpdater(final LatinIME latinIme) {
final HandlerThread handlerThread = new HandlerThread(
InputUpdater.class.getSimpleName());
handlerThread.start();
@@ -1939,7 +1946,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
.sendToTarget();
}
- private void onDestroy() {
+ void quitLooper() {
mHandler.removeMessages(MSG_GET_SUGGESTED_WORDS);
mHandler.removeMessages(MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP);
mHandler.getLooper().quit();
@@ -2156,26 +2163,12 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// later (typically, in a subsequent press on backspace).
mLastSelectionEnd = mLastSelectionStart;
mConnection.deleteSurroundingText(numCharsDeleted, 0);
- if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
- ResearchLogger.latinIME_handleBackspace(numCharsDeleted,
- false /* shouldUncommitLogUnit */);
- }
} else {
// There is no selection, just delete one character.
if (NOT_A_CURSOR_POSITION == mLastSelectionEnd) {
// This should never happen.
Log.e(TAG, "Backspace when we don't know the selection position");
}
- final int codePointBeforeCursor = mConnection.getCodePointBeforeCursor();
- if (codePointBeforeCursor == Constants.NOT_A_CODE) {
- // Nothing to delete before the cursor. We have to revert the deletion states
- // that were updated at the beginning of this method.
- mDeleteCount--;
- mExpectingUpdateSelection = false;
- return;
- }
- final int lengthToDelete =
- Character.isSupplementaryCodePoint(codePointBeforeCursor) ? 2 : 1;
if (mAppWorkAroundsUtils.isBeforeJellyBean() ||
currentSettings.mInputAttributes.isTypeNull()) {
// There are two possible reasons to send a key event: either the field has
@@ -2186,23 +2179,28 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// applications are relying on this behavior so we continue to support it for
// older apps, so we retain this behavior if the app has target SDK < JellyBean.
sendDownUpKeyEvent(KeyEvent.KEYCODE_DEL);
+ if (mDeleteCount > DELETE_ACCELERATE_AT) {
+ sendDownUpKeyEvent(KeyEvent.KEYCODE_DEL);
+ }
} else {
+ final int codePointBeforeCursor = mConnection.getCodePointBeforeCursor();
+ if (codePointBeforeCursor == Constants.NOT_A_CODE) {
+ // Nothing to delete before the cursor. We have to revert the deletion
+ // states that were updated at the beginning of this method.
+ mDeleteCount--;
+ mExpectingUpdateSelection = false;
+ return;
+ }
+ final int lengthToDelete =
+ Character.isSupplementaryCodePoint(codePointBeforeCursor) ? 2 : 1;
mConnection.deleteSurroundingText(lengthToDelete, 0);
- }
- if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
- ResearchLogger.latinIME_handleBackspace(lengthToDelete,
- true /* shouldUncommitLogUnit */);
- }
- if (mDeleteCount > DELETE_ACCELERATE_AT) {
- final int codePointBeforeCursorToDeleteAgain =
- mConnection.getCodePointBeforeCursor();
- if (codePointBeforeCursorToDeleteAgain != Constants.NOT_A_CODE) {
- final int lengthToDeleteAgain = Character.isSupplementaryCodePoint(
- codePointBeforeCursorToDeleteAgain) ? 2 : 1;
- mConnection.deleteSurroundingText(lengthToDeleteAgain, 0);
- if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
- ResearchLogger.latinIME_handleBackspace(lengthToDeleteAgain,
- true /* shouldUncommitLogUnit */);
+ if (mDeleteCount > DELETE_ACCELERATE_AT) {
+ final int codePointBeforeCursorToDeleteAgain =
+ mConnection.getCodePointBeforeCursor();
+ if (codePointBeforeCursorToDeleteAgain != Constants.NOT_A_CODE) {
+ final int lengthToDeleteAgain = Character.isSupplementaryCodePoint(
+ codePointBeforeCursorToDeleteAgain) ? 2 : 1;
+ mConnection.deleteSurroundingText(lengthToDeleteAgain, 0);
}
}
}
@@ -2342,9 +2340,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (!mRecapitalizeStatus.isSetAt(mLastSelectionStart, mLastSelectionEnd)) {
mLastSelectionStart = mRecapitalizeStatus.getNewCursorStart();
mLastSelectionEnd = mRecapitalizeStatus.getNewCursorEnd();
- mConnection.setSelection(mLastSelectionStart, mLastSelectionEnd);
}
}
+ mConnection.finishComposingText();
mRecapitalizeStatus.rotate();
final int numCharsDeleted = mLastSelectionEnd - mLastSelectionStart;
mConnection.setSelection(mLastSelectionEnd, mLastSelectionEnd);
diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java
index c212f9c81..673d1b4c2 100644
--- a/java/src/com/android/inputmethod/latin/RichInputConnection.java
+++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java
@@ -61,7 +61,7 @@ public final class RichInputConnection {
* cursor may end up after all the keyboard-triggered updates have passed. We keep this to
* compare it to the actual cursor position to guess whether the move was caused by a
* keyboard command or not.
- * It's not really the cursor position: the cursor may not be there yet, and it's also expected
+ * It's not really the cursor position: the cursor may not be there yet, and it's also expected
* there be cases where it never actually comes to be there.
*/
private int mExpectedCursorPosition = INVALID_CURSOR_POSITION; // in chars, not code points
@@ -292,7 +292,11 @@ public final class RichInputConnection {
mCommittedTextBeforeComposingText.length() + mComposingText.length();
// If we have enough characters to satisfy the request, or if we have all characters in
// the text field, then we can return the cached version right away.
- if (cachedLength >= n || cachedLength >= mExpectedCursorPosition) {
+ // However, if we don't have an expected cursor position, then we should always
+ // go fetch the cache again (as it happens, INVALID_CURSOR_POSITION < 0, so we need to
+ // test for this explicitly)
+ if (INVALID_CURSOR_POSITION != mExpectedCursorPosition
+ && (cachedLength >= n || cachedLength >= mExpectedCursorPosition)) {
final StringBuilder s = new StringBuilder(mCommittedTextBeforeComposingText);
// We call #toString() here to create a temporary object.
// In some situations, this method is called on a worker thread, and it's possible
diff --git a/java/src/com/android/inputmethod/latin/makedict/AbstractDictDecoder.java b/java/src/com/android/inputmethod/latin/makedict/AbstractDictDecoder.java
index 9f7f502ea..fda97dafc 100644
--- a/java/src/com/android/inputmethod/latin/makedict/AbstractDictDecoder.java
+++ b/java/src/com/android/inputmethod/latin/makedict/AbstractDictDecoder.java
@@ -60,7 +60,8 @@ public abstract class AbstractDictDecoder implements DictDecoder {
0 != (optionsFlags & FormatSpec.GERMAN_UMLAUT_PROCESSING_FLAG),
0 != (optionsFlags & FormatSpec.FRENCH_LIGATURE_PROCESSING_FLAG)),
new FormatOptions(version,
- 0 != (optionsFlags & FormatSpec.SUPPORTS_DYNAMIC_UPDATE)));
+ 0 != (optionsFlags & FormatSpec.SUPPORTS_DYNAMIC_UPDATE),
+ 0 != (optionsFlags & FormatSpec.CONTAINS_TIMESTAMP_FLAG)));
return header;
}
diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java
index 0f7d2f6c9..d5516ef46 100644
--- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java
+++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java
@@ -460,8 +460,10 @@ public final class BinaryDictIOUtils {
destination.write((byte)infos.length);
break;
case 2:
- destination.write((byte)(infos.length >> 8));
- destination.write((byte)(infos.length & 0xFF));
+ final int encodedPtNodeCount =
+ infos.length | FormatSpec.LARGE_PTNODE_ARRAY_SIZE_FIELD_SIZE_FLAG;
+ destination.write((byte)(encodedPtNodeCount >> 8));
+ destination.write((byte)(encodedPtNodeCount & 0xFF));
break;
default:
throw new RuntimeException("Invalid node count size.");
diff --git a/java/src/com/android/inputmethod/latin/makedict/DynamicBinaryDictIOUtils.java b/java/src/com/android/inputmethod/latin/makedict/DynamicBinaryDictIOUtils.java
index 336277196..28da9ffdd 100644
--- a/java/src/com/android/inputmethod/latin/makedict/DynamicBinaryDictIOUtils.java
+++ b/java/src/com/android/inputmethod/latin/makedict/DynamicBinaryDictIOUtils.java
@@ -22,6 +22,7 @@ import com.android.inputmethod.latin.makedict.BinaryDictDecoderUtils.DictBuffer;
import com.android.inputmethod.latin.makedict.FormatSpec.FileHeader;
import com.android.inputmethod.latin.makedict.FormatSpec.FormatOptions;
import com.android.inputmethod.latin.makedict.FusionDictionary.WeightedString;
+import com.android.inputmethod.latin.utils.CollectionUtils;
import java.io.IOException;
import java.io.OutputStream;
@@ -216,6 +217,25 @@ public final class DynamicBinaryDictIOUtils {
return 1 + size + FormatSpec.FORWARD_LINK_ADDRESS_SIZE;
}
+ /**
+ * Converts a list of WeightedString to a list of PendingAttribute.
+ */
+ public static ArrayList resolveBigramPositions(final DictUpdater dictUpdater,
+ final ArrayList bigramStrings)
+ throws IOException, UnsupportedFormatException {
+ if (bigramStrings == null) return CollectionUtils.newArrayList();
+ final ArrayList bigrams = CollectionUtils.newArrayList();
+ for (final WeightedString bigram : bigramStrings) {
+ final int pos = dictUpdater.getTerminalPosition(bigram.mWord);
+ if (pos == FormatSpec.NOT_VALID_WORD) {
+ // TODO: figure out what is the correct thing to do here.
+ } else {
+ bigrams.add(new PendingAttribute(bigram.mFrequency, pos));
+ }
+ }
+ return bigrams;
+ }
+
/**
* Insert a word into a binary dictionary.
*
@@ -238,18 +258,9 @@ public final class DynamicBinaryDictIOUtils {
final ArrayList shortcuts, final boolean isNotAWord,
final boolean isBlackListEntry)
throws IOException, UnsupportedFormatException {
- final ArrayList bigrams = new ArrayList();
+ final ArrayList bigrams = resolveBigramPositions(dictUpdater,
+ bigramStrings);
final DictBuffer dictBuffer = dictUpdater.getDictBuffer();
- if (bigramStrings != null) {
- for (final WeightedString bigram : bigramStrings) {
- int position = dictUpdater.getTerminalPosition(bigram.mWord);
- if (position == FormatSpec.NOT_VALID_WORD) {
- // TODO: figure out what is the correct thing to do here.
- } else {
- bigrams.add(new PendingAttribute(bigram.mFrequency, position));
- }
- }
- }
final boolean isTerminal = true;
final boolean hasBigrams = !bigrams.isEmpty();
diff --git a/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java b/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java
index 5a5d7af6b..b56234f6d 100644
--- a/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java
+++ b/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java
@@ -37,13 +37,15 @@ public final class FormatSpec {
* sion
*
* o |
- * p | not used 4 bits
- * t | has bigrams ? 1 bit, 1 = yes, 0 = no : CONTAINS_BIGRAMS_FLAG
- * i | FRENCH_LIGATURE_PROCESSING_FLAG
- * o | supports dynamic updates ? 1 bit, 1 = yes, 0 = no : SUPPORTS_DYNAMIC_UPDATE
- * n | GERMAN_UMLAUT_PROCESSING_FLAG
- * f |
- * lags
+ * p | not used 3 bits
+ * t | each unigram and bigram entry has a time stamp?
+ * i | 1 bit, 1 = yes, 0 = no : CONTAINS_TIMESTAMP_FLAG
+ * o | has bigrams ? 1 bit, 1 = yes, 0 = no : CONTAINS_BIGRAMS_FLAG
+ * n | FRENCH_LIGATURE_PROCESSING_FLAG
+ * f | supports dynamic updates ? 1 bit, 1 = yes, 0 = no : SUPPORTS_DYNAMIC_UPDATE
+ * l | GERMAN_UMLAUT_PROCESSING_FLAG
+ * a |
+ * gs
*
* h |
* e | size of the file header, 4bytes
@@ -211,6 +213,7 @@ public final class FormatSpec {
static final int SUPPORTS_DYNAMIC_UPDATE = 0x2;
static final int FRENCH_LIGATURE_PROCESSING_FLAG = 0x4;
static final int CONTAINS_BIGRAMS_FLAG = 0x8;
+ static final int CONTAINS_TIMESTAMP_FLAG = 0x10;
// TODO: Make this value adaptative to content data, store it in the header, and
// use it in the reading code.
@@ -263,6 +266,7 @@ public final class FormatSpec {
// These values are used only by version 4 or later.
static final String TRIE_FILE_EXTENSION = ".trie";
static final String FREQ_FILE_EXTENSION = ".freq";
+ static final String UNIGRAM_TIMESTAMP_FILE_EXTENSION = ".timestamp";
// tat = Terminal Address Table
static final String TERMINAL_ADDRESS_TABLE_FILE_EXTENSION = ".tat";
static final String BIGRAM_FILE_EXTENSION = ".bigram";
@@ -271,14 +275,20 @@ public final class FormatSpec {
static final String CONTENT_TABLE_FILE_SUFFIX = "_index";
static final int FREQUENCY_AND_FLAGS_SIZE = 2;
static final int TERMINAL_ADDRESS_TABLE_ADDRESS_SIZE = 3;
+ static final int UNIGRAM_TIMESTAMP_SIZE = 4;
// With the English main dictionary as of October 2013, the size of bigram address table is
// is 584KB with the block size being 4.
// This is 91% of that of full address table.
static final int BIGRAM_ADDRESS_TABLE_BLOCK_SIZE = 4;
- static final int BIGRAM_CONTENT_COUNT = 1;
+ static final int BIGRAM_CONTENT_COUNT = 2;
static final int BIGRAM_FREQ_CONTENT_INDEX = 0;
+ static final int BIGRAM_TIMESTAMP_CONTENT_INDEX = 1;
static final String BIGRAM_FREQ_CONTENT_ID = "_freq";
+ static final String BIGRAM_TIMESTAMP_CONTENT_ID = "_timestamp";
+ static final int BIGRAM_TIMESTAMP_SIZE = 4;
+ static final int BIGRAM_COUNTER_SIZE = 1;
+ static final int BIGRAM_LEVEL_SIZE = 1;
static final int SHORTCUT_CONTENT_COUNT = 1;
static final int SHORTCUT_CONTENT_INDEX = 0;
@@ -294,6 +304,8 @@ public final class FormatSpec {
static final int INVALID_CHARACTER = -1;
static final int MAX_PTNODES_FOR_ONE_BYTE_PTNODE_COUNT = 0x7F; // 127
+ // Large PtNode array size field size is 2 bytes.
+ static final int LARGE_PTNODE_ARRAY_SIZE_FIELD_SIZE_FLAG = 0x8000;
static final int MAX_PTNODES_IN_A_PT_NODE_ARRAY = 0x7FFF; // 32767
static final int MAX_BIGRAMS_IN_A_PTNODE = 10000;
static final int MAX_SHORTCUT_LIST_SIZE_IN_A_PTNODE = 0xFFFF;
@@ -321,6 +333,7 @@ public final class FormatSpec {
public final int mVersion;
public final boolean mSupportsDynamicUpdate;
public final boolean mHasTerminalId;
+ public final boolean mHasTimestamp;
@UsedForTesting
public FormatOptions(final int version) {
this(version, false);
@@ -328,6 +341,11 @@ public final class FormatSpec {
@UsedForTesting
public FormatOptions(final int version, final boolean supportsDynamicUpdate) {
+ this(version, supportsDynamicUpdate, false /* hasTimestamp */);
+ }
+
+ public FormatOptions(final int version, final boolean supportsDynamicUpdate,
+ final boolean hasTimestamp) {
mVersion = version;
if (version < FIRST_VERSION_WITH_DYNAMIC_UPDATE && supportsDynamicUpdate) {
throw new RuntimeException("Dynamic updates are only supported with versions "
@@ -335,6 +353,7 @@ public final class FormatSpec {
}
mSupportsDynamicUpdate = supportsDynamicUpdate;
mHasTerminalId = (version >= FIRST_VERSION_WITH_TERMINAL_ID);
+ mHasTimestamp = hasTimestamp;
}
}
diff --git a/java/src/com/android/inputmethod/latin/makedict/Ver3DictEncoder.java b/java/src/com/android/inputmethod/latin/makedict/Ver3DictEncoder.java
index d9e19899c..5da34534e 100644
--- a/java/src/com/android/inputmethod/latin/makedict/Ver3DictEncoder.java
+++ b/java/src/com/android/inputmethod/latin/makedict/Ver3DictEncoder.java
@@ -129,7 +129,9 @@ public class Ver3DictEncoder implements DictEncoder {
if (countSize != 1 && countSize != 2) {
throw new RuntimeException("Strange size from getGroupCountSize : " + countSize);
}
- mPosition = BinaryDictEncoderUtils.writeUIntToBuffer(mBuffer, mPosition, ptNodeCount,
+ final int encodedPtNodeCount = (countSize == 2) ?
+ (ptNodeCount | FormatSpec.LARGE_PTNODE_ARRAY_SIZE_FIELD_SIZE_FLAG) : ptNodeCount;
+ mPosition = BinaryDictEncoderUtils.writeUIntToBuffer(mBuffer, mPosition, encodedPtNodeCount,
countSize);
}
diff --git a/java/src/com/android/inputmethod/latin/makedict/Ver4DictDecoder.java b/java/src/com/android/inputmethod/latin/makedict/Ver4DictDecoder.java
index 53729075f..734223ec2 100644
--- a/java/src/com/android/inputmethod/latin/makedict/Ver4DictDecoder.java
+++ b/java/src/com/android/inputmethod/latin/makedict/Ver4DictDecoder.java
@@ -153,8 +153,12 @@ public class Ver4DictDecoder extends AbstractDictDecoder {
final File contentFile = new File(mDictDirectory, mDictDirectory.getName()
+ FormatSpec.SHORTCUT_FILE_EXTENSION + FormatSpec.CONTENT_TABLE_FILE_SUFFIX
+ FormatSpec.SHORTCUT_CONTENT_ID);
+ final File timestampsFile = new File(mDictDirectory, mDictDirectory.getName()
+ + FormatSpec.SHORTCUT_FILE_EXTENSION + FormatSpec.CONTENT_TABLE_FILE_SUFFIX
+ + FormatSpec.SHORTCUT_CONTENT_ID);
mShortcutAddressTable = SparseTable.readFromFiles(lookupIndexFile,
- new File[] { contentFile }, FormatSpec.SHORTCUT_ADDRESS_TABLE_BLOCK_SIZE);
+ new File[] { contentFile, timestampsFile },
+ FormatSpec.SHORTCUT_ADDRESS_TABLE_BLOCK_SIZE);
}
protected static class PtNodeReader extends AbstractDictDecoder.PtNodeReader {
diff --git a/java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java b/java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java
index f9dcacf77..8d5b48a9b 100644
--- a/java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java
+++ b/java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java
@@ -45,6 +45,7 @@ public class Ver4DictEncoder implements DictEncoder {
private int mHeaderSize;
private OutputStream mTrieOutStream;
private OutputStream mFreqOutStream;
+ private OutputStream mUnigramTimestampOutStream;
private OutputStream mTerminalAddressTableOutStream;
private File mDictDir;
private String mBaseFilename;
@@ -69,16 +70,16 @@ public class Ver4DictEncoder implements DictEncoder {
private final File[] mContentFiles;
protected final OutputStream[] mContentOutStreams;
- public SparseTableContentWriter(final String name, final int contentCount,
- final int initialCapacity, final int blockSize, final File baseDir,
- final String[] contentFilenames, final String[] contentIds) {
+ public SparseTableContentWriter(final String name, final int initialCapacity,
+ final int blockSize, final File baseDir, final String[] contentFilenames,
+ final String[] contentIds) {
if (contentFilenames.length != contentIds.length) {
throw new RuntimeException("The length of contentFilenames and the length of"
+ " contentIds are different " + contentFilenames.length + ", "
+ contentIds.length);
}
- mContentCount = contentCount;
- mSparseTable = new SparseTable(initialCapacity, blockSize, contentCount);
+ mContentCount = contentFilenames.length;
+ mSparseTable = new SparseTable(initialCapacity, blockSize, mContentCount);
mLookupTableFile = new File(baseDir, name + FormatSpec.LOOKUP_TABLE_FILE_SUFFIX);
mAddressTableFiles = new File[mContentCount];
mContentFiles = new File[mContentCount];
@@ -113,16 +114,40 @@ public class Ver4DictEncoder implements DictEncoder {
}
private static class BigramContentWriter extends SparseTableContentWriter {
+ private final boolean mWriteTimestamp;
public BigramContentWriter(final String name, final int initialCapacity,
- final File baseDir) {
- super(name + FormatSpec.BIGRAM_FILE_EXTENSION, FormatSpec.BIGRAM_CONTENT_COUNT,
- initialCapacity, FormatSpec.BIGRAM_ADDRESS_TABLE_BLOCK_SIZE, baseDir,
- new String[] { name + FormatSpec.BIGRAM_FILE_EXTENSION },
- new String[] { FormatSpec.BIGRAM_FREQ_CONTENT_ID });
+ final File baseDir, final boolean writeTimestamp) {
+ super(name + FormatSpec.BIGRAM_FILE_EXTENSION, initialCapacity,
+ FormatSpec.BIGRAM_ADDRESS_TABLE_BLOCK_SIZE, baseDir,
+ getContentFilenames(name, writeTimestamp), getContentIds(writeTimestamp));
+ mWriteTimestamp = writeTimestamp;
}
- public void writeBigramsForOneWord(final int terminalId,
+ private static String[] getContentFilenames(final String name,
+ final boolean writeTimestamp) {
+ final String[] contentFilenames;
+ if (writeTimestamp) {
+ contentFilenames = new String[] { name + FormatSpec.BIGRAM_FILE_EXTENSION,
+ name + FormatSpec.BIGRAM_FILE_EXTENSION };
+ } else {
+ contentFilenames = new String[] { name + FormatSpec.BIGRAM_FILE_EXTENSION };
+ }
+ return contentFilenames;
+ }
+
+ private static String[] getContentIds(final boolean writeTimestamp) {
+ final String[] contentIds;
+ if (writeTimestamp) {
+ contentIds = new String[] { FormatSpec.BIGRAM_FREQ_CONTENT_ID,
+ FormatSpec.BIGRAM_TIMESTAMP_CONTENT_ID };
+ } else {
+ contentIds = new String[] { FormatSpec.BIGRAM_FREQ_CONTENT_ID };
+ }
+ return contentIds;
+ }
+
+ public void writeBigramsForOneWord(final int terminalId, final int bigramCount,
final Iterator bigramIterator, final FusionDictionary dict)
throws IOException {
write(FormatSpec.BIGRAM_FREQ_CONTENT_INDEX, terminalId,
@@ -130,8 +155,16 @@ public class Ver4DictEncoder implements DictEncoder {
@Override
public void write(final OutputStream outStream) throws IOException {
writeBigramsForOneWordInternal(outStream, bigramIterator, dict);
- }
- });
+ }});
+ if (mWriteTimestamp) {
+ write(FormatSpec.BIGRAM_TIMESTAMP_CONTENT_INDEX, terminalId,
+ new SparseTableContentWriterInterface() {
+ @Override
+ public void write(final OutputStream outStream) throws IOException {
+ initBigramTimestampsCountersAndLevelsForOneWordInternal(outStream,
+ bigramCount);
+ }});
+ }
}
private void writeBigramsForOneWordInternal(final OutputStream outStream,
@@ -151,13 +184,26 @@ public class Ver4DictEncoder implements DictEncoder {
FormatSpec.PTNODE_ATTRIBUTE_MAX_ADDRESS_SIZE);
}
}
+
+ private void initBigramTimestampsCountersAndLevelsForOneWordInternal(
+ final OutputStream outStream, final int bigramCount) throws IOException {
+ for (int i = 0; i < bigramCount; ++i) {
+ // TODO: Figure out what initial values should be.
+ BinaryDictEncoderUtils.writeUIntToStream(outStream, 0 /* value */,
+ FormatSpec.BIGRAM_TIMESTAMP_SIZE);
+ BinaryDictEncoderUtils.writeUIntToStream(outStream, 0 /* value */,
+ FormatSpec.BIGRAM_COUNTER_SIZE);
+ BinaryDictEncoderUtils.writeUIntToStream(outStream, 0 /* value */,
+ FormatSpec.BIGRAM_LEVEL_SIZE);
+ }
+ }
}
private static class ShortcutContentWriter extends SparseTableContentWriter {
public ShortcutContentWriter(final String name, final int initialCapacity,
final File baseDir) {
- super(name + FormatSpec.SHORTCUT_FILE_EXTENSION, FormatSpec.SHORTCUT_CONTENT_COUNT,
- initialCapacity, FormatSpec.SHORTCUT_ADDRESS_TABLE_BLOCK_SIZE, baseDir,
+ super(name + FormatSpec.SHORTCUT_FILE_EXTENSION, initialCapacity,
+ FormatSpec.SHORTCUT_ADDRESS_TABLE_BLOCK_SIZE, baseDir,
new String[] { name + FormatSpec.SHORTCUT_FILE_EXTENSION },
new String[] { FormatSpec.SHORTCUT_CONTENT_ID });
}
@@ -193,18 +239,20 @@ public class Ver4DictEncoder implements DictEncoder {
mDictDir = new File(mDictPlacedDir, mBaseFilename);
final File trieFile = new File(mDictDir, mBaseFilename + FormatSpec.TRIE_FILE_EXTENSION);
final File freqFile = new File(mDictDir, mBaseFilename + FormatSpec.FREQ_FILE_EXTENSION);
+ final File timestampFile = new File(mDictDir,
+ mBaseFilename + FormatSpec.UNIGRAM_TIMESTAMP_FILE_EXTENSION);
final File terminalAddressTableFile = new File(mDictDir,
mBaseFilename + FormatSpec.TERMINAL_ADDRESS_TABLE_FILE_EXTENSION);
if (!mDictDir.isDirectory()) {
if (mDictDir.exists()) mDictDir.delete();
mDictDir.mkdirs();
}
- if (!trieFile.exists()) trieFile.createNewFile();
- if (!freqFile.exists()) freqFile.createNewFile();
- if (!terminalAddressTableFile.exists()) terminalAddressTableFile.createNewFile();
mTrieOutStream = new FileOutputStream(trieFile);
mFreqOutStream = new FileOutputStream(freqFile);
mTerminalAddressTableOutStream = new FileOutputStream(terminalAddressTableFile);
+ if (formatOptions.mHasTimestamp) {
+ mUnigramTimestampOutStream = new FileOutputStream(timestampFile);
+ }
}
private void close() throws IOException {
@@ -218,6 +266,9 @@ public class Ver4DictEncoder implements DictEncoder {
if (mTerminalAddressTableOutStream != null) {
mTerminalAddressTableOutStream.close();
}
+ if (mUnigramTimestampOutStream != null) {
+ mUnigramTimestampOutStream.close();
+ }
} finally {
mTrieOutStream = null;
mFreqOutStream = null;
@@ -257,7 +308,11 @@ public class Ver4DictEncoder implements DictEncoder {
if (MakedictLog.DBG) BinaryDictEncoderUtils.checkFlatPtNodeArrayList(flatNodes);
writeTerminalData(flatNodes, terminalCount);
- mBigramWriter = new BigramContentWriter(mBaseFilename, terminalCount, mDictDir);
+ if (formatOptions.mHasTimestamp) {
+ initUnigramTimestamps(terminalCount);
+ }
+ mBigramWriter = new BigramContentWriter(mBaseFilename, terminalCount, mDictDir,
+ formatOptions.mHasTimestamp);
writeBigrams(flatNodes, dict);
mShortcutWriter = new ShortcutContentWriter(mBaseFilename, terminalCount, mDictDir);
writeShortcuts(flatNodes);
@@ -299,7 +354,9 @@ public class Ver4DictEncoder implements DictEncoder {
if (countSize != 1 && countSize != 2) {
throw new RuntimeException("Strange size from getPtNodeCountSize : " + countSize);
}
- mTriePos = BinaryDictEncoderUtils.writeUIntToBuffer(mTrieBuf, mTriePos, ptNodeCount,
+ final int encodedPtNodeCount = (countSize == 2) ?
+ (ptNodeCount | FormatSpec.LARGE_PTNODE_ARRAY_SIZE_FIELD_SIZE_FLAG) : ptNodeCount;
+ mTriePos = BinaryDictEncoderUtils.writeUIntToBuffer(mTrieBuf, mTriePos, encodedPtNodeCount,
countSize);
}
@@ -348,7 +405,7 @@ public class Ver4DictEncoder implements DictEncoder {
for (final PtNodeArray nodeArray : flatNodes) {
for (final PtNode ptNode : nodeArray.mData) {
if (ptNode.mBigrams != null) {
- mBigramWriter.writeBigramsForOneWord(ptNode.mTerminalId,
+ mBigramWriter.writeBigramsForOneWord(ptNode.mTerminalId, ptNode.mBigrams.size(),
ptNode.mBigrams.iterator(), dict);
}
}
@@ -408,4 +465,11 @@ public class Ver4DictEncoder implements DictEncoder {
mFreqOutStream.write(freqBuf);
mTerminalAddressTableOutStream.write(terminalAddressTableBuf);
}
+
+ private void initUnigramTimestamps(final int terminalCount) throws IOException {
+ // Initial value of time stamps for each word is 0.
+ final byte[] unigramTimestampBuf =
+ new byte[terminalCount * FormatSpec.UNIGRAM_TIMESTAMP_SIZE];
+ mUnigramTimestampOutStream.write(unigramTimestampBuf);
+ }
}
diff --git a/java/src/com/android/inputmethod/latin/settings/DebugSettings.java b/java/src/com/android/inputmethod/latin/settings/DebugSettings.java
index 1b592b565..da1fb73fe 100644
--- a/java/src/com/android/inputmethod/latin/settings/DebugSettings.java
+++ b/java/src/com/android/inputmethod/latin/settings/DebugSettings.java
@@ -113,9 +113,7 @@ public final class DebugSettings extends PreferenceFragment
mServiceNeedsRestart = true;
}
} else if (key.equals(PREF_FORCE_NON_DISTINCT_MULTITOUCH)
- || key.equals(KeyboardSwitcher.PREF_KEYBOARD_LAYOUT)) {
- mServiceNeedsRestart = true;
- } else if (key.equals(PREF_USE_ONLY_PERSONALIZATION_DICTIONARY_FOR_DEBUG)) {
+ || key.equals(PREF_USE_ONLY_PERSONALIZATION_DICTIONARY_FOR_DEBUG)) {
mServiceNeedsRestart = true;
}
}
diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java
index dc005bbdf..df2c6907f 100644
--- a/java/src/com/android/inputmethod/latin/settings/Settings.java
+++ b/java/src/com/android/inputmethod/latin/settings/Settings.java
@@ -65,6 +65,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
"pref_show_language_switch_key";
public static final String PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST =
"pref_include_other_imes_in_language_switch_list";
+ public static final String PREF_KEYBOARD_LAYOUT = "pref_keyboard_layout_20110916";
public static final String PREF_CUSTOM_INPUT_STYLES = "custom_input_styles";
public static final String PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY =
"pref_key_preview_popup_dismiss_delay";
@@ -262,6 +263,28 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
return prefs.getBoolean(PREF_SHOW_LANGUAGE_SWITCH_KEY, true);
}
+ public static int readKeyboardThemeIndex(final SharedPreferences prefs, final Resources res) {
+ final String defaultThemeIndex = res.getString(
+ R.string.config_default_keyboard_theme_index);
+ final String themeIndex = prefs.getString(PREF_KEYBOARD_LAYOUT, defaultThemeIndex);
+ try {
+ return Integer.valueOf(themeIndex);
+ } catch (final NumberFormatException e) {
+ // Format error, returns default keyboard theme index.
+ Log.e(TAG, "Illegal keyboard theme in preference: " + themeIndex + ", default to "
+ + defaultThemeIndex, e);
+ return Integer.valueOf(defaultThemeIndex);
+ }
+ }
+
+ public static int resetAndGetDefaultKeyboardThemeIndex(final SharedPreferences prefs,
+ final Resources res) {
+ final String defaultThemeIndex = res.getString(
+ R.string.config_default_keyboard_theme_index);
+ prefs.edit().putString(PREF_KEYBOARD_LAYOUT, defaultThemeIndex).apply();
+ return Integer.valueOf(defaultThemeIndex);
+ }
+
public static String readPrefAdditionalSubtypes(final SharedPreferences prefs,
final Resources res) {
final String predefinedPrefSubtypes = AdditionalSubtypeUtils.createPrefSubtypes(
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
index cb7dda655..5c60a7350 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
@@ -255,6 +255,7 @@ public final class SettingsFragment extends InputMethodSettingsFragment
}
updateShowCorrectionSuggestionsSummary();
updateKeyPreviewPopupDelaySummary();
+ updateColorSchemeSummary(prefs, getResources());
updateCustomInputStylesSummary();
}
@@ -288,6 +289,7 @@ public final class SettingsFragment extends InputMethodSettingsFragment
ensureConsistencyOfAutoCorrectionSettings();
updateShowCorrectionSuggestionsSummary();
updateKeyPreviewPopupDelaySummary();
+ updateColorSchemeSummary(prefs, res);
refreshEnablingsOfKeypressSoundAndVibrationSettings(prefs, getResources());
}
@@ -305,6 +307,25 @@ public final class SettingsFragment extends InputMethodSettingsFragment
mShowCorrectionSuggestionsPreference.getValue())]);
}
+ private void updateColorSchemeSummary(final SharedPreferences prefs, final Resources res) {
+ // Because the "%s" summary trick of {@link ListPreference} doesn't work properly before
+ // KitKat, we need to update the summary by code.
+ final Preference preference = findPreference(Settings.PREF_KEYBOARD_LAYOUT);
+ if (!(preference instanceof ListPreference)) {
+ Log.w(TAG, "Can't find Keyboard Color Scheme preference");
+ return;
+ }
+ final ListPreference colorSchemePreference = (ListPreference)preference;
+ final int themeIndex = Settings.readKeyboardThemeIndex(prefs, res);
+ int entryIndex = colorSchemePreference.findIndexOfValue(Integer.toString(themeIndex));
+ if (entryIndex < 0) {
+ final int defaultThemeIndex = Settings.resetAndGetDefaultKeyboardThemeIndex(prefs, res);
+ entryIndex = colorSchemePreference.findIndexOfValue(
+ Integer.toString(defaultThemeIndex));
+ }
+ colorSchemePreference.setSummary(colorSchemePreference.getEntries()[entryIndex]);
+ }
+
private void updateCustomInputStylesSummary() {
final PreferenceScreen customInputStyles =
(PreferenceScreen)findPreference(Settings.PREF_CUSTOM_INPUT_STYLES);
diff --git a/tests/src/com/android/inputmethod/latin/InputLogicTests.java b/tests/src/com/android/inputmethod/latin/InputLogicTests.java
index 6bc8b9dd5..8ad8689d8 100644
--- a/tests/src/com/android/inputmethod/latin/InputLogicTests.java
+++ b/tests/src/com/android/inputmethod/latin/InputLogicTests.java
@@ -183,7 +183,7 @@ public class InputLogicTests extends InputTestsBase {
final String[] STRINGS_TO_TYPE =
new String[] { "this ", "a+ ", "\u1F607 ", ".. ", ") ", "( ", "% " };
final String[] EXPECTED_RESULTS =
- new String[] { "this. ", "a+. ", "\u1F607. ", ".. ", "). ", "( ", "% " };
+ new String[] { "this. ", "a+. ", "\u1F607. ", ".. ", "). ", "( ", "%. " };
for (int i = 0; i < STRINGS_TO_TYPE.length; ++i) {
mEditText.setText("");
type(STRINGS_TO_TYPE[i]);
diff --git a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
index 0189b3334..32c07e106 100644
--- a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
+++ b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
@@ -80,6 +80,9 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
new FormatSpec.FormatOptions(4, false /* supportsDynamicUpdate */);
private static final FormatSpec.FormatOptions VERSION4_WITH_DYNAMIC_UPDATE =
new FormatSpec.FormatOptions(4, true /* supportsDynamicUpdate */);
+ private static final FormatSpec.FormatOptions VERSION4_WITH_DYNAMIC_UPDATE_AND_TIMESTAMP =
+ new FormatSpec.FormatOptions(4, true /* supportsDynamicUpdate */,
+ true /* hasTimestamp */);
private static final String TEST_DICT_FILE_EXTENSION = ".testDict";
@@ -363,6 +366,7 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
runReadAndWriteTests(results, USE_BYTE_BUFFER, VERSION3_WITH_DYNAMIC_UPDATE);
runReadAndWriteTests(results, USE_BYTE_BUFFER, VERSION4_WITHOUT_DYNAMIC_UPDATE);
runReadAndWriteTests(results, USE_BYTE_BUFFER, VERSION4_WITH_DYNAMIC_UPDATE);
+ runReadAndWriteTests(results, USE_BYTE_BUFFER, VERSION4_WITH_DYNAMIC_UPDATE_AND_TIMESTAMP);
for (final String result : results) {
Log.d(TAG, result);
@@ -377,6 +381,7 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
runReadAndWriteTests(results, USE_BYTE_ARRAY, VERSION3_WITH_DYNAMIC_UPDATE);
runReadAndWriteTests(results, USE_BYTE_ARRAY, VERSION4_WITHOUT_DYNAMIC_UPDATE);
runReadAndWriteTests(results, USE_BYTE_ARRAY, VERSION4_WITH_DYNAMIC_UPDATE);
+ runReadAndWriteTests(results, USE_BYTE_ARRAY, VERSION4_WITH_DYNAMIC_UPDATE_AND_TIMESTAMP);
for (final String result : results) {
Log.d(TAG, result);
@@ -508,6 +513,8 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
runReadUnigramsAndBigramsTests(results, USE_BYTE_BUFFER, VERSION3_WITH_DYNAMIC_UPDATE);
runReadUnigramsAndBigramsTests(results, USE_BYTE_BUFFER, VERSION4_WITHOUT_DYNAMIC_UPDATE);
runReadUnigramsAndBigramsTests(results, USE_BYTE_BUFFER, VERSION4_WITH_DYNAMIC_UPDATE);
+ runReadUnigramsAndBigramsTests(results, USE_BYTE_BUFFER,
+ VERSION4_WITH_DYNAMIC_UPDATE_AND_TIMESTAMP);
for (final String result : results) {
Log.d(TAG, result);
@@ -522,6 +529,8 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
runReadUnigramsAndBigramsTests(results, USE_BYTE_ARRAY, VERSION3_WITH_DYNAMIC_UPDATE);
runReadUnigramsAndBigramsTests(results, USE_BYTE_ARRAY, VERSION4_WITHOUT_DYNAMIC_UPDATE);
runReadUnigramsAndBigramsTests(results, USE_BYTE_ARRAY, VERSION4_WITH_DYNAMIC_UPDATE);
+ runReadUnigramsAndBigramsTests(results, USE_BYTE_ARRAY,
+ VERSION4_WITH_DYNAMIC_UPDATE_AND_TIMESTAMP);
for (final String result : results) {
Log.d(TAG, result);
@@ -634,12 +643,14 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
runGetTerminalPositionTests(USE_BYTE_ARRAY, VERSION3_WITH_DYNAMIC_UPDATE);
runGetTerminalPositionTests(USE_BYTE_ARRAY, VERSION4_WITHOUT_DYNAMIC_UPDATE);
runGetTerminalPositionTests(USE_BYTE_ARRAY, VERSION4_WITH_DYNAMIC_UPDATE);
+ runGetTerminalPositionTests(USE_BYTE_ARRAY, VERSION4_WITH_DYNAMIC_UPDATE_AND_TIMESTAMP);
runGetTerminalPositionTests(USE_BYTE_BUFFER, VERSION2);
runGetTerminalPositionTests(USE_BYTE_BUFFER, VERSION3_WITHOUT_DYNAMIC_UPDATE);
runGetTerminalPositionTests(USE_BYTE_BUFFER, VERSION3_WITH_DYNAMIC_UPDATE);
runGetTerminalPositionTests(USE_BYTE_BUFFER, VERSION4_WITHOUT_DYNAMIC_UPDATE);
runGetTerminalPositionTests(USE_BYTE_BUFFER, VERSION4_WITH_DYNAMIC_UPDATE);
+ runGetTerminalPositionTests(USE_BYTE_BUFFER, VERSION4_WITH_DYNAMIC_UPDATE_AND_TIMESTAMP);
for (final String result : results) {
Log.d(TAG, result);
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 4cf742441..66393732c 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 -->
l·l,ł
- "!fixedColumnOrder!4,·,!,\\,,\?,:,;,\@"
+ "!fixedColumnOrder!9,;,/,(,),#,·,!,\\,,\?,&,\\%,+,\",-,:,',\@"
\?,·
ç
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 a1633316f..994e35ae9 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 @@
±,﬩
+ "!fixedColumnOrder!8,;,/,(|),)|(,#,!,\\,,\?,&,\\%,+,\",-,:,',\@"
!fixedColumnOrder!3,<|>,{|},[|]
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 64396b1dd..3c59b4bd1 100644
--- a/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml
+++ b/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml
@@ -77,7 +77,7 @@
¢,£,€,¥,₱
$
$,¢,€,£,¥,₱
- "!fixedColumnOrder!4,#,!,\\,,\?,-,:,',\@"
+ "!fixedColumnOrder!8,;,/,(,),#,!,\\,,\?,&,\\%,+,\",-,:,',\@"