aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/AndroidManifest.xml2
-rw-r--r--java/NOTICE2
-rw-r--r--java/proguard.flags69
-rw-r--r--java/res/anim/alt_code_key_while_typing_fadein.xml27
-rw-r--r--java/res/anim/alt_code_key_while_typing_fadeout.xml27
-rw-r--r--java/res/anim/language_on_spacebar_fadeout.xml28
-rw-r--r--java/res/anim/more_keys_keyboard_fadein.xml29
-rw-r--r--java/res/anim/more_keys_keyboard_fadeout.xml29
-rw-r--r--java/res/drawable-hdpi/btn_center_default.9.pngbin168 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_center_pressed.9.pngbin194 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_center_selected.9.pngbin194 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_active_holo.9.pngbin462 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal.9.pngbin506 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.pngbin435 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.pngbin657 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.pngbin547 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.pngbin1048 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.pngbin587 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_pressed.9.pngbin972 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.pngbin553 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.pngbin1082 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.pngbin668 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on.9.pngbin1440 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.pngbin707 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_fulltrans_normal.9.pngbin1785 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_fulltrans_pressed.9.pngbin1701 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_light_normal.9.pngbin505 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.pngbin468 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_light_popup_selected.9.pngbin301 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_light_pressed.9.pngbin835 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.pngbin547 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal.9.pngbin1134 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_off.9.pngbin1243 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_off_stone.9.pngbin2389 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_on.9.pngbin1307 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_on_stone.9.pngbin2409 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_normal_stone.9.pngbin2211 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.pngbin282 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed.9.pngbin1088 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.pngbin1233 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.pngbin1271 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/btn_suggestion_pressed.9.pngbin1234 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/ic_ime_settings.pngbin1570 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/ic_subtype_keyboard.pngbin812 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_background.9.pngbin207 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_background_holo.9.pngbin227 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_dark_background.9.pngbin210 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_background.9.pngbin843 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.pngbin2080 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_left_background_holo.9.pngbin1990 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_holo.9.pngbin2152 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_more_background.9.pngbin1056 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_more_background_holo.9.pngbin2256 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_right_background_holo.9.pngbin1993 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_holo.9.pngbin2163 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_popup_panel_background.9.pngbin1204 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.pngbin856 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_suggest_strip.9.pngbin248 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_suggest_strip_holo.9.pngbin160 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/more_keys_divider.pngbin1034 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/more_suggestions_divider.pngbin1034 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/suggestion_feedback_background.9.pngbin1607 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/suggestions_strip_divider.pngbin73 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_delete.pngbin2314 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_label_mic.pngbin905 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_mic.pngbin1410 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_return.pngbin1111 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_search.pngbin1612 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_settings.pngbin729 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_shift.pngbin1474 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_shift_locked.pngbin1115 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_space.pngbin358 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_tab.pngbin1008 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_bkeyboard_voice_off.pngbin1587 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_delete.pngbin4003 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_delete_holo.pngbin1248 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_feedback_tab.pngbin4111 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_label_mic.pngbin1417 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_label_mic_holo.pngbin905 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_language_switch.pngbin1788 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_mic.pngbin3893 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_return.pngbin4024 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_return_holo.pngbin1216 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_search.pngbin4248 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_search_holo.pngbin1607 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_settings.pngbin4015 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_settings_holo.pngbin787 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_shift.pngbin3740 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_shift_holo.pngbin1290 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_shift_locked.pngbin3686 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.pngbin1036 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_space.pngbin3331 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_space_holo.pngbin630 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_space_led.9.pngbin557 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_space_led_holo.9.pngbin322 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_tab.pngbin3792 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_tab_holo.pngbin1142 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_voice_holo.pngbin1889 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_voice_off_holo.pngbin1741 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_zwj_holo.pngbin973 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_zwnj_holo.pngbin961 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_center_default.9.pngbin182 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_center_pressed.9.pngbin200 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_center_selected.9.pngbin200 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_active_holo.9.pngbin345 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.pngbin458 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.pngbin334 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.pngbin588 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.pngbin407 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.pngbin960 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.pngbin411 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.pngbin849 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.pngbin394 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.pngbin957 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.pngbin505 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.pngbin1293 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.pngbin489 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal.9.pngbin1553 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed.9.pngbin1461 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.pngbin454 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.pngbin332 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.pngbin258 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.pngbin717 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.pngbin381 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal.9.pngbin991 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_off.9.pngbin1083 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_off_stone.9.pngbin2389 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_on.9.pngbin1151 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_on_stone.9.pngbin2409 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_normal_stone.9.pngbin2212 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.pngbin236 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed.9.pngbin956 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_off.9.pngbin1078 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_pressed_on.9.pngbin1119 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_suggestion_pressed.9.pngbin11006 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/ic_ime_settings.pngbin1292 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/ic_subtype_keyboard.pngbin644 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_background.9.pngbin214 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_background_holo.9.pngbin204 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_dark_background.9.pngbin196 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_background.9.pngbin747 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.pngbin1313 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_left_background_holo.9.pngbin1297 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_holo.9.pngbin1437 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.pngbin853 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.pngbin1457 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_right_background_holo.9.pngbin1288 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_holo.9.pngbin1423 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_popup_panel_background.9.pngbin1726 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.pngbin571 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_suggest_strip.9.pngbin205 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_suggest_strip_holo.9.pngbin151 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/more_keys_divider.pngbin2940 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/more_suggestions_divider.pngbin2940 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/suggestion_feedback_background.9.pngbin1182 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/suggestions_strip_divider.pngbin264 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_delete.pngbin800 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_label_mic.pngbin539 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_mic.pngbin838 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_return.pngbin834 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_search.pngbin1042 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_settings.pngbin729 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_shift.pngbin998 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_shift_locked.pngbin787 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_space.pngbin411 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_tab.pngbin627 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_bkeyboard_voice_off.pngbin1587 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_delete.pngbin3432 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_delete_holo.pngbin813 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_tab.pngbin3529 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_label_mic.pngbin542 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_label_mic_holo.pngbin658 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_language_switch.pngbin1113 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_mic.pngbin3439 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_return.pngbin3380 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_return_holo.pngbin870 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_search.pngbin3535 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_search_holo.pngbin991 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_settings.pngbin3448 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_settings_holo.pngbin585 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift.pngbin3217 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift_holo.pngbin940 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift_locked.pngbin3188 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.pngbin850 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_space.pngbin3063 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_space_holo.pngbin505 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_space_led.9.pngbin365 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_space_led_holo.9.pngbin201 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_tab.pngbin3269 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_tab_holo.pngbin801 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_voice_holo.pngbin1166 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_voice_off_holo.pngbin1105 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_zwj_holo.pngbin733 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_zwnj_holo.pngbin704 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_center_default.9.pngbin178 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_center_pressed.9.pngbin196 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_center_selected.9.pngbin196 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_active_holo.9.pngbin601 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_normal.9.pngbin571 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_holo.9.pngbin568 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off.9.pngbin727 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off_holo.9.pngbin722 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on.9.pngbin1110 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_holo.9.pngbin745 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed.9.pngbin1007 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_holo.9.pngbin737 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off.9.pngbin1128 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_holo.9.pngbin953 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on.9.pngbin1486 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_holo.9.pngbin945 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.pngbin1441 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.pngbin1869 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_light_normal.9.pngbin548 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_light_normal_holo.9.pngbin591 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_light_popup_selected.9.pngbin359 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_light_pressed.9.pngbin860 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_holo.9.pngbin668 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal.9.pngbin1172 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.pngbin1278 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_off_stone.9.pngbin2833 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.pngbin1345 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_on_stone.9.pngbin2867 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_normal_stone.9.pngbin2658 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_holo.9.pngbin351 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed.9.pngbin1131 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.pngbin1273 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.pngbin1312 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_suggestion_pressed.9.pngbin1266 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_ime_settings.pngbin2065 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_subtype_keyboard.pngbin1056 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_background.9.pngbin222 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_background_holo.9.pngbin267 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_dark_background.9.pngbin241 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_background.9.pngbin949 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_background_holo.9.pngbin2916 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_left_background_holo.9.pngbin2873 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_holo.9.pngbin3176 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_more_background.9.pngbin1088 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_more_background_holo.9.pngbin3184 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_right_background_holo.9.pngbin2818 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_holo.9.pngbin3102 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_popup_panel_background.9.pngbin1365 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_popup_panel_background_holo.9.pngbin1178 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_suggest_strip.9.pngbin289 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_suggest_strip_holo.9.pngbin168 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/more_keys_divider.pngbin1053 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/more_suggestions_divider.pngbin1053 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/suggestion_feedback_background.9.pngbin1676 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/suggestions_strip_divider.pngbin267 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_delete.pngbin2413 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_label_mic.pngbin2112 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_mic.pngbin2090 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_return.pngbin2018 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_search.pngbin2889 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_settings.pngbin2539 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_shift.pngbin2640 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_shift_locked.pngbin2076 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_space.pngbin1072 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_tab.pngbin1544 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_bkeyboard_voice_off.pngbin1137 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_delete.pngbin4589 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_delete_holo.pngbin1584 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_feedback_tab.pngbin4732 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_label_mic.pngbin2086 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_label_mic_holo.pngbin1222 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_language_switch.pngbin2512 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_mic.pngbin4487 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_return.pngbin4559 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_return_holo.pngbin1452 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_search.pngbin4990 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_search_holo.pngbin2070 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_settings.pngbin4639 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_settings_holo.pngbin1062 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_shift.pngbin4186 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_shift_holo.pngbin1592 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_shift_locked.pngbin4119 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_shift_locked_holo.pngbin1295 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_space.pngbin3526 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_space_holo.pngbin675 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_space_led.9.pngbin617 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_space_led_holo.9.pngbin381 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_tab.pngbin4157 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_tab_holo.pngbin1336 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_voice_holo.pngbin2393 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_voice_off_holo.pngbin2196 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_zwj_holo.pngbin1185 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_zwnj_holo.pngbin1148 -> 0 bytes
-rw-r--r--java/res/drawable/btn_center.xml40
-rw-r--r--java/res/drawable/btn_keyboard_key.xml38
-rw-r--r--java/res/drawable/btn_keyboard_key3.xml36
-rw-r--r--java/res/drawable/btn_keyboard_key_gingerbread.xml49
-rw-r--r--java/res/drawable/btn_keyboard_key_ics.xml49
-rw-r--r--java/res/drawable/btn_keyboard_key_popup.xml21
-rw-r--r--java/res/drawable/btn_keyboard_key_popup_ics.xml21
-rw-r--r--java/res/drawable/btn_keyboard_key_stone.xml50
-rw-r--r--java/res/drawable/btn_suggestion.xml27
-rw-r--r--java/res/drawable/btn_suggestion_ics.xml27
-rw-r--r--java/res/drawable/keyboard_key_feedback.xml24
-rw-r--r--java/res/drawable/keyboard_key_feedback_ics.xml36
-rw-r--r--java/res/drawable/transparent.xml30
-rw-r--r--java/res/layout/additional_subtype_dialog.xml56
-rw-r--r--java/res/layout/hint_add_to_dictionary.xml36
-rw-r--r--java/res/layout/input_view.xml64
-rw-r--r--java/res/layout/key_preview.xml27
-rw-r--r--java/res/layout/key_preview_ics.xml27
-rw-r--r--java/res/layout/more_keys_keyboard.xml33
-rw-r--r--java/res/layout/more_suggestions.xml37
-rw-r--r--java/res/layout/research_feedback_activity.xml31
-rw-r--r--java/res/layout/research_feedback_fragment_layout.xml112
-rw-r--r--java/res/layout/research_feedback_layout.xml50
-rw-r--r--java/res/layout/sound_effect_volume_dialog.xml44
-rw-r--r--java/res/layout/suggestion_divider.xml27
-rw-r--r--java/res/layout/suggestion_info.xml27
-rw-r--r--java/res/layout/suggestion_preview.xml28
-rw-r--r--java/res/layout/suggestion_word.xml36
-rw-r--r--java/res/layout/suggestions_strip.xml30
-rw-r--r--java/res/layout/vibration_settings_dialog.xml49
-rw-r--r--java/res/raw/main.dictbin34 -> 0 bytes
-rw-r--r--java/res/raw/main_de.dictbin1605732 -> 0 bytes
-rw-r--r--java/res/raw/main_en.dictbin1068791 -> 0 bytes
-rw-r--r--java/res/raw/main_es.dictbin1138855 -> 0 bytes
-rw-r--r--java/res/raw/main_fr.dictbin1327366 -> 0 bytes
-rw-r--r--java/res/raw/main_it.dictbin1143310 -> 0 bytes
-rw-r--r--java/res/raw/main_pt_br.dictbin1091964 -> 0 bytes
-rw-r--r--java/res/values-af/bools.xml24
-rw-r--r--java/res/values-af/strings-appname.xml27
-rw-r--r--java/res/values-af/strings.xml147
-rw-r--r--java/res/values-am/strings-appname.xml27
-rw-r--r--java/res/values-am/strings.xml147
-rw-r--r--java/res/values-ar/bools.xml24
-rw-r--r--java/res/values-ar/donottranslate.xml25
-rw-r--r--java/res/values-ar/strings-appname.xml27
-rw-r--r--java/res/values-ar/strings.xml147
-rw-r--r--java/res/values-be/bools.xml24
-rw-r--r--java/res/values-be/strings-appname.xml27
-rw-r--r--java/res/values-be/strings.xml147
-rw-r--r--java/res/values-bg/bools.xml24
-rw-r--r--java/res/values-bg/strings-appname.xml27
-rw-r--r--java/res/values-bg/strings.xml147
-rw-r--r--java/res/values-ca/bools.xml24
-rw-r--r--java/res/values-ca/strings-appname.xml27
-rw-r--r--java/res/values-ca/strings.xml147
-rw-r--r--java/res/values-cs/bools.xml24
-rw-r--r--java/res/values-cs/strings-appname.xml27
-rw-r--r--java/res/values-cs/strings.xml147
-rw-r--r--java/res/values-da/bools.xml24
-rw-r--r--java/res/values-da/strings-appname.xml27
-rw-r--r--java/res/values-da/strings.xml147
-rw-r--r--java/res/values-de/bools.xml24
-rw-r--r--java/res/values-de/strings-appname.xml27
-rw-r--r--java/res/values-de/strings.xml147
-rw-r--r--java/res/values-el/bools.xml24
-rw-r--r--java/res/values-el/strings-appname.xml27
-rw-r--r--java/res/values-el/strings.xml147
-rw-r--r--java/res/values-en-rGB/strings-appname.xml27
-rw-r--r--java/res/values-en-rGB/strings.xml147
-rw-r--r--java/res/values-en/bools.xml24
-rw-r--r--java/res/values-eo/bools.xml24
-rw-r--r--java/res/values-es-rUS/strings-appname.xml27
-rw-r--r--java/res/values-es-rUS/strings.xml147
-rw-r--r--java/res/values-es/bools.xml24
-rw-r--r--java/res/values-es/strings-appname.xml27
-rw-r--r--java/res/values-es/strings.xml147
-rw-r--r--java/res/values-et/bools.xml24
-rw-r--r--java/res/values-et/strings-appname.xml27
-rw-r--r--java/res/values-et/strings.xml147
-rw-r--r--java/res/values-fa/bools.xml24
-rw-r--r--java/res/values-fa/donottranslate.xml25
-rw-r--r--java/res/values-fa/strings-appname.xml27
-rw-r--r--java/res/values-fa/strings.xml151
-rw-r--r--java/res/values-fi/bools.xml24
-rw-r--r--java/res/values-fi/strings-appname.xml27
-rw-r--r--java/res/values-fi/strings.xml147
-rw-r--r--java/res/values-fr-rCA/strings.xml19
-rw-r--r--java/res/values-fr/bools.xml24
-rw-r--r--java/res/values-fr/donottranslate.xml31
-rw-r--r--java/res/values-fr/strings-appname.xml27
-rw-r--r--java/res/values-fr/strings.xml147
-rw-r--r--java/res/values-hdpi/config.xml30
-rw-r--r--java/res/values-hi/bools.xml24
-rw-r--r--java/res/values-hi/strings-appname.xml27
-rw-r--r--java/res/values-hi/strings.xml147
-rw-r--r--java/res/values-hr/bools.xml24
-rw-r--r--java/res/values-hr/strings-appname.xml27
-rw-r--r--java/res/values-hr/strings.xml147
-rw-r--r--java/res/values-hu/bools.xml24
-rw-r--r--java/res/values-hu/strings-appname.xml27
-rw-r--r--java/res/values-hu/strings.xml147
-rw-r--r--java/res/values-in/bools.xml24
-rw-r--r--java/res/values-in/strings-appname.xml27
-rw-r--r--java/res/values-in/strings.xml147
-rw-r--r--java/res/values-is/bools.xml24
-rw-r--r--java/res/values-is/strings.xml265
-rw-r--r--java/res/values-it/bools.xml24
-rw-r--r--java/res/values-it/strings-appname.xml27
-rw-r--r--java/res/values-it/strings.xml147
-rw-r--r--java/res/values-iw/bools.xml24
-rw-r--r--java/res/values-iw/donottranslate.xml25
-rw-r--r--java/res/values-iw/strings-appname.xml27
-rw-r--r--java/res/values-iw/strings.xml147
-rw-r--r--java/res/values-ja/strings-appname.xml27
-rw-r--r--java/res/values-ja/strings.xml147
-rw-r--r--java/res/values-ka/bools.xml24
-rw-r--r--java/res/values-ka/strings.xml265
-rw-r--r--java/res/values-ko/strings-appname.xml27
-rw-r--r--java/res/values-ko/strings.xml147
-rw-r--r--java/res/values-ky/bools.xml24
-rw-r--r--java/res/values-ky/strings.xml221
-rw-r--r--java/res/values-land/config.xml23
-rw-r--r--java/res/values-land/dimens.xml82
-rw-r--r--java/res/values-land/keyboard-heights.xml37
-rw-r--r--java/res/values-lt/bools.xml24
-rw-r--r--java/res/values-lt/strings-appname.xml27
-rw-r--r--java/res/values-lt/strings.xml147
-rw-r--r--java/res/values-lv/bools.xml24
-rw-r--r--java/res/values-lv/strings-appname.xml27
-rw-r--r--java/res/values-lv/strings.xml147
-rw-r--r--java/res/values-mk/bools.xml24
-rw-r--r--java/res/values-mk/strings.xml265
-rw-r--r--java/res/values-ms/bools.xml24
-rw-r--r--java/res/values-ms/strings-appname.xml27
-rw-r--r--java/res/values-ms/strings.xml147
-rw-r--r--java/res/values-nb/bools.xml24
-rw-r--r--java/res/values-nb/strings-appname.xml27
-rw-r--r--java/res/values-nb/strings.xml147
-rw-r--r--java/res/values-nl/bools.xml24
-rw-r--r--java/res/values-nl/strings-appname.xml27
-rw-r--r--java/res/values-nl/strings.xml147
-rw-r--r--java/res/values-pl/bools.xml24
-rw-r--r--java/res/values-pl/strings-appname.xml30
-rw-r--r--java/res/values-pl/strings.xml147
-rw-r--r--java/res/values-pt-rPT/strings-appname.xml27
-rw-r--r--java/res/values-pt-rPT/strings.xml147
-rw-r--r--java/res/values-pt/bools.xml24
-rw-r--r--java/res/values-pt/strings-appname.xml27
-rw-r--r--java/res/values-pt/strings.xml147
-rw-r--r--java/res/values-rm/strings.xml258
-rw-r--r--java/res/values-ro/bools.xml24
-rw-r--r--java/res/values-ro/strings-appname.xml27
-rw-r--r--java/res/values-ro/strings.xml147
-rw-r--r--java/res/values-ru/bools.xml24
-rw-r--r--java/res/values-ru/strings-appname.xml27
-rw-r--r--java/res/values-ru/strings.xml147
-rw-r--r--java/res/values-sk/bools.xml24
-rw-r--r--java/res/values-sk/strings-appname.xml27
-rw-r--r--java/res/values-sk/strings.xml147
-rw-r--r--java/res/values-sl/bools.xml24
-rw-r--r--java/res/values-sl/strings-appname.xml27
-rw-r--r--java/res/values-sl/strings.xml147
-rw-r--r--java/res/values-sr/bools.xml24
-rw-r--r--java/res/values-sr/strings-appname.xml27
-rw-r--r--java/res/values-sr/strings.xml147
-rw-r--r--java/res/values-sv/bools.xml24
-rw-r--r--java/res/values-sv/strings-appname.xml27
-rw-r--r--java/res/values-sv/strings.xml147
-rw-r--r--java/res/values-sw/bools.xml24
-rw-r--r--java/res/values-sw/strings-appname.xml27
-rw-r--r--java/res/values-sw/strings.xml147
-rw-r--r--java/res/values-sw600dp-land/config.xml23
-rw-r--r--java/res/values-sw600dp-land/dimens.xml70
-rw-r--r--java/res/values-sw600dp/config.xml44
-rw-r--r--java/res/values-sw600dp/dimens.xml96
-rw-r--r--java/res/values-sw768dp-land/config.xml23
-rw-r--r--java/res/values-sw768dp-land/dimens.xml73
-rw-r--r--java/res/values-sw768dp/config.xml49
-rw-r--r--java/res/values-sw768dp/dimens.xml97
-rw-r--r--java/res/values-th/bools.xml24
-rw-r--r--java/res/values-th/strings-appname.xml27
-rw-r--r--java/res/values-th/strings.xml147
-rw-r--r--java/res/values-tl/bools.xml24
-rw-r--r--java/res/values-tl/strings-appname.xml27
-rw-r--r--java/res/values-tl/strings.xml147
-rw-r--r--java/res/values-tr/bools.xml24
-rw-r--r--java/res/values-tr/strings-appname.xml27
-rw-r--r--java/res/values-tr/strings.xml147
-rw-r--r--java/res/values-uk/bools.xml24
-rw-r--r--java/res/values-uk/strings-appname.xml27
-rw-r--r--java/res/values-uk/strings.xml147
-rw-r--r--java/res/values-vi/bools.xml24
-rw-r--r--java/res/values-vi/strings-appname.xml27
-rw-r--r--java/res/values-vi/strings.xml147
-rw-r--r--java/res/values-zh-rCN/strings-appname.xml27
-rw-r--r--java/res/values-zh-rCN/strings.xml147
-rw-r--r--java/res/values-zh-rTW/strings-appname.xml27
-rw-r--r--java/res/values-zh-rTW/strings.xml147
-rw-r--r--java/res/values-zu/bools.xml24
-rw-r--r--java/res/values-zu/strings-appname.xml27
-rw-r--r--java/res/values-zu/strings.xml147
-rw-r--r--java/res/values/attrs.xml415
-rw-r--r--java/res/values/bools.xml24
-rw-r--r--java/res/values/config.xml101
-rw-r--r--java/res/values/dimens.xml114
-rw-r--r--java/res/values/donottranslate.xml235
-rw-r--r--java/res/values/gesture-input.xml22
-rw-r--r--java/res/values/keyboard-heights.xml37
-rw-r--r--java/res/values/keyboard-icons-black.xml43
-rw-r--r--java/res/values/keyboard-icons-ics.xml40
-rw-r--r--java/res/values/keyboard-icons-white.xml39
-rw-r--r--java/res/values/keypress-vibration-durations.xml28
-rw-r--r--java/res/values/keypress-volumes.xml30
-rw-r--r--java/res/values/phantom_sudden_move_event_device_list.xml26
-rw-r--r--java/res/values/predefined-subtypes.xml26
-rw-r--r--java/res/values/research_strings.xml24
-rw-r--r--java/res/values/strings-appname.xml33
-rw-r--r--java/res/values/strings.xml373
-rw-r--r--java/res/values/styles.xml396
-rw-r--r--java/res/values/sudden-jumping-touch-event-device-list.xml27
-rw-r--r--java/res/values/themes-basic-highcontrast.xml31
-rw-r--r--java/res/values/themes-basic.xml31
-rw-r--r--java/res/values/themes-gingerbread.xml31
-rw-r--r--java/res/values/themes-ics.xml31
-rw-r--r--java/res/values/themes-stone-bold.xml31
-rw-r--r--java/res/values/themes-stone.xml31
-rw-r--r--java/res/values/touch-position-correction.xml74
-rw-r--r--java/res/values/urls.xml22
-rw-r--r--java/res/xml-land/kbd_number.xml28
-rw-r--r--java/res/xml-land/kbd_phone.xml28
-rw-r--r--java/res/xml-land/kbd_phone_symbols.xml28
-rw-r--r--java/res/xml-sw600dp-land/kbd_more_keys_keyboard_template.xml26
-rw-r--r--java/res/xml-sw600dp-land/kbd_number.xml28
-rw-r--r--java/res/xml-sw600dp-land/kbd_phone.xml28
-rw-r--r--java/res/xml-sw600dp-land/kbd_phone_symbols.xml29
-rw-r--r--java/res/xml-sw600dp/kbd_10_10_7_symbols.xml26
-rw-r--r--java/res/xml-sw600dp/kbd_10_10_7_symbols_shift.xml26
-rw-r--r--java/res/xml-sw600dp/kbd_more_keys_keyboard_template.xml26
-rw-r--r--java/res/xml-sw600dp/kbd_number.xml27
-rw-r--r--java/res/xml-sw600dp/kbd_phone.xml27
-rw-r--r--java/res/xml-sw600dp/kbd_phone_symbols.xml28
-rw-r--r--java/res/xml-sw600dp/key_apostrophe.xml49
-rw-r--r--java/res/xml-sw600dp/key_azerty_quote.xml29
-rw-r--r--java/res/xml-sw600dp/key_colemak_colon.xml29
-rw-r--r--java/res/xml-sw600dp/key_dash.xml49
-rw-r--r--java/res/xml-sw600dp/key_f1.xml62
-rw-r--r--java/res/xml-sw600dp/key_f2.xml45
-rw-r--r--java/res/xml-sw600dp/key_greek_semicolon.xml29
-rw-r--r--java/res/xml-sw600dp/key_question_exclamation.xml39
-rw-r--r--java/res/xml-sw600dp/key_shortcut.xml53
-rw-r--r--java/res/xml-sw600dp/key_space.xml63
-rw-r--r--java/res/xml-sw600dp/key_styles_common.xml188
-rw-r--r--java/res/xml-sw600dp/keys_comma_period.xml46
-rw-r--r--java/res/xml-sw600dp/keys_dvorak_123.xml40
-rw-r--r--java/res/xml-sw600dp/keys_pcqwerty2_right3.xml58
-rw-r--r--java/res/xml-sw600dp/keys_pcqwerty3_right2.xml68
-rw-r--r--java/res/xml-sw600dp/keys_pcqwerty4_right3.xml76
-rw-r--r--java/res/xml-sw600dp/row_dvorak4.xml46
-rw-r--r--java/res/xml-sw600dp/row_hebrew4.xml44
-rw-r--r--java/res/xml-sw600dp/row_pcqwerty5.xml46
-rw-r--r--java/res/xml-sw600dp/row_qwerty4.xml46
-rw-r--r--java/res/xml-sw600dp/row_symbols4.xml48
-rw-r--r--java/res/xml-sw600dp/row_symbols_shift4.xml40
-rw-r--r--java/res/xml-sw600dp/rowkeys_arabic1.xml82
-rw-r--r--java/res/xml-sw600dp/rowkeys_arabic2.xml94
-rw-r--r--java/res/xml-sw600dp/rowkeys_arabic3.xml70
-rw-r--r--java/res/xml-sw600dp/rowkeys_dvorak3.xml47
-rw-r--r--java/res/xml-sw600dp/rowkeys_farsi1.xml77
-rw-r--r--java/res/xml-sw600dp/rowkeys_farsi2.xml84
-rw-r--r--java/res/xml-sw600dp/rowkeys_farsi3.xml66
-rw-r--r--java/res/xml-sw600dp/rowkeys_pcqwerty1.xml113
-rw-r--r--java/res/xml-sw600dp/rowkeys_symbols2.xml74
-rw-r--r--java/res/xml-sw600dp/rowkeys_symbols3.xml57
-rw-r--r--java/res/xml-sw600dp/rowkeys_symbols_shift1.xml56
-rw-r--r--java/res/xml-sw600dp/rowkeys_symbols_shift2.xml52
-rw-r--r--java/res/xml-sw600dp/rowkeys_symbols_shift3.xml46
-rw-r--r--java/res/xml-sw600dp/rows_10_10_7_symbols.xml60
-rw-r--r--java/res/xml-sw600dp/rows_10_10_7_symbols_shift.xml60
-rw-r--r--java/res/xml-sw600dp/rows_arabic.xml53
-rw-r--r--java/res/xml-sw600dp/rows_azerty.xml61
-rw-r--r--java/res/xml-sw600dp/rows_bulgarian.xml61
-rw-r--r--java/res/xml-sw600dp/rows_bulgarian_bds.xml58
-rw-r--r--java/res/xml-sw600dp/rows_colemak.xml63
-rw-r--r--java/res/xml-sw600dp/rows_dvorak.xml61
-rw-r--r--java/res/xml-sw600dp/rows_east_slavic.xml58
-rw-r--r--java/res/xml-sw600dp/rows_farsi.xml53
-rw-r--r--java/res/xml-sw600dp/rows_georgian.xml62
-rw-r--r--java/res/xml-sw600dp/rows_greek.xml64
-rw-r--r--java/res/xml-sw600dp/rows_hebrew.xml57
-rw-r--r--java/res/xml-sw600dp/rows_hindi.xml58
-rw-r--r--java/res/xml-sw600dp/rows_nordic.xml64
-rw-r--r--java/res/xml-sw600dp/rows_number_normal.xml160
-rw-r--r--java/res/xml-sw600dp/rows_number_password.xml80
-rw-r--r--java/res/xml-sw600dp/rows_pcqwerty.xml72
-rw-r--r--java/res/xml-sw600dp/rows_pcqwerty_symbols.xml67
-rw-r--r--java/res/xml-sw600dp/rows_phone.xml122
-rw-r--r--java/res/xml-sw600dp/rows_qwerty.xml62
-rw-r--r--java/res/xml-sw600dp/rows_qwertz.xml62
-rw-r--r--java/res/xml-sw600dp/rows_south_slavic.xml58
-rw-r--r--java/res/xml-sw600dp/rows_spanish.xml61
-rw-r--r--java/res/xml-sw600dp/rows_symbols.xml61
-rw-r--r--java/res/xml-sw600dp/rows_symbols_shift.xml61
-rw-r--r--java/res/xml-sw600dp/rows_thai.xml67
-rw-r--r--java/res/xml-sw768dp-land/kbd_more_keys_keyboard_template.xml26
-rw-r--r--java/res/xml-sw768dp-land/kbd_number.xml28
-rw-r--r--java/res/xml-sw768dp-land/kbd_phone.xml28
-rw-r--r--java/res/xml-sw768dp-land/kbd_phone_symbols.xml29
-rw-r--r--java/res/xml-sw768dp/kbd_more_keys_keyboard_template.xml26
-rw-r--r--java/res/xml-sw768dp/kbd_number.xml27
-rw-r--r--java/res/xml-sw768dp/kbd_phone.xml27
-rw-r--r--java/res/xml-sw768dp/kbd_phone_symbols.xml28
-rw-r--r--java/res/xml-sw768dp/kbd_thai_symbols.xml31
-rw-r--r--java/res/xml-sw768dp/kbd_thai_symbols_shift.xml31
-rw-r--r--java/res/xml-sw768dp/key_settings.xml35
-rw-r--r--java/res/xml-sw768dp/key_shortcut.xml36
-rw-r--r--java/res/xml-sw768dp/key_space.xml63
-rw-r--r--java/res/xml-sw768dp/key_styles_common.xml180
-rw-r--r--java/res/xml-sw768dp/row_dvorak4.xml51
-rw-r--r--java/res/xml-sw768dp/row_hebrew4.xml49
-rw-r--r--java/res/xml-sw768dp/row_pcqwerty5.xml59
-rw-r--r--java/res/xml-sw768dp/row_qwerty4.xml51
-rw-r--r--java/res/xml-sw768dp/row_symbols4.xml48
-rw-r--r--java/res/xml-sw768dp/row_symbols_shift4.xml38
-rw-r--r--java/res/xml-sw768dp/rowkeys_thai_digits.xml64
-rw-r--r--java/res/xml-sw768dp/rows_10_10_7_symbols.xml69
-rw-r--r--java/res/xml-sw768dp/rows_10_10_7_symbols_shift.xml69
-rw-r--r--java/res/xml-sw768dp/rows_arabic.xml61
-rw-r--r--java/res/xml-sw768dp/rows_azerty.xml69
-rw-r--r--java/res/xml-sw768dp/rows_bulgarian.xml69
-rw-r--r--java/res/xml-sw768dp/rows_bulgarian_bds.xml69
-rw-r--r--java/res/xml-sw768dp/rows_colemak.xml71
-rw-r--r--java/res/xml-sw768dp/rows_dvorak.xml69
-rw-r--r--java/res/xml-sw768dp/rows_east_slavic.xml71
-rw-r--r--java/res/xml-sw768dp/rows_farsi.xml61
-rw-r--r--java/res/xml-sw768dp/rows_georgian.xml69
-rw-r--r--java/res/xml-sw768dp/rows_greek.xml71
-rw-r--r--java/res/xml-sw768dp/rows_hebrew.xml65
-rw-r--r--java/res/xml-sw768dp/rows_hindi.xml69
-rw-r--r--java/res/xml-sw768dp/rows_nordic.xml72
-rw-r--r--java/res/xml-sw768dp/rows_number_normal.xml175
-rw-r--r--java/res/xml-sw768dp/rows_number_password.xml79
-rw-r--r--java/res/xml-sw768dp/rows_pcqwerty.xml71
-rw-r--r--java/res/xml-sw768dp/rows_pcqwerty_symbols.xml67
-rw-r--r--java/res/xml-sw768dp/rows_phone.xml138
-rw-r--r--java/res/xml-sw768dp/rows_qwerty.xml69
-rw-r--r--java/res/xml-sw768dp/rows_qwertz.xml69
-rw-r--r--java/res/xml-sw768dp/rows_south_slavic.xml69
-rw-r--r--java/res/xml-sw768dp/rows_spanish.xml70
-rw-r--r--java/res/xml-sw768dp/rows_symbols.xml68
-rw-r--r--java/res/xml-sw768dp/rows_symbols_shift.xml68
-rw-r--r--java/res/xml-sw768dp/rows_thai.xml74
-rw-r--r--java/res/xml-sw768dp/rows_thai_symbols.xml76
-rw-r--r--java/res/xml-sw768dp/rows_thai_symbols_shift.xml76
-rw-r--r--java/res/xml/additional_subtype_settings.xml19
-rw-r--r--java/res/xml/kbd_10_10_7_symbols.xml26
-rw-r--r--java/res/xml/kbd_10_10_7_symbols_shift.xml26
-rw-r--r--java/res/xml/kbd_arabic.xml26
-rw-r--r--java/res/xml/kbd_azerty.xml26
-rw-r--r--java/res/xml/kbd_bulgarian.xml26
-rw-r--r--java/res/xml/kbd_bulgarian_bds.xml26
-rw-r--r--java/res/xml/kbd_colemak.xml26
-rw-r--r--java/res/xml/kbd_dvorak.xml26
-rw-r--r--java/res/xml/kbd_east_slavic.xml26
-rw-r--r--java/res/xml/kbd_farsi.xml26
-rw-r--r--java/res/xml/kbd_georgian.xml26
-rw-r--r--java/res/xml/kbd_greek.xml26
-rw-r--r--java/res/xml/kbd_hebrew.xml26
-rw-r--r--java/res/xml/kbd_hindi.xml26
-rw-r--r--java/res/xml/kbd_more_keys_keyboard_template.xml26
-rw-r--r--java/res/xml/kbd_nordic.xml26
-rw-r--r--java/res/xml/kbd_number.xml27
-rw-r--r--java/res/xml/kbd_pcqwerty.xml31
-rw-r--r--java/res/xml/kbd_pcqwerty_symbols.xml31
-rw-r--r--java/res/xml/kbd_phone.xml27
-rw-r--r--java/res/xml/kbd_phone_symbols.xml27
-rw-r--r--java/res/xml/kbd_qwerty.xml26
-rw-r--r--java/res/xml/kbd_qwertz.xml26
-rw-r--r--java/res/xml/kbd_south_slavic.xml26
-rw-r--r--java/res/xml/kbd_spanish.xml26
-rw-r--r--java/res/xml/kbd_suggestions_pane_template.xml25
-rw-r--r--java/res/xml/kbd_symbols.xml26
-rw-r--r--java/res/xml/kbd_symbols_shift.xml26
-rw-r--r--java/res/xml/kbd_thai.xml31
-rw-r--r--java/res/xml/kbd_thai_symbols.xml26
-rw-r--r--java/res/xml/kbd_thai_symbols_shift.xml26
-rw-r--r--java/res/xml/key_azerty_quote.xml37
-rw-r--r--java/res/xml/key_colemak_colon.xml41
-rw-r--r--java/res/xml/key_f1.xml54
-rw-r--r--java/res/xml/key_greek_semicolon.xml42
-rw-r--r--java/res/xml/key_space.xml63
-rw-r--r--java/res/xml/key_styles_common.xml189
-rw-r--r--java/res/xml/key_styles_currency.xml162
-rw-r--r--java/res/xml/key_styles_currency_dollar.xml42
-rw-r--r--java/res/xml/key_styles_currency_euro.xml43
-rw-r--r--java/res/xml/key_styles_enter.xml180
-rw-r--r--java/res/xml/key_styles_f1.xml43
-rw-r--r--java/res/xml/key_styles_number.xml143
-rw-r--r--java/res/xml/key_thai_kho_khuat.xml40
-rw-r--r--java/res/xml/keyboard_layout_set_arabic.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_azerty.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_bulgarian.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_bulgarian_bds.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_colemak.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_dvorak.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_east_slavic.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_farsi.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_georgian.xml58
-rw-r--r--java/res/xml/keyboard_layout_set_greek.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_hebrew.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_hindi.xml58
-rw-r--r--java/res/xml/keyboard_layout_set_nordic.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_pcqwerty.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_qwerty.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_qwertz.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_south_slavic.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_spanish.xml42
-rw-r--r--java/res/xml/keyboard_layout_set_thai.xml58
-rw-r--r--java/res/xml/keys_curly_brackets.xml30
-rw-r--r--java/res/xml/keys_dvorak_123.xml84
-rw-r--r--java/res/xml/keys_less_greater.xml50
-rw-r--r--java/res/xml/keys_parentheses.xml32
-rw-r--r--java/res/xml/keys_pcqwerty2_right3.xml51
-rw-r--r--java/res/xml/keys_pcqwerty3_right2.xml54
-rw-r--r--java/res/xml/keys_pcqwerty4_right3.xml59
-rw-r--r--java/res/xml/keys_pcqwerty_symbols1.xml57
-rw-r--r--java/res/xml/keys_pcqwerty_symbols2.xml59
-rw-r--r--java/res/xml/keys_pcqwerty_symbols3.xml54
-rw-r--r--java/res/xml/keys_pcqwerty_symbols4.xml49
-rw-r--r--java/res/xml/keys_square_brackets.xml30
-rw-r--r--java/res/xml/method.xml461
-rw-r--r--java/res/xml/prefs.xml149
-rw-r--r--java/res/xml/prefs_for_debug.xml51
-rw-r--r--java/res/xml/row_dvorak4.xml76
-rw-r--r--java/res/xml/row_pcqwerty5.xml81
-rw-r--r--java/res/xml/row_qwerty4.xml54
-rw-r--r--java/res/xml/row_symbols4.xml55
-rw-r--r--java/res/xml/row_symbols_shift4.xml49
-rw-r--r--java/res/xml/rowkeys_arabic1.xml108
-rw-r--r--java/res/xml/rowkeys_arabic2.xml92
-rw-r--r--java/res/xml/rowkeys_arabic3.xml60
-rw-r--r--java/res/xml/rowkeys_azerty1.xml73
-rw-r--r--java/res/xml/rowkeys_azerty2.xml51
-rw-r--r--java/res/xml/rowkeys_azerty3.xml42
-rw-r--r--java/res/xml/rowkeys_bulgarian1.xml79
-rw-r--r--java/res/xml/rowkeys_bulgarian2.xml57
-rw-r--r--java/res/xml/rowkeys_bulgarian3.xml48
-rw-r--r--java/res/xml/rowkeys_bulgarian_bds1.xml79
-rw-r--r--java/res/xml/rowkeys_bulgarian_bds2.xml57
-rw-r--r--java/res/xml/rowkeys_bulgarian_bds3.xml51
-rw-r--r--java/res/xml/rowkeys_colemak1.xml66
-rw-r--r--java/res/xml/rowkeys_colemak2.xml54
-rw-r--r--java/res/xml/rowkeys_colemak3.xml42
-rw-r--r--java/res/xml/rowkeys_dvorak1.xml57
-rw-r--r--java/res/xml/rowkeys_dvorak2.xml54
-rw-r--r--java/res/xml/rowkeys_dvorak3.xml42
-rw-r--r--java/res/xml/rowkeys_east_slavic1.xml80
-rw-r--r--java/res/xml/rowkeys_east_slavic2.xml57
-rw-r--r--java/res/xml/rowkeys_east_slavic3.xml51
-rw-r--r--java/res/xml/rowkeys_farsi1.xml101
-rw-r--r--java/res/xml/rowkeys_farsi2.xml82
-rw-r--r--java/res/xml/rowkeys_farsi3.xml62
-rw-r--r--java/res/xml/rowkeys_georgian1.xml131
-rw-r--r--java/res/xml/rowkeys_georgian2.xml89
-rw-r--r--java/res/xml/rowkeys_georgian3.xml75
-rw-r--r--java/res/xml/rowkeys_greek1.xml100
-rw-r--r--java/res/xml/rowkeys_greek2.xml55
-rw-r--r--java/res/xml/rowkeys_greek3.xml47
-rw-r--r--java/res/xml/rowkeys_hebrew1.xml48
-rw-r--r--java/res/xml/rowkeys_hebrew2.xml60
-rw-r--r--java/res/xml/rowkeys_hebrew3.xml59
-rw-r--r--java/res/xml/rowkeys_hindi1.xml189
-rw-r--r--java/res/xml/rowkeys_hindi2.xml164
-rw-r--r--java/res/xml/rowkeys_hindi3.xml124
-rw-r--r--java/res/xml/rowkeys_nordic1.xml28
-rw-r--r--java/res/xml/rowkeys_nordic2.xml32
-rw-r--r--java/res/xml/rowkeys_pcqwerty1.xml87
-rw-r--r--java/res/xml/rowkeys_pcqwerty2.xml41
-rw-r--r--java/res/xml/rowkeys_pcqwerty3.xml40
-rw-r--r--java/res/xml/rowkeys_pcqwerty4.xml40
-rw-r--r--java/res/xml/rowkeys_qwerty1.xml73
-rw-r--r--java/res/xml/rowkeys_qwerty2.xml50
-rw-r--r--java/res/xml/rowkeys_qwerty3.xml43
-rw-r--r--java/res/xml/rowkeys_qwertz1.xml72
-rw-r--r--java/res/xml/rowkeys_qwertz3.xml42
-rw-r--r--java/res/xml/rowkeys_south_slavic1.xml78
-rw-r--r--java/res/xml/rowkeys_south_slavic2.xml56
-rw-r--r--java/res/xml/rowkeys_south_slavic3.xml49
-rw-r--r--java/res/xml/rowkeys_spanish2.xml29
-rw-r--r--java/res/xml/rowkeys_symbols1.xml64
-rw-r--r--java/res/xml/rowkeys_symbols2.xml66
-rw-r--r--java/res/xml/rowkeys_symbols3.xml61
-rw-r--r--java/res/xml/rowkeys_symbols_shift1.xml50
-rw-r--r--java/res/xml/rowkeys_symbols_shift2.xml55
-rw-r--r--java/res/xml/rowkeys_symbols_shift3.xml42
-rw-r--r--java/res/xml/rowkeys_thai1.xml134
-rw-r--r--java/res/xml/rowkeys_thai2.xml140
-rw-r--r--java/res/xml/rowkeys_thai3.xml134
-rw-r--r--java/res/xml/rowkeys_thai4.xml122
-rw-r--r--java/res/xml/rows_arabic.xml51
-rw-r--r--java/res/xml/rows_azerty.xml54
-rw-r--r--java/res/xml/rows_bulgarian.xml52
-rw-r--r--java/res/xml/rows_bulgarian_bds.xml52
-rw-r--r--java/res/xml/rows_colemak.xml56
-rw-r--r--java/res/xml/rows_dvorak.xml56
-rw-r--r--java/res/xml/rows_east_slavic.xml52
-rw-r--r--java/res/xml/rows_farsi.xml51
-rw-r--r--java/res/xml/rows_georgian.xml55
-rw-r--r--java/res/xml/rows_greek.xml57
-rw-r--r--java/res/xml/rows_hebrew.xml52
-rw-r--r--java/res/xml/rows_hindi.xml52
-rw-r--r--java/res/xml/rows_nordic.xml57
-rw-r--r--java/res/xml/rows_number.xml40
-rw-r--r--java/res/xml/rows_number_normal.xml131
-rw-r--r--java/res/xml/rows_number_password.xml80
-rw-r--r--java/res/xml/rows_pcqwerty.xml65
-rw-r--r--java/res/xml/rows_pcqwerty_symbols.xml60
-rw-r--r--java/res/xml/rows_phone.xml78
-rw-r--r--java/res/xml/rows_phone_symbols.xml84
-rw-r--r--java/res/xml/rows_qwerty.xml55
-rw-r--r--java/res/xml/rows_qwertz.xml55
-rw-r--r--java/res/xml/rows_south_slavic.xml52
-rw-r--r--java/res/xml/rows_spanish.xml54
-rw-r--r--java/res/xml/rows_symbols.xml56
-rw-r--r--java/res/xml/rows_symbols_shift.xml56
-rw-r--r--java/res/xml/rows_thai.xml58
-rw-r--r--java/res/xml/spell_checker_settings.xml26
-rw-r--r--java/res/xml/spellchecker.xml74
-rw-r--r--java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java2
-rw-r--r--java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java2
-rw-r--r--java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java35
-rw-r--r--java/src/com/android/inputmethod/annotations/ExternallyReferenced.java24
-rw-r--r--java/src/com/android/inputmethod/annotations/UsedForTesting.java24
-rw-r--r--java/src/com/android/inputmethod/compat/AudioManagerCompatWrapper.java2
-rw-r--r--java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java2
-rw-r--r--java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java23
-rw-r--r--java/src/com/android/inputmethod/keyboard/Key.java13
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyDetector.java26
-rw-r--r--java/src/com/android/inputmethod/keyboard/Keyboard.java73
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java16
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardId.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java29
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java37
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java20
-rw-r--r--java/src/com/android/inputmethod/keyboard/MainKeyboardView.java240
-rw-r--r--java/src/com/android/inputmethod/keyboard/MoreKeysDetector.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java5
-rw-r--r--java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java34
-rw-r--r--java/src/com/android/inputmethod/keyboard/PointerTracker.java714
-rw-r--r--java/src/com/android/inputmethod/keyboard/ProximityInfo.java66
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/AlphabetShiftState.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/GestureStroke.java327
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/GestureStrokeWithPreviewPoints.java23
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java17
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java6
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java8
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java34
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java4
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardRow.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java37
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java9
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeysCache.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/MoreKeySpec.java10
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java135
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/ShiftKeyState.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/TouchPositionCorrection.java36
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/TouchScreenRegulator.java (renamed from java/src/com/android/inputmethod/keyboard/internal/SuddenJumpingTouchEventHandler.java)20
-rw-r--r--java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java2
-rw-r--r--java/src/com/android/inputmethod/latin/AssetFileAddress.java2
-rw-r--r--java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java31
-rw-r--r--java/src/com/android/inputmethod/latin/AutoCorrection.java25
-rw-r--r--java/src/com/android/inputmethod/latin/BackupAgent.java2
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionary.java80
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java15
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java15
-rw-r--r--java/src/com/android/inputmethod/latin/BoundedTreeSet.java2
-rw-r--r--java/src/com/android/inputmethod/latin/Constants.java72
-rw-r--r--java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java19
-rw-r--r--java/src/com/android/inputmethod/latin/DebugSettings.java13
-rw-r--r--java/src/com/android/inputmethod/latin/DebugSettingsActivity.java2
-rw-r--r--java/src/com/android/inputmethod/latin/DicTraverseSession.java2
-rw-r--r--java/src/com/android/inputmethod/latin/Dictionary.java10
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryCollection.java8
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryFactory.java2
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java2
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java14
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableDictionary.java87
-rw-r--r--java/src/com/android/inputmethod/latin/FileTransforms.java2
-rw-r--r--java/src/com/android/inputmethod/latin/InputAttributes.java2
-rw-r--r--java/src/com/android/inputmethod/latin/InputPointers.java10
-rw-r--r--java/src/com/android/inputmethod/latin/InputView.java2
-rw-r--r--java/src/com/android/inputmethod/latin/LastComposedWord.java6
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java321
-rw-r--r--java/src/com/android/inputmethod/latin/LatinImeLogger.java2
-rw-r--r--java/src/com/android/inputmethod/latin/ResizableIntArray.java2
-rw-r--r--java/src/com/android/inputmethod/latin/RichInputConnection.java89
-rw-r--r--java/src/com/android/inputmethod/latin/Settings.java49
-rw-r--r--java/src/com/android/inputmethod/latin/SettingsActivity.java2
-rw-r--r--java/src/com/android/inputmethod/latin/SettingsValues.java6
-rw-r--r--java/src/com/android/inputmethod/latin/StringUtils.java129
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeLocale.java2
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeSwitcher.java4
-rw-r--r--java/src/com/android/inputmethod/latin/Suggest.java51
-rw-r--r--java/src/com/android/inputmethod/latin/SuggestedWords.java33
-rw-r--r--java/src/com/android/inputmethod/latin/SuggestionSpanPickedNotificationReceiver.java2
-rw-r--r--java/src/com/android/inputmethod/latin/SynchronouslyLoadedContactsBinaryDictionary.java6
-rw-r--r--java/src/com/android/inputmethod/latin/SynchronouslyLoadedUserBinaryDictionary.java6
-rw-r--r--java/src/com/android/inputmethod/latin/TargetApplicationGetter.java4
-rw-r--r--java/src/com/android/inputmethod/latin/UserBinaryDictionary.java2
-rw-r--r--java/src/com/android/inputmethod/latin/UserHistoryDictIOUtils.java46
-rw-r--r--java/src/com/android/inputmethod/latin/UserHistoryDictionary.java500
-rw-r--r--java/src/com/android/inputmethod/latin/UserHistoryDictionaryBigramList.java2
-rw-r--r--java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java4
-rw-r--r--java/src/com/android/inputmethod/latin/WordComposer.java45
-rw-r--r--java/src/com/android/inputmethod/latin/WordListInfo.java2
-rw-r--r--java/src/com/android/inputmethod/latin/XmlParseUtils.java8
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java845
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java429
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/CharGroupInfo.java2
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/FormatSpec.java88
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java91
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/MakedictLog.java2
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/PendingAttribute.java2
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/UnsupportedFormatException.java2
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/Word.java2
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java10
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerSession.java2
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java6
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/DictAndProximity.java2
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java6
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerProximityInfo.java9
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsActivity.java2
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java2
-rw-r--r--java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java23
-rw-r--r--java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java34
-rw-r--r--java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java172
-rw-r--r--java/src/com/android/inputmethod/research/ResearchLogger.java8
-rw-r--r--java/src/com/android/inputmethod/research/Statistics.java4
927 files changed, 3516 insertions, 35068 deletions
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml
index 3e80de22a..8ffa29d71 100644
--- a/java/AndroidManifest.xml
+++ b/java/AndroidManifest.xml
@@ -26,7 +26,7 @@
<uses-permission android:name="android.permission.READ_CONTACTS" />
<application android:label="@string/aosp_android_keyboard_ime_name"
- android:icon="@drawable/ic_ime_settings"
+ android:icon="@mipmap/ic_ime_settings"
android:backupAgent="BackupAgent"
android:killAfterRestore="false"
android:supportsRtl="true">
diff --git a/java/NOTICE b/java/NOTICE
index 7340b9e35..aa325547e 100644
--- a/java/NOTICE
+++ b/java/NOTICE
@@ -188,3 +188,5 @@
END OF TERMS AND CONDITIONS
+
+Includes Dictionaries © Lexiteria LLC. Used by permission.
diff --git a/java/proguard.flags b/java/proguard.flags
index ac5b7df16..d65924f7c 100644
--- a/java/proguard.flags
+++ b/java/proguard.flags
@@ -1,64 +1,11 @@
--keep class com.android.inputmethod.latin.BinaryDictionary {
- int mDictLength;
- <init>(...);
+# Keep classes and methods that have the @UsedForTesting annotation
+-keep @com.android.inputmethod.annotations.UsedForTesting class *
+-keepclassmembers class * {
+@com.android.inputmethod.annotations.UsedForTesting *;
}
--keep class com.android.inputmethod.keyboard.ProximityInfo {
- <init>(com.android.inputmethod.keyboard.ProximityInfo);
+# Keep classes and methods that have the @ExternallyReferenced annotation
+-keep @com.android.inputmethod.annotations.ExternallyReferenced class *
+-keepclassmembers class * {
+@com.android.inputmethod.annotations.ExternallyReferenced *;
}
-
--keep class com.android.inputmethod.latin.Suggest {
- <init>(...);
- com.android.inputmethod.latin.SuggestedWords getSuggestions(...);
-}
-
--keep class com.android.inputmethod.latin.AutoCorrection {
- java.lang.CharSequence getAutoCorrectionWord();
-}
-
--keep class com.android.inputmethod.latin.Utils {
- boolean equalsIgnoreCase(...);
-}
-
--keep class com.android.inputmethod.latin.InputPointers {
- *;
-}
-
--keep class com.android.inputmethod.latin.ResizableIntArray {
- *;
-}
-
--keep class com.android.inputmethod.latin.spellcheck.SpellCheckerSettingsFragment {
- *;
-}
-
--keep class com.android.inputmethod.keyboard.MainKeyboardView {
- # Keep getter/setter methods for ObjectAnimator
- int getLanguageOnSpacebarAnimAlpha();
- void setLanguageOnSpacebarAnimAlpha(int);
- int getAltCodeKeyWhileTypingAnimAlpha();
- void setAltCodeKeyWhileTypingAnimAlpha(int);
-}
-
--keep class com.android.inputmethod.keyboard.MoreKeysKeyboard$Builder$MoreKeysKeyboardParams {
- <init>(...);
-}
-
--keepclasseswithmembernames class * {
- native <methods>;
-}
-
--keep class com.android.inputmethod.research.ResearchLogger {
- void flush();
- void publishCurrentLogUnit(...);
-}
-
--keep class com.android.inputmethod.keyboard.KeyboardLayoutSet$Builder {
- void setTouchPositionCorrectionEnabled(...);
-}
-
-# The support library contains references to newer platform versions.
-# Don't warn about those in case this app is linking against an older
-# platform version. We know about them, and they are safe.
--dontwarn android.support.v4.**
--dontwarn android.support.v13.**
diff --git a/java/res/anim/alt_code_key_while_typing_fadein.xml b/java/res/anim/alt_code_key_while_typing_fadein.xml
deleted file mode 100644
index 079c98090..000000000
--- a/java/res/anim/alt_code_key_while_typing_fadein.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<objectAnimator
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:propertyName="altCodeKeyWhileTypingAnimAlpha"
- android:valueType="intType"
- android:duration="1000"
- android:valueFrom="128"
- android:valueTo="255" />
diff --git a/java/res/anim/alt_code_key_while_typing_fadeout.xml b/java/res/anim/alt_code_key_while_typing_fadeout.xml
deleted file mode 100644
index 511e13886..000000000
--- a/java/res/anim/alt_code_key_while_typing_fadeout.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<objectAnimator
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:propertyName="altCodeKeyWhileTypingAnimAlpha"
- android:valueType="intType"
- android:duration="3000"
- android:valueFrom="255"
- android:valueTo="128" />
diff --git a/java/res/anim/language_on_spacebar_fadeout.xml b/java/res/anim/language_on_spacebar_fadeout.xml
deleted file mode 100644
index 531f440cc..000000000
--- a/java/res/anim/language_on_spacebar_fadeout.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<objectAnimator
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:propertyName="languageOnSpacebarAnimAlpha"
- android:valueType="intType"
- android:startOffset="1200"
- android:duration="200"
- android:valueFrom="255"
- android:valueTo="@integer/config_language_on_spacebar_final_alpha" />
diff --git a/java/res/anim/more_keys_keyboard_fadein.xml b/java/res/anim/more_keys_keyboard_fadein.xml
deleted file mode 100644
index c781f36ad..000000000
--- a/java/res/anim/more_keys_keyboard_fadein.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<set
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/decelerate_interpolator"
->
- <alpha
- android:fromAlpha="0.5"
- android:toAlpha="1.0"
- android:duration="@integer/config_more_keys_keyboard_fadein_anim_time" />
-</set>
diff --git a/java/res/anim/more_keys_keyboard_fadeout.xml b/java/res/anim/more_keys_keyboard_fadeout.xml
deleted file mode 100644
index 32fae6bd8..000000000
--- a/java/res/anim/more_keys_keyboard_fadeout.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<set
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/accelerate_interpolator"
->
- <alpha
- android:fromAlpha="1.0"
- android:toAlpha="0.0"
- android:duration="@integer/config_more_keys_keyboard_fadeout_anim_time" />
-</set>
diff --git a/java/res/drawable-hdpi/btn_center_default.9.png b/java/res/drawable-hdpi/btn_center_default.9.png
deleted file mode 100644
index 4f5f01cb8..000000000
--- a/java/res/drawable-hdpi/btn_center_default.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_center_pressed.9.png b/java/res/drawable-hdpi/btn_center_pressed.9.png
deleted file mode 100644
index 213b482d4..000000000
--- a/java/res/drawable-hdpi/btn_center_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_center_selected.9.png b/java/res/drawable-hdpi/btn_center_selected.9.png
deleted file mode 100644
index 213b482d4..000000000
--- a/java/res/drawable-hdpi/btn_center_selected.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_active_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_active_holo.9.png
deleted file mode 100644
index 9aa8db60e..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_active_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal.9.png
deleted file mode 100644
index bc130cab6..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png
deleted file mode 100644
index 5e6a9d6a4..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.png
deleted file mode 100644
index 43099899c..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.png
deleted file mode 100644
index a3ba2230d..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.png
deleted file mode 100644
index 2d1acf22f..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.png
deleted file mode 100644
index 9f4587b4a..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed.9.png
deleted file mode 100644
index af5ea6bd2..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png
deleted file mode 100644
index 7ec33dd20..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.png
deleted file mode 100644
index 3e25a9817..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
deleted file mode 100644
index 655bc01b1..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on.9.png
deleted file mode 100644
index fc7ba2aeb..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
deleted file mode 100644
index 138e915d9..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_fulltrans_normal.9.png b/java/res/drawable-hdpi/btn_keyboard_key_fulltrans_normal.9.png
deleted file mode 100644
index 116329016..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_fulltrans_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_fulltrans_pressed.9.png b/java/res/drawable-hdpi/btn_keyboard_key_fulltrans_pressed.9.png
deleted file mode 100644
index 207c90d6c..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_fulltrans_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_normal.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_normal.9.png
deleted file mode 100644
index 005c4e498..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png
deleted file mode 100644
index baff85873..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_popup_selected.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_popup_selected.9.png
deleted file mode 100644
index 9a07acd91..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_popup_selected.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed.9.png
deleted file mode 100644
index be420a7af..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png
deleted file mode 100644
index 5612c51a1..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_normal.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal.9.png
deleted file mode 100644
index 3e25180f0..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png
deleted file mode 100644
index bad360f77..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_normal_off_stone.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_off_stone.9.png
deleted file mode 100644
index cdd6c8b79..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_normal_off_stone.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png
deleted file mode 100644
index 49f519860..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_normal_on_stone.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_on_stone.9.png
deleted file mode 100644
index d8421746a..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_normal_on_stone.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_normal_stone.9.png b/java/res/drawable-hdpi/btn_keyboard_key_normal_stone.9.png
deleted file mode 100644
index 671d4e5d6..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_normal_stone.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png
deleted file mode 100644
index c2e8b3779..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_pressed.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed.9.png
deleted file mode 100644
index e784eddf8..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png
deleted file mode 100644
index a4731cf1a..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png b/java/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png
deleted file mode 100644
index 03e163c9c..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_suggestion_pressed.9.png b/java/res/drawable-hdpi/btn_suggestion_pressed.9.png
deleted file mode 100644
index 7acceaee7..000000000
--- a/java/res/drawable-hdpi/btn_suggestion_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_ime_settings.png b/java/res/drawable-hdpi/ic_ime_settings.png
deleted file mode 100644
index f8f80732d..000000000
--- a/java/res/drawable-hdpi/ic_ime_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_subtype_keyboard.png b/java/res/drawable-hdpi/ic_subtype_keyboard.png
deleted file mode 100644
index 484305655..000000000
--- a/java/res/drawable-hdpi/ic_subtype_keyboard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_background.9.png b/java/res/drawable-hdpi/keyboard_background.9.png
deleted file mode 100644
index d57463fb6..000000000
--- a/java/res/drawable-hdpi/keyboard_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_background_holo.9.png b/java/res/drawable-hdpi/keyboard_background_holo.9.png
deleted file mode 100644
index 73868751c..000000000
--- a/java/res/drawable-hdpi/keyboard_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_dark_background.9.png b/java/res/drawable-hdpi/keyboard_dark_background.9.png
deleted file mode 100644
index fa3d449f7..000000000
--- a/java/res/drawable-hdpi/keyboard_dark_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background.9.png
deleted file mode 100644
index 21520178e..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png
deleted file mode 100644
index 28b406a5c..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_holo.9.png
deleted file mode 100644
index e42cd88dc..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_left_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_holo.9.png
deleted file mode 100644
index 160344073..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_more_background.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_more_background.9.png
deleted file mode 100644
index 7ac82cffd..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_more_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_holo.9.png
deleted file mode 100644
index a40d4277c..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_more_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_holo.9.png
deleted file mode 100644
index 1f6807376..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_right_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_holo.9.png
deleted file mode 100644
index ec53593d9..000000000
--- a/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background.9.png
deleted file mode 100644
index baff80950..000000000
--- a/java/res/drawable-hdpi/keyboard_popup_panel_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png
deleted file mode 100644
index 53d7b6fb3..000000000
--- a/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_suggest_strip.9.png b/java/res/drawable-hdpi/keyboard_suggest_strip.9.png
deleted file mode 100644
index 7cab5a899..000000000
--- a/java/res/drawable-hdpi/keyboard_suggest_strip.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_suggest_strip_holo.9.png b/java/res/drawable-hdpi/keyboard_suggest_strip_holo.9.png
deleted file mode 100644
index e173beb73..000000000
--- a/java/res/drawable-hdpi/keyboard_suggest_strip_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/more_keys_divider.png b/java/res/drawable-hdpi/more_keys_divider.png
deleted file mode 100644
index a5912f95c..000000000
--- a/java/res/drawable-hdpi/more_keys_divider.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/more_suggestions_divider.png b/java/res/drawable-hdpi/more_suggestions_divider.png
deleted file mode 100644
index a5912f95c..000000000
--- a/java/res/drawable-hdpi/more_suggestions_divider.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/suggestion_feedback_background.9.png b/java/res/drawable-hdpi/suggestion_feedback_background.9.png
deleted file mode 100644
index 16499002e..000000000
--- a/java/res/drawable-hdpi/suggestion_feedback_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/suggestions_strip_divider.png b/java/res/drawable-hdpi/suggestions_strip_divider.png
deleted file mode 100644
index 5d44d9ce5..000000000
--- a/java/res/drawable-hdpi/suggestions_strip_divider.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_delete.png b/java/res/drawable-hdpi/sym_bkeyboard_delete.png
deleted file mode 100644
index 1d24cc85c..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_label_mic.png b/java/res/drawable-hdpi/sym_bkeyboard_label_mic.png
deleted file mode 100644
index 25702cf73..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_label_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_mic.png b/java/res/drawable-hdpi/sym_bkeyboard_mic.png
deleted file mode 100644
index 512f46080..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_return.png b/java/res/drawable-hdpi/sym_bkeyboard_return.png
deleted file mode 100644
index 426e1599e..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_return.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_search.png b/java/res/drawable-hdpi/sym_bkeyboard_search.png
deleted file mode 100644
index 1b6f884fa..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_search.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_settings.png b/java/res/drawable-hdpi/sym_bkeyboard_settings.png
deleted file mode 100644
index 08ba18f28..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_shift.png b/java/res/drawable-hdpi/sym_bkeyboard_shift.png
deleted file mode 100644
index 5a22dd309..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_shift.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_shift_locked.png b/java/res/drawable-hdpi/sym_bkeyboard_shift_locked.png
deleted file mode 100644
index 566449126..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_shift_locked.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_space.png b/java/res/drawable-hdpi/sym_bkeyboard_space.png
deleted file mode 100644
index cd0ebe2f4..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_space.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_tab.png b/java/res/drawable-hdpi/sym_bkeyboard_tab.png
deleted file mode 100644
index 3466e1271..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_tab.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_bkeyboard_voice_off.png b/java/res/drawable-hdpi/sym_bkeyboard_voice_off.png
deleted file mode 100644
index 081a13096..000000000
--- a/java/res/drawable-hdpi/sym_bkeyboard_voice_off.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_delete.png b/java/res/drawable-hdpi/sym_keyboard_delete.png
deleted file mode 100644
index 0591b82cd..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_delete_holo.png b/java/res/drawable-hdpi/sym_keyboard_delete_holo.png
deleted file mode 100644
index d3e108846..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_delete_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_feedback_tab.png b/java/res/drawable-hdpi/sym_keyboard_feedback_tab.png
deleted file mode 100644
index d75fcacd5..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_feedback_tab.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_label_mic.png b/java/res/drawable-hdpi/sym_keyboard_label_mic.png
deleted file mode 100644
index 4e0a8ed8e..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_label_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_label_mic_holo.png b/java/res/drawable-hdpi/sym_keyboard_label_mic_holo.png
deleted file mode 100644
index 22802433e..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_label_mic_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_language_switch.png b/java/res/drawable-hdpi/sym_keyboard_language_switch.png
deleted file mode 100644
index 7b980a0c8..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_language_switch.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_mic.png b/java/res/drawable-hdpi/sym_keyboard_mic.png
deleted file mode 100644
index 520a40f09..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_return.png b/java/res/drawable-hdpi/sym_keyboard_return.png
deleted file mode 100644
index 9743c7f2f..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_return.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_return_holo.png b/java/res/drawable-hdpi/sym_keyboard_return_holo.png
deleted file mode 100644
index 8978934b8..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_return_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_search.png b/java/res/drawable-hdpi/sym_keyboard_search.png
deleted file mode 100644
index 8cd28c64a..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_search.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_search_holo.png b/java/res/drawable-hdpi/sym_keyboard_search_holo.png
deleted file mode 100644
index b987a20f1..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_search_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_settings.png b/java/res/drawable-hdpi/sym_keyboard_settings.png
deleted file mode 100644
index 1e5bf939e..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_settings_holo.png b/java/res/drawable-hdpi/sym_keyboard_settings_holo.png
deleted file mode 100644
index 5af09ad8c..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_settings_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_shift.png b/java/res/drawable-hdpi/sym_keyboard_shift.png
deleted file mode 100644
index 8e3d0320c..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_shift.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_shift_holo.png b/java/res/drawable-hdpi/sym_keyboard_shift_holo.png
deleted file mode 100644
index c58f9ab5c..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_shift_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_shift_locked.png b/java/res/drawable-hdpi/sym_keyboard_shift_locked.png
deleted file mode 100644
index d345634a6..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_shift_locked.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.png b/java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.png
deleted file mode 100644
index 7a5c03713..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_space.png b/java/res/drawable-hdpi/sym_keyboard_space.png
deleted file mode 100644
index 780733ec5..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_space.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_space_holo.png b/java/res/drawable-hdpi/sym_keyboard_space_holo.png
deleted file mode 100644
index e8bc3902d..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_space_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_space_led.9.png b/java/res/drawable-hdpi/sym_keyboard_space_led.9.png
deleted file mode 100644
index c76f64b94..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_space_led.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_space_led_holo.9.png b/java/res/drawable-hdpi/sym_keyboard_space_led_holo.9.png
deleted file mode 100644
index 34a1ebde2..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_space_led_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_tab.png b/java/res/drawable-hdpi/sym_keyboard_tab.png
deleted file mode 100644
index 3d1c5c0ea..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_tab.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_tab_holo.png b/java/res/drawable-hdpi/sym_keyboard_tab_holo.png
deleted file mode 100644
index 8d10d057c..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_tab_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_voice_holo.png b/java/res/drawable-hdpi/sym_keyboard_voice_holo.png
deleted file mode 100644
index 8a6336a57..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_voice_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_voice_off_holo.png b/java/res/drawable-hdpi/sym_keyboard_voice_off_holo.png
deleted file mode 100644
index edf1379ab..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_voice_off_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_zwj_holo.png b/java/res/drawable-hdpi/sym_keyboard_zwj_holo.png
deleted file mode 100644
index 5fa30ceb8..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_zwj_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_zwnj_holo.png b/java/res/drawable-hdpi/sym_keyboard_zwnj_holo.png
deleted file mode 100644
index 91367f3d2..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_zwnj_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_center_default.9.png b/java/res/drawable-mdpi/btn_center_default.9.png
deleted file mode 100644
index d5ec36ba4..000000000
--- a/java/res/drawable-mdpi/btn_center_default.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_center_pressed.9.png b/java/res/drawable-mdpi/btn_center_pressed.9.png
deleted file mode 100644
index 593a679d0..000000000
--- a/java/res/drawable-mdpi/btn_center_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_center_selected.9.png b/java/res/drawable-mdpi/btn_center_selected.9.png
deleted file mode 100644
index f1914a886..000000000
--- a/java/res/drawable-mdpi/btn_center_selected.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_active_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_active_holo.9.png
deleted file mode 100644
index e810c7789..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_active_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png
deleted file mode 100644
index 49329f094..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png
deleted file mode 100644
index d449d7600..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png
deleted file mode 100644
index 46e9db092..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.png
deleted file mode 100644
index fa24d5987..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png
deleted file mode 100644
index ee60e4864..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.png
deleted file mode 100644
index f3fc64114..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png
deleted file mode 100644
index c6876f76e..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png
deleted file mode 100644
index 8f340d355..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png
deleted file mode 100644
index 1f8f318d1..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
deleted file mode 100644
index 53ea5f894..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png
deleted file mode 100644
index 2bb7b64f4..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
deleted file mode 100644
index 69c84e7ec..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal.9.png
deleted file mode 100644
index 4b1a78cfb..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_fulltrans_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed.9.png b/java/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed.9.png
deleted file mode 100644
index 697683e29..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_fulltrans_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png
deleted file mode 100644
index f5ce40cf6..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png
deleted file mode 100644
index 976083fdf..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png
deleted file mode 100644
index ca73b9249..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png
deleted file mode 100644
index 73f2006d4..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png
deleted file mode 100644
index c39dd4a94..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal.9.png
deleted file mode 100644
index 12bc97928..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_normal_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_off.9.png
deleted file mode 100644
index 44bd414a1..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_normal_off_stone.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_off_stone.9.png
deleted file mode 100644
index cdd6c8b79..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_normal_off_stone.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_normal_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_on.9.png
deleted file mode 100644
index 43fdf5b88..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_normal_on_stone.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_on_stone.9.png
deleted file mode 100644
index d8421746a..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_normal_on_stone.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_normal_stone.9.png b/java/res/drawable-mdpi/btn_keyboard_key_normal_stone.9.png
deleted file mode 100644
index 73cf35df0..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_normal_stone.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png
deleted file mode 100644
index 93a6e7921..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_pressed.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed.9.png
deleted file mode 100644
index 1c1f3d711..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_pressed_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_off.9.png
deleted file mode 100644
index dacb675a9..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_pressed_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_pressed_on.9.png
deleted file mode 100644
index 3daa69f31..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_pressed_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_suggestion_pressed.9.png b/java/res/drawable-mdpi/btn_suggestion_pressed.9.png
deleted file mode 100644
index 02b4e9a53..000000000
--- a/java/res/drawable-mdpi/btn_suggestion_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_ime_settings.png b/java/res/drawable-mdpi/ic_ime_settings.png
deleted file mode 100644
index 060e8620e..000000000
--- a/java/res/drawable-mdpi/ic_ime_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_subtype_keyboard.png b/java/res/drawable-mdpi/ic_subtype_keyboard.png
deleted file mode 100644
index d28efc106..000000000
--- a/java/res/drawable-mdpi/ic_subtype_keyboard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_background.9.png b/java/res/drawable-mdpi/keyboard_background.9.png
deleted file mode 100644
index 2bd4b628d..000000000
--- a/java/res/drawable-mdpi/keyboard_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_background_holo.9.png b/java/res/drawable-mdpi/keyboard_background_holo.9.png
deleted file mode 100644
index fbe97f7a2..000000000
--- a/java/res/drawable-mdpi/keyboard_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_dark_background.9.png b/java/res/drawable-mdpi/keyboard_dark_background.9.png
deleted file mode 100644
index 4f81704c4..000000000
--- a/java/res/drawable-mdpi/keyboard_dark_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png
deleted file mode 100644
index 1745cecbe..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png
deleted file mode 100644
index 7a9f640d1..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_holo.9.png
deleted file mode 100644
index 5b06f09bb..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_left_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_holo.9.png
deleted file mode 100644
index fd992d6f4..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png
deleted file mode 100644
index cdfa6804b..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png
deleted file mode 100644
index 128dcd6ad..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_holo.9.png
deleted file mode 100644
index 0b08d1747..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_right_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_holo.9.png
deleted file mode 100644
index cf0b33c1d..000000000
--- a/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background.9.png
deleted file mode 100644
index 0d9ab97f0..000000000
--- a/java/res/drawable-mdpi/keyboard_popup_panel_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png
deleted file mode 100644
index 61988a8e1..000000000
--- a/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_suggest_strip.9.png b/java/res/drawable-mdpi/keyboard_suggest_strip.9.png
deleted file mode 100644
index fa6c0feff..000000000
--- a/java/res/drawable-mdpi/keyboard_suggest_strip.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_suggest_strip_holo.9.png b/java/res/drawable-mdpi/keyboard_suggest_strip_holo.9.png
deleted file mode 100644
index b1c18b412..000000000
--- a/java/res/drawable-mdpi/keyboard_suggest_strip_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/more_keys_divider.png b/java/res/drawable-mdpi/more_keys_divider.png
deleted file mode 100644
index a46284f21..000000000
--- a/java/res/drawable-mdpi/more_keys_divider.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/more_suggestions_divider.png b/java/res/drawable-mdpi/more_suggestions_divider.png
deleted file mode 100644
index a46284f21..000000000
--- a/java/res/drawable-mdpi/more_suggestions_divider.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/suggestion_feedback_background.9.png b/java/res/drawable-mdpi/suggestion_feedback_background.9.png
deleted file mode 100644
index 2a80f096d..000000000
--- a/java/res/drawable-mdpi/suggestion_feedback_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/suggestions_strip_divider.png b/java/res/drawable-mdpi/suggestions_strip_divider.png
deleted file mode 100644
index 2dbe2f94b..000000000
--- a/java/res/drawable-mdpi/suggestions_strip_divider.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_delete.png b/java/res/drawable-mdpi/sym_bkeyboard_delete.png
deleted file mode 100644
index 1a5ff439e..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_label_mic.png b/java/res/drawable-mdpi/sym_bkeyboard_label_mic.png
deleted file mode 100644
index 7f0b1355f..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_label_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_mic.png b/java/res/drawable-mdpi/sym_bkeyboard_mic.png
deleted file mode 100644
index a6cb1cc01..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_return.png b/java/res/drawable-mdpi/sym_bkeyboard_return.png
deleted file mode 100644
index e76225d0f..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_return.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_search.png b/java/res/drawable-mdpi/sym_bkeyboard_search.png
deleted file mode 100644
index 1f180155d..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_search.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_settings.png b/java/res/drawable-mdpi/sym_bkeyboard_settings.png
deleted file mode 100644
index 08ba18f28..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_shift.png b/java/res/drawable-mdpi/sym_bkeyboard_shift.png
deleted file mode 100644
index c981188dd..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_shift.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_shift_locked.png b/java/res/drawable-mdpi/sym_bkeyboard_shift_locked.png
deleted file mode 100644
index b8cebd060..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_shift_locked.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_space.png b/java/res/drawable-mdpi/sym_bkeyboard_space.png
deleted file mode 100644
index 4da7ee86e..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_space.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_tab.png b/java/res/drawable-mdpi/sym_bkeyboard_tab.png
deleted file mode 100644
index 2cb991cbf..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_tab.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_bkeyboard_voice_off.png b/java/res/drawable-mdpi/sym_bkeyboard_voice_off.png
deleted file mode 100644
index 081a13096..000000000
--- a/java/res/drawable-mdpi/sym_bkeyboard_voice_off.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_delete.png b/java/res/drawable-mdpi/sym_keyboard_delete.png
deleted file mode 100644
index 1b0f3f836..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_delete_holo.png b/java/res/drawable-mdpi/sym_keyboard_delete_holo.png
deleted file mode 100644
index 86be35185..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_delete_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png b/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png
deleted file mode 100644
index a10dc8fa2..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_label_mic.png b/java/res/drawable-mdpi/sym_keyboard_label_mic.png
deleted file mode 100644
index a354d5321..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_label_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_label_mic_holo.png b/java/res/drawable-mdpi/sym_keyboard_label_mic_holo.png
deleted file mode 100644
index d51adbe2f..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_label_mic_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_language_switch.png b/java/res/drawable-mdpi/sym_keyboard_language_switch.png
deleted file mode 100644
index f840a631d..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_language_switch.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_mic.png b/java/res/drawable-mdpi/sym_keyboard_mic.png
deleted file mode 100644
index e926b3fa6..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_return.png b/java/res/drawable-mdpi/sym_keyboard_return.png
deleted file mode 100644
index 0c10f004a..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_return.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_return_holo.png b/java/res/drawable-mdpi/sym_keyboard_return_holo.png
deleted file mode 100644
index bfcb91328..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_return_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_search.png b/java/res/drawable-mdpi/sym_keyboard_search.png
deleted file mode 100644
index 614f85f5e..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_search.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_search_holo.png b/java/res/drawable-mdpi/sym_keyboard_search_holo.png
deleted file mode 100644
index dd3c83a84..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_search_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_settings.png b/java/res/drawable-mdpi/sym_keyboard_settings.png
deleted file mode 100644
index ad7618fa0..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_settings_holo.png b/java/res/drawable-mdpi/sym_keyboard_settings_holo.png
deleted file mode 100644
index 36c8c9623..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_settings_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_shift.png b/java/res/drawable-mdpi/sym_keyboard_shift.png
deleted file mode 100644
index 5109b0471..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_shift.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_holo.png b/java/res/drawable-mdpi/sym_keyboard_shift_holo.png
deleted file mode 100644
index 621946455..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_shift_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_locked.png b/java/res/drawable-mdpi/sym_keyboard_shift_locked.png
deleted file mode 100644
index 244179c2d..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_shift_locked.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png b/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png
deleted file mode 100644
index fb3a020d8..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_space.png b/java/res/drawable-mdpi/sym_keyboard_space.png
deleted file mode 100644
index cbe4a88d6..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_space.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_space_holo.png b/java/res/drawable-mdpi/sym_keyboard_space_holo.png
deleted file mode 100644
index 1f787d573..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_space_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_space_led.9.png b/java/res/drawable-mdpi/sym_keyboard_space_led.9.png
deleted file mode 100644
index 1c1ca2cc7..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_space_led.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_space_led_holo.9.png b/java/res/drawable-mdpi/sym_keyboard_space_led_holo.9.png
deleted file mode 100644
index abd8b742e..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_space_led_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_tab.png b/java/res/drawable-mdpi/sym_keyboard_tab.png
deleted file mode 100644
index eddb9a592..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_tab.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_tab_holo.png b/java/res/drawable-mdpi/sym_keyboard_tab_holo.png
deleted file mode 100644
index 8d20153ee..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_tab_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_voice_holo.png b/java/res/drawable-mdpi/sym_keyboard_voice_holo.png
deleted file mode 100644
index 0795fcc9b..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_voice_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_voice_off_holo.png b/java/res/drawable-mdpi/sym_keyboard_voice_off_holo.png
deleted file mode 100644
index f76da5797..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_voice_off_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_zwj_holo.png b/java/res/drawable-mdpi/sym_keyboard_zwj_holo.png
deleted file mode 100644
index 70370d83d..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_zwj_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_zwnj_holo.png b/java/res/drawable-mdpi/sym_keyboard_zwnj_holo.png
deleted file mode 100644
index a69eade17..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_zwnj_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_center_default.9.png b/java/res/drawable-xhdpi/btn_center_default.9.png
deleted file mode 100644
index e847425f8..000000000
--- a/java/res/drawable-xhdpi/btn_center_default.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_center_pressed.9.png b/java/res/drawable-xhdpi/btn_center_pressed.9.png
deleted file mode 100644
index facfd4323..000000000
--- a/java/res/drawable-xhdpi/btn_center_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_center_selected.9.png b/java/res/drawable-xhdpi/btn_center_selected.9.png
deleted file mode 100644
index facfd4323..000000000
--- a/java/res/drawable-xhdpi/btn_center_selected.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_holo.9.png
deleted file mode 100644
index d990c0258..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal.9.png
deleted file mode 100644
index d0090a305..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_holo.9.png
deleted file mode 100644
index d2cd029bb..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off.9.png
deleted file mode 100644
index 2baf7d90c..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off_holo.9.png
deleted file mode 100644
index bca39cf17..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_off_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on.9.png
deleted file mode 100644
index 6812f9e8f..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_holo.9.png
deleted file mode 100644
index ab8fb2e86..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed.9.png
deleted file mode 100644
index a932249a8..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_holo.9.png
deleted file mode 100644
index 3871689ef..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off.9.png
deleted file mode 100644
index 16416f000..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
deleted file mode 100644
index 912506368..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on.9.png
deleted file mode 100644
index 3ca93fdb3..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
deleted file mode 100644
index 35ce67fdc..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.png
deleted file mode 100644
index f7e32f764..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.png
deleted file mode 100644
index df3b5ba2d..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_normal.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_light_normal.9.png
deleted file mode 100644
index aa4f44fdd..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_light_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_normal_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_light_normal_holo.9.png
deleted file mode 100644
index b26f1d27a..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_light_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_popup_selected.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_light_popup_selected.9.png
deleted file mode 100644
index 4539255c2..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_light_popup_selected.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed.9.png
deleted file mode 100644
index 568392444..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_holo.9.png
deleted file mode 100644
index c23a4b225..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_normal.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal.9.png
deleted file mode 100644
index 026005d6f..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png
deleted file mode 100644
index 38c5f244b..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_normal_off_stone.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_off_stone.9.png
deleted file mode 100644
index dec219304..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_normal_off_stone.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png
deleted file mode 100644
index f1223e50e..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_normal_on_stone.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_on_stone.9.png
deleted file mode 100644
index 3c77b3ccd..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_normal_on_stone.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_normal_stone.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_normal_stone.9.png
deleted file mode 100644
index 5cdfc4201..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_normal_stone.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_holo.9.png
deleted file mode 100644
index 0c7bfdace..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png
deleted file mode 100644
index ec35db54d..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png
deleted file mode 100644
index bd30464d6..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png
deleted file mode 100644
index a3ff5d1bb..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_suggestion_pressed.9.png b/java/res/drawable-xhdpi/btn_suggestion_pressed.9.png
deleted file mode 100644
index 41e126a73..000000000
--- a/java/res/drawable-xhdpi/btn_suggestion_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_ime_settings.png b/java/res/drawable-xhdpi/ic_ime_settings.png
deleted file mode 100644
index d674be06e..000000000
--- a/java/res/drawable-xhdpi/ic_ime_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_subtype_keyboard.png b/java/res/drawable-xhdpi/ic_subtype_keyboard.png
deleted file mode 100644
index a79bb3458..000000000
--- a/java/res/drawable-xhdpi/ic_subtype_keyboard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_background.9.png b/java/res/drawable-xhdpi/keyboard_background.9.png
deleted file mode 100644
index 263996322..000000000
--- a/java/res/drawable-xhdpi/keyboard_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_background_holo.9.png
deleted file mode 100644
index f5c9df3e5..000000000
--- a/java/res/drawable-xhdpi/keyboard_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_dark_background.9.png b/java/res/drawable-xhdpi/keyboard_dark_background.9.png
deleted file mode 100644
index 27b7a108c..000000000
--- a/java/res/drawable-xhdpi/keyboard_dark_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_background.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_background.9.png
deleted file mode 100644
index 5ef12a776..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_background_holo.9.png
deleted file mode 100644
index d999127f2..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_holo.9.png
deleted file mode 100644
index c4d694136..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_holo.9.png
deleted file mode 100644
index 5429c1785..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background.9.png
deleted file mode 100644
index 70cef569b..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_holo.9.png
deleted file mode 100644
index 5135a0869..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_holo.9.png
deleted file mode 100644
index 19a77a29f..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_holo.9.png
deleted file mode 100644
index ae2ffff8e..000000000
--- a/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_popup_panel_background.9.png b/java/res/drawable-xhdpi/keyboard_popup_panel_background.9.png
deleted file mode 100644
index 79f7ab00a..000000000
--- a/java/res/drawable-xhdpi/keyboard_popup_panel_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_popup_panel_background_holo.9.png
deleted file mode 100644
index 1dee699f4..000000000
--- a/java/res/drawable-xhdpi/keyboard_popup_panel_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_suggest_strip.9.png b/java/res/drawable-xhdpi/keyboard_suggest_strip.9.png
deleted file mode 100644
index 1b568df03..000000000
--- a/java/res/drawable-xhdpi/keyboard_suggest_strip.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_suggest_strip_holo.9.png b/java/res/drawable-xhdpi/keyboard_suggest_strip_holo.9.png
deleted file mode 100644
index 4c27072e9..000000000
--- a/java/res/drawable-xhdpi/keyboard_suggest_strip_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/more_keys_divider.png b/java/res/drawable-xhdpi/more_keys_divider.png
deleted file mode 100644
index 178594bf0..000000000
--- a/java/res/drawable-xhdpi/more_keys_divider.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/more_suggestions_divider.png b/java/res/drawable-xhdpi/more_suggestions_divider.png
deleted file mode 100644
index 178594bf0..000000000
--- a/java/res/drawable-xhdpi/more_suggestions_divider.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/suggestion_feedback_background.9.png b/java/res/drawable-xhdpi/suggestion_feedback_background.9.png
deleted file mode 100644
index 0ec90e5ea..000000000
--- a/java/res/drawable-xhdpi/suggestion_feedback_background.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/suggestions_strip_divider.png b/java/res/drawable-xhdpi/suggestions_strip_divider.png
deleted file mode 100644
index 0d8b98437..000000000
--- a/java/res/drawable-xhdpi/suggestions_strip_divider.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_delete.png b/java/res/drawable-xhdpi/sym_bkeyboard_delete.png
deleted file mode 100644
index b84ee76dc..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_label_mic.png b/java/res/drawable-xhdpi/sym_bkeyboard_label_mic.png
deleted file mode 100644
index 9bd1d65b4..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_label_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_mic.png b/java/res/drawable-xhdpi/sym_bkeyboard_mic.png
deleted file mode 100644
index 8c3f11dd4..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_return.png b/java/res/drawable-xhdpi/sym_bkeyboard_return.png
deleted file mode 100644
index 1632ecd8e..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_return.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_search.png b/java/res/drawable-xhdpi/sym_bkeyboard_search.png
deleted file mode 100644
index 69d8b22d1..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_search.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_settings.png b/java/res/drawable-xhdpi/sym_bkeyboard_settings.png
deleted file mode 100644
index 050154a3a..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_shift.png b/java/res/drawable-xhdpi/sym_bkeyboard_shift.png
deleted file mode 100644
index d15d11a50..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_shift.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_shift_locked.png b/java/res/drawable-xhdpi/sym_bkeyboard_shift_locked.png
deleted file mode 100644
index 83b287fea..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_shift_locked.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_space.png b/java/res/drawable-xhdpi/sym_bkeyboard_space.png
deleted file mode 100644
index 5ca62c7b7..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_space.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_tab.png b/java/res/drawable-xhdpi/sym_bkeyboard_tab.png
deleted file mode 100644
index 6ca199755..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_tab.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_bkeyboard_voice_off.png b/java/res/drawable-xhdpi/sym_bkeyboard_voice_off.png
deleted file mode 100644
index fc6a4eb59..000000000
--- a/java/res/drawable-xhdpi/sym_bkeyboard_voice_off.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_delete.png b/java/res/drawable-xhdpi/sym_keyboard_delete.png
deleted file mode 100644
index 3c0b8b186..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_delete.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_delete_holo.png b/java/res/drawable-xhdpi/sym_keyboard_delete_holo.png
deleted file mode 100644
index 354c09ee6..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_delete_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_feedback_tab.png b/java/res/drawable-xhdpi/sym_keyboard_feedback_tab.png
deleted file mode 100644
index 0650e01cb..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_feedback_tab.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_label_mic.png b/java/res/drawable-xhdpi/sym_keyboard_label_mic.png
deleted file mode 100644
index 49810a02f..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_label_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_label_mic_holo.png b/java/res/drawable-xhdpi/sym_keyboard_label_mic_holo.png
deleted file mode 100644
index a7d3eaa0a..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_label_mic_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_language_switch.png b/java/res/drawable-xhdpi/sym_keyboard_language_switch.png
deleted file mode 100644
index 6c2fb53ec..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_language_switch.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_mic.png b/java/res/drawable-xhdpi/sym_keyboard_mic.png
deleted file mode 100644
index 1323b6d1e..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_return.png b/java/res/drawable-xhdpi/sym_keyboard_return.png
deleted file mode 100644
index ad061227e..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_return.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_return_holo.png b/java/res/drawable-xhdpi/sym_keyboard_return_holo.png
deleted file mode 100644
index ba424adfd..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_return_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_search.png b/java/res/drawable-xhdpi/sym_keyboard_search.png
deleted file mode 100644
index aa785a221..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_search.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_search_holo.png b/java/res/drawable-xhdpi/sym_keyboard_search_holo.png
deleted file mode 100644
index f2fb2a2b5..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_search_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_settings.png b/java/res/drawable-xhdpi/sym_keyboard_settings.png
deleted file mode 100644
index 50704255d..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_settings.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_settings_holo.png b/java/res/drawable-xhdpi/sym_keyboard_settings_holo.png
deleted file mode 100644
index 99ee97dbf..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_settings_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_shift.png b/java/res/drawable-xhdpi/sym_keyboard_shift.png
deleted file mode 100644
index 290170619..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_shift.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_shift_holo.png b/java/res/drawable-xhdpi/sym_keyboard_shift_holo.png
deleted file mode 100644
index 1046b4545..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_shift_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_shift_locked.png b/java/res/drawable-xhdpi/sym_keyboard_shift_locked.png
deleted file mode 100644
index a5deb60e9..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_shift_locked.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_shift_locked_holo.png b/java/res/drawable-xhdpi/sym_keyboard_shift_locked_holo.png
deleted file mode 100644
index 6acb565d9..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_shift_locked_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_space.png b/java/res/drawable-xhdpi/sym_keyboard_space.png
deleted file mode 100644
index 66fc3e9d3..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_space.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_space_holo.png b/java/res/drawable-xhdpi/sym_keyboard_space_holo.png
deleted file mode 100644
index 504a3ed45..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_space_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_space_led.9.png b/java/res/drawable-xhdpi/sym_keyboard_space_led.9.png
deleted file mode 100644
index 6525fefab..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_space_led.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_space_led_holo.9.png b/java/res/drawable-xhdpi/sym_keyboard_space_led_holo.9.png
deleted file mode 100644
index ba4e9ec49..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_space_led_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_tab.png b/java/res/drawable-xhdpi/sym_keyboard_tab.png
deleted file mode 100644
index 0ef2ab5b9..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_tab.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_tab_holo.png b/java/res/drawable-xhdpi/sym_keyboard_tab_holo.png
deleted file mode 100644
index ff380eeab..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_tab_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_voice_holo.png b/java/res/drawable-xhdpi/sym_keyboard_voice_holo.png
deleted file mode 100644
index b2bb9b803..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_voice_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_voice_off_holo.png b/java/res/drawable-xhdpi/sym_keyboard_voice_off_holo.png
deleted file mode 100644
index 23e75bfe7..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_voice_off_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_zwj_holo.png b/java/res/drawable-xhdpi/sym_keyboard_zwj_holo.png
deleted file mode 100644
index 26694274e..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_zwj_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_zwnj_holo.png b/java/res/drawable-xhdpi/sym_keyboard_zwnj_holo.png
deleted file mode 100644
index 75a22b65f..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_zwnj_holo.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/btn_center.xml b/java/res/drawable/btn_center.xml
deleted file mode 100644
index 3ac21297c..000000000
--- a/java/res/drawable/btn_center.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<selector
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:exitFadeDuration="@android:integer/config_mediumAnimTime">
- <item
- android:state_window_focused="false"
- android:state_enabled="true"
- android:drawable="@drawable/btn_center_default" />
- <item
- android:state_pressed="true"
- android:drawable="@drawable/btn_center_pressed" />
- <item
- android:state_focused="true"
- android:state_enabled="true"
- android:drawable="@drawable/btn_center_selected" />
- <item
- android:state_enabled="true"
- android:drawable="@drawable/btn_center_default" />
- <item
- android:drawable="@drawable/btn_center_default" />
-</selector>
diff --git a/java/res/drawable/btn_keyboard_key.xml b/java/res/drawable/btn_keyboard_key.xml
deleted file mode 100644
index 797bc105e..000000000
--- a/java/res/drawable/btn_keyboard_key.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <!-- Toggle keys. Use checkable/checked state. -->
-
- <item android:state_checkable="true" android:state_checked="true"
- android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_pressed_on" />
- <item android:state_checkable="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_pressed_off" />
- <item android:state_checkable="true" android:state_checked="true"
- android:drawable="@drawable/btn_keyboard_key_normal_on" />
- <item android:state_checkable="true"
- android:drawable="@drawable/btn_keyboard_key_normal_off" />
-
- <!-- Normal keys -->
-
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_pressed" />
- <item
- android:drawable="@drawable/btn_keyboard_key_normal" />
-
-</selector>
diff --git a/java/res/drawable/btn_keyboard_key3.xml b/java/res/drawable/btn_keyboard_key3.xml
deleted file mode 100644
index dbe82d5fd..000000000
--- a/java/res/drawable/btn_keyboard_key3.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <!-- Toggle keys. Use checkable/checked state. -->
-
- <item android:state_checkable="true" android:state_checked="true"
- android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_pressed_on" />
- <item android:state_checkable="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_fulltrans_normal" />
- <item android:state_checkable="true" android:state_checked="true"
- android:drawable="@drawable/btn_keyboard_key_normal_on" />
- <item android:state_checkable="true"
- android:drawable="@drawable/btn_keyboard_key_fulltrans_pressed" />
-
- <!-- Normal keys -->
-
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_fulltrans_normal" />
- <item android:drawable="@drawable/btn_keyboard_key_fulltrans_pressed" />
-</selector>
diff --git a/java/res/drawable/btn_keyboard_key_gingerbread.xml b/java/res/drawable/btn_keyboard_key_gingerbread.xml
deleted file mode 100644
index 5b4399e1b..000000000
--- a/java/res/drawable/btn_keyboard_key_gingerbread.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <!-- Functional keys. -->
-
- <item android:state_single="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed" />
- <item android:state_single="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal" />
-
- <!-- Action keys. -->
-
- <item android:state_active="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed" />
- <item android:state_active="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal" />
-
- <!-- Toggle keys. Use checkable/checked state. -->
-
- <item android:state_checkable="true" android:state_checked="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_on" />
- <item android:state_checkable="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_off" />
- <item android:state_checkable="true" android:state_checked="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_on" />
- <item android:state_checkable="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_off" />
-
- <!-- Normal keys. -->
-
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_light_pressed" />
- <item android:drawable="@drawable/btn_keyboard_key_light_normal" />
-</selector>
diff --git a/java/res/drawable/btn_keyboard_key_ics.xml b/java/res/drawable/btn_keyboard_key_ics.xml
deleted file mode 100644
index e893da133..000000000
--- a/java/res/drawable/btn_keyboard_key_ics.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <!-- Functional keys. -->
-
- <item android:state_single="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_holo" />
- <item android:state_single="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_holo" />
-
- <!-- Action keys. -->
-
- <item android:state_active="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_holo" />
- <item android:state_active="true"
- android:drawable="@drawable/btn_keyboard_key_dark_active_holo" />
-
- <!-- Toggle keys. Use checkable/checked state. -->
-
- <item android:state_checkable="true" android:state_checked="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_on_holo" />
- <item android:state_checkable="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_off_holo" />
- <item android:state_checkable="true" android:state_checked="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_on_holo" />
- <item android:state_checkable="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_off_holo" />
-
- <!-- Normal keys. -->
-
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_light_pressed_holo" />
- <item android:drawable="@drawable/btn_keyboard_key_light_normal_holo" />
-</selector>
diff --git a/java/res/drawable/btn_keyboard_key_popup.xml b/java/res/drawable/btn_keyboard_key_popup.xml
deleted file mode 100644
index 9e3670d22..000000000
--- a/java/res/drawable/btn_keyboard_key_popup.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_light_popup_selected" />
- <item android:drawable="@drawable/transparent" />
-</selector>
diff --git a/java/res/drawable/btn_keyboard_key_popup_ics.xml b/java/res/drawable/btn_keyboard_key_popup_ics.xml
deleted file mode 100644
index b99679ba1..000000000
--- a/java/res/drawable/btn_keyboard_key_popup_ics.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_popup_selected_holo" />
- <item android:drawable="@drawable/transparent" />
-</selector>
diff --git a/java/res/drawable/btn_keyboard_key_stone.xml b/java/res/drawable/btn_keyboard_key_stone.xml
deleted file mode 100644
index 9bc3f18d6..000000000
--- a/java/res/drawable/btn_keyboard_key_stone.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <!-- Functional keys. -->
-
- <item android:state_single="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_fulltrans_pressed" />
- <item android:state_single="true"
- android:drawable="@drawable/btn_keyboard_key_normal_stone" />
-
- <!-- Action keys. -->
-
- <item android:state_active="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_fulltrans_pressed" />
- <item android:state_active="true"
- android:drawable="@drawable/btn_keyboard_key_normal_stone" />
-
- <!-- Toggle keys. Use checkable/checked state. -->
-
- <item android:state_checkable="true" android:state_checked="true"
- android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_normal_on_stone" />
- <item android:state_checkable="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_normal_off_stone" />
- <item android:state_checkable="true" android:state_checked="true"
- android:drawable="@drawable/btn_keyboard_key_normal_on_stone" />
- <item android:state_checkable="true"
- android:drawable="@drawable/btn_keyboard_key_normal_off_stone" />
-
- <!-- Normal keys. -->
-
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_fulltrans_pressed" />
- <item android:drawable="@drawable/btn_keyboard_key_normal_stone" />
-</selector>
diff --git a/java/res/drawable/btn_suggestion.xml b/java/res/drawable/btn_suggestion.xml
deleted file mode 100644
index cde12fe55..000000000
--- a/java/res/drawable/btn_suggestion.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<selector
- xmlns:android="http://schemas.android.com/apk/res/android"
->
- <item
- android:state_pressed="true"
- android:drawable="@drawable/btn_suggestion_pressed" />
-</selector>
diff --git a/java/res/drawable/btn_suggestion_ics.xml b/java/res/drawable/btn_suggestion_ics.xml
deleted file mode 100644
index e4257e327..000000000
--- a/java/res/drawable/btn_suggestion_ics.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<selector
- xmlns:android="http://schemas.android.com/apk/res/android"
->
- <item
- android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_popup_selected_holo" />
-</selector>
diff --git a/java/res/drawable/keyboard_key_feedback.xml b/java/res/drawable/keyboard_key_feedback.xml
deleted file mode 100644
index 397e948d8..000000000
--- a/java/res/drawable/keyboard_key_feedback.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <item latin:state_has_morekeys="true"
- android:drawable="@drawable/keyboard_key_feedback_more_background" />
- <item android:drawable="@drawable/keyboard_key_feedback_background" />
-</selector>
diff --git a/java/res/drawable/keyboard_key_feedback_ics.xml b/java/res/drawable/keyboard_key_feedback_ics.xml
deleted file mode 100644
index 3c8850e6c..000000000
--- a/java/res/drawable/keyboard_key_feedback_ics.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- Left edge -->
- <item latin:state_left_edge="true" latin:state_has_morekeys="true"
- android:drawable="@drawable/keyboard_key_feedback_left_more_background_holo" />
- <item latin:state_left_edge="true"
- android:drawable="@drawable/keyboard_key_feedback_left_background_holo" />
-
- <!-- Right edge -->
- <item latin:state_right_edge="true" latin:state_has_morekeys="true"
- android:drawable="@drawable/keyboard_key_feedback_right_more_background_holo" />
- <item latin:state_right_edge="true"
- android:drawable="@drawable/keyboard_key_feedback_right_background_holo" />
-
- <item latin:state_has_morekeys="true"
- android:drawable="@drawable/keyboard_key_feedback_more_background_holo" />
- <item android:drawable="@drawable/keyboard_key_feedback_background_holo" />
-</selector>
diff --git a/java/res/drawable/transparent.xml b/java/res/drawable/transparent.xml
deleted file mode 100644
index 855cf2ad5..000000000
--- a/java/res/drawable/transparent.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<shape
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle"
->
- <solid
- android:color="@android:color/transparent" />
- <size
- android:width="50dp"
- android:height="40dp" />
-</shape>
diff --git a/java/res/layout/additional_subtype_dialog.xml b/java/res/layout/additional_subtype_dialog.xml
deleted file mode 100644
index f97c006d6..000000000
--- a/java/res/layout/additional_subtype_dialog.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:columnCount="2"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_marginLeft="8dip"
- android:layout_marginRight="8dip"
- android:padding="8dip">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="left|center_vertical"
- style="?android:attr/textAppearanceSmall"
- android:text="@string/subtype_locale" />
- <Spinner
- android:id="@+id/subtype_locale_spinner"
- android:layout_width="wrap_content"
- android:layout_marginLeft="8dip"
- android:layout_marginBottom="8dip"
- android:layout_marginTop="8dip"
- android:layout_gravity="fill_horizontal|center_vertical"
- android:prompt="@string/subtype_locale" />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="left|center_vertical"
- style="?android:attr/textAppearanceSmall"
- android:text="@string/keyboard_layout_set" />
- <Spinner
- android:id="@+id/keyboard_layout_set_spinner"
- android:layout_width="wrap_content"
- android:layout_marginLeft="8dip"
- android:layout_marginBottom="8dip"
- android:layout_marginTop="8dip"
- android:layout_gravity="fill_horizontal|center_vertical"
- android:prompt="@string/keyboard_layout_set" />
-</GridLayout>
diff --git a/java/res/layout/hint_add_to_dictionary.xml b/java/res/layout/hint_add_to_dictionary.xml
deleted file mode 100644
index 73de44fae..000000000
--- a/java/res/layout/hint_add_to_dictionary.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<!-- This is derived from suggestion_word.xml without minWidth attribute and padding -->
-<TextView
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:textSize="@dimen/suggestion_text_size"
- android:gravity="center"
- android:paddingLeft="0dp"
- android:paddingTop="0dp"
- android:paddingRight="0dp"
- android:paddingBottom="0dp"
- android:focusable="false"
- android:clickable="false"
- android:singleLine="true"
- android:ellipsize="none"
- style="?attr/suggestionBackgroundStyle" />
diff --git a/java/res/layout/input_view.xml b/java/res/layout/input_view.xml
deleted file mode 100644
index 40eff3839..000000000
--- a/java/res/layout/input_view.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<com.android.inputmethod.latin.InputView
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
->
- <!-- The height of key_preview_backing view will automatically be determined by code. -->
- <View
- android:id="@+id/key_preview_backing"
- android:layout_width="match_parent"
- android:layout_height="0dp" />
-
- <!-- On tablets, the suggestions strip is centered with horizontal paddings on both sides
- because width of the landscape mode is too long for the suggestions strip. This
- LinearLayout is required to hold the paddings. -->
- <LinearLayout
- android:id="@+id/suggestions_container"
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- >
- <View
- android:layout_width="@dimen/suggestions_strip_padding"
- android:layout_height="@dimen/suggestions_strip_height"
- style="?attr/suggestionsStripBackgroundStyle" />
- <com.android.inputmethod.latin.suggestions.SuggestionStripView
- android:id="@+id/suggestion_strip_view"
- android:layout_weight="1.0"
- android:layout_width="0dp"
- android:layout_height="@dimen/suggestions_strip_height"
- android:gravity="center_vertical"
- style="?attr/suggestionStripViewStyle" />
- <View
- android:layout_width="@dimen/suggestions_strip_padding"
- android:layout_height="@dimen/suggestions_strip_height"
- style="?attr/suggestionsStripBackgroundStyle" />
- </LinearLayout>
-
- <com.android.inputmethod.keyboard.MainKeyboardView
- android:id="@+id/keyboard_view"
- android:layout_alignParentBottom="true"
- android:layout_width="match_parent"
- android:layout_height="wrap_content" />
-</com.android.inputmethod.latin.InputView>
diff --git a/java/res/layout/key_preview.xml b/java/res/layout/key_preview.xml
deleted file mode 100644
index 2fcd0c4dd..000000000
--- a/java/res/layout/key_preview.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="@drawable/keyboard_key_feedback"
- android:minWidth="32dp"
- android:gravity="center"
-/>
diff --git a/java/res/layout/key_preview_ics.xml b/java/res/layout/key_preview_ics.xml
deleted file mode 100644
index 222e8846c..000000000
--- a/java/res/layout/key_preview_ics.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="@drawable/keyboard_key_feedback_ics"
- android:minWidth="32dp"
- android:gravity="center"
-/>
diff --git a/java/res/layout/more_keys_keyboard.xml b/java/res/layout/more_keys_keyboard.xml
deleted file mode 100644
index 6b2464b99..000000000
--- a/java/res/layout/more_keys_keyboard.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- style="?attr/moreKeysKeyboardPanelStyle"
- >
- <com.android.inputmethod.keyboard.MoreKeysKeyboardView
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- android:id="@+id/more_keys_keyboard_view"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- />
-</LinearLayout>
diff --git a/java/res/layout/more_suggestions.xml b/java/res/layout/more_suggestions.xml
deleted file mode 100644
index b41bb8aa4..000000000
--- a/java/res/layout/more_suggestions.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- style="?attr/moreKeysKeyboardPanelStyle"
- >
- <com.android.inputmethod.latin.suggestions.MoreSuggestionsView
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- android:id="@+id/more_suggestions_view"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- latin:keyLetterSize="@dimen/suggestion_text_size"
- latin:keyLabelSize="@dimen/suggestion_text_size"
- latin:keyHintLetterRatio="@fraction/more_suggestions_info_ratio"
- latin:keyHintLetterColor="@android:color/white"
- />
-</LinearLayout>
diff --git a/java/res/layout/research_feedback_activity.xml b/java/res/layout/research_feedback_activity.xml
deleted file mode 100644
index a6b8b8a43..000000000
--- a/java/res/layout/research_feedback_activity.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<com.android.inputmethod.research.FeedbackLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:id="@+id/research_feedback_layout"
->
-
- <fragment
- android:id="@+id/research_feedback_fragment"
- android:name="com.android.inputmethod.research.FeedbackFragment"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- />
-</com.android.inputmethod.research.FeedbackLayout>
diff --git a/java/res/layout/research_feedback_fragment_layout.xml b/java/res/layout/research_feedback_fragment_layout.xml
deleted file mode 100644
index cc04cedf4..000000000
--- a/java/res/layout/research_feedback_fragment_layout.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
->
-
- <!-- Mimic a dialog title. Necessary since the dialog is actually an activity, so the normal
- dialog title construction code is not available. -->
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- >
- <com.android.internal.widget.DialogTitle
- style="?android:attr/windowTitleStyle"
- android:singleLine="true"
- android:ellipsize="end"
- android:layout_width="match_parent"
- android:layout_height="64dip"
- android:layout_marginLeft="16dip"
- android:layout_marginRight="16dip"
- android:gravity="center_vertical|left"
- android:text="@string/research_feedback_dialog_title" />
- <View
- android:layout_width="match_parent"
- android:layout_height="2dip"
- android:background="@android:color/holo_blue_light" />
- </LinearLayout>
-
- <EditText
- android:id="@+id/research_feedback_contents"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:layout_gravity="fill_horizontal|center_vertical"
- android:layout_marginLeft="8dip"
- android:layout_marginRight="8dip"
- android:layout_marginBottom="8dip"
- android:layout_marginTop="8dip"
- android:lines="2"
- android:hint="@string/research_feedback_hint"
- android:inputType="textMultiLine"
- android:imeOptions="flagNoFullscreen"
- >
- <requestFocus />
- </EditText>
-
- <CheckBox
- android:id="@+id/research_feedback_include_history"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:layout_marginBottom="8dip"
- android:checked="true"
- android:text="@string/research_feedback_include_history_label"
- />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:divider="?android:attr/dividerHorizontal"
- android:showDividers="beginning"
- android:dividerPadding="0dip"
- >
- <LinearLayout
- style="?android:attr/buttonBarStyle"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:measureWithLargestChild="true"
- >
- <Button
- android:id="@+id/research_feedback_cancel_button"
- android:layout_width="0dip"
- android:layout_gravity="left"
- android:layout_weight="1"
- android:maxLines="2"
- style="?android:attr/buttonBarButtonStyle"
- android:textSize="14sp"
- android:text="@string/research_feedback_cancel"
- android:layout_height="wrap_content"
- />
- <Button
- android:id="@+id/research_feedback_send_button"
- android:layout_width="0dip"
- android:layout_gravity="right"
- android:layout_weight="1"
- android:maxLines="2"
- style="?android:attr/buttonBarButtonStyle"
- android:textSize="14sp"
- android:text="@string/research_feedback_send"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
- </LinearLayout>
-</LinearLayout>
diff --git a/java/res/layout/research_feedback_layout.xml b/java/res/layout/research_feedback_layout.xml
deleted file mode 100644
index bacd19101..000000000
--- a/java/res/layout/research_feedback_layout.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
->
-
- <EditText
- android:id="@+id/research_feedback_contents"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:layout_gravity="fill_horizontal|center_vertical"
- android:layout_marginLeft="8dip"
- android:layout_marginRight="8dip"
- android:layout_marginBottom="8dip"
- android:layout_marginTop="8dip"
- android:lines="2"
- android:hint="@string/research_feedback_hint"
- android:inputType="textMultiLine"
- android:imeOptions="flagNoFullscreen"
- android:focusable="true"
- >
- <requestFocus />
- </EditText>
-
- <CheckBox
- android:id="@+id/research_feedback_include_history"
- android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:layout_marginBottom="8dip"
- android:checked="true"
- android:text="@string/research_feedback_include_history_label"
- />
-</LinearLayout>
diff --git a/java/res/layout/sound_effect_volume_dialog.xml b/java/res/layout/sound_effect_volume_dialog.xml
deleted file mode 100644
index 294663006..000000000
--- a/java/res/layout/sound_effect_volume_dialog.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="10dp">
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"
- android:layout_margin="10dp">
- <TextView android:id="@+id/sound_effect_volume_value"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="20dp"/>
- </LinearLayout>
- <SeekBar
- android:id="@+id/sound_effect_volume_bar"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:max="100"
- android:layout_margin="10dp"/>
-</LinearLayout>
diff --git a/java/res/layout/suggestion_divider.xml b/java/res/layout/suggestion_divider.xml
deleted file mode 100644
index a8b78c082..000000000
--- a/java/res/layout/suggestion_divider.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<ImageView
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:src="@drawable/suggestions_strip_divider"
- android:padding="0dp"
- android:gravity="center" />
diff --git a/java/res/layout/suggestion_info.xml b/java/res/layout/suggestion_info.xml
deleted file mode 100644
index a4ad6df25..000000000
--- a/java/res/layout/suggestion_info.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<TextView
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="6dp"
- android:textColor="@android:color/white"
- style="?attr/suggestionBackgroundStyle" />
diff --git a/java/res/layout/suggestion_preview.xml b/java/res/layout/suggestion_preview.xml
deleted file mode 100644
index 856447bba..000000000
--- a/java/res/layout/suggestion_preview.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="18dp"
- android:textColor="?android:attr/textColorPrimaryInverse"
- android:minWidth="32dp"
- android:gravity="center"
- style="?attr/suggestionPreviewBackgroundStyle" />
diff --git a/java/res/layout/suggestion_word.xml b/java/res/layout/suggestion_word.xml
deleted file mode 100644
index d64cacf04..000000000
--- a/java/res/layout/suggestion_word.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<TextView
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:minWidth="@dimen/suggestion_min_width"
- android:textSize="@dimen/suggestion_text_size"
- android:gravity="center"
- android:paddingLeft="@dimen/suggestion_padding"
- android:paddingTop="0dp"
- android:paddingRight="@dimen/suggestion_padding"
- android:paddingBottom="0dp"
- android:focusable="false"
- android:clickable="false"
- android:singleLine="true"
- android:ellipsize="none"
- style="?attr/suggestionBackgroundStyle" />
diff --git a/java/res/layout/suggestions_strip.xml b/java/res/layout/suggestions_strip.xml
deleted file mode 100644
index cbf31e6dc..000000000
--- a/java/res/layout/suggestions_strip.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <LinearLayout
- android:id="@+id/suggestions_strip"
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
-</merge>
diff --git a/java/res/layout/vibration_settings_dialog.xml b/java/res/layout/vibration_settings_dialog.xml
deleted file mode 100644
index c9fb6ec4e..000000000
--- a/java/res/layout/vibration_settings_dialog.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="10dp">
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"
- android:layout_margin="10dp">
- <TextView android:id="@+id/vibration_value"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="20dp"/>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/settings_ms"
- android:textSize="20dp"/>
- </LinearLayout>
- <SeekBar
- android:id="@+id/vibration_settings"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:max="250"
- android:layout_margin="10dp"/>
-</LinearLayout>
diff --git a/java/res/raw/main.dict b/java/res/raw/main.dict
deleted file mode 100644
index a456cf3d3..000000000
--- a/java/res/raw/main.dict
+++ /dev/null
Binary files differ
diff --git a/java/res/raw/main_de.dict b/java/res/raw/main_de.dict
deleted file mode 100644
index 6122cd3f0..000000000
--- a/java/res/raw/main_de.dict
+++ /dev/null
Binary files differ
diff --git a/java/res/raw/main_en.dict b/java/res/raw/main_en.dict
deleted file mode 100644
index e02e300e4..000000000
--- a/java/res/raw/main_en.dict
+++ /dev/null
Binary files differ
diff --git a/java/res/raw/main_es.dict b/java/res/raw/main_es.dict
deleted file mode 100644
index 71370aac2..000000000
--- a/java/res/raw/main_es.dict
+++ /dev/null
Binary files differ
diff --git a/java/res/raw/main_fr.dict b/java/res/raw/main_fr.dict
deleted file mode 100644
index 8e616591c..000000000
--- a/java/res/raw/main_fr.dict
+++ /dev/null
Binary files differ
diff --git a/java/res/raw/main_it.dict b/java/res/raw/main_it.dict
deleted file mode 100644
index 82579078c..000000000
--- a/java/res/raw/main_it.dict
+++ /dev/null
Binary files differ
diff --git a/java/res/raw/main_pt_br.dict b/java/res/raw/main_pt_br.dict
deleted file mode 100644
index d31752e07..000000000
--- a/java/res/raw/main_pt_br.dict
+++ /dev/null
Binary files differ
diff --git a/java/res/values-af/bools.xml b/java/res/values-af/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-af/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-af/strings-appname.xml b/java/res/values-af/strings-appname.xml
deleted file mode 100644
index d6bb52f52..000000000
--- a/java/res/values-af/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android-sleutelbord"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android-speltoetser"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android-sleutelbordinstellings"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Speltoets tans instellings"</string>
-</resources>
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
deleted file mode 100644
index aa09bce8f..000000000
--- a/java/res/values-af/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-sleutelbord (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Invoeropsies"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Navorsing-loglêerbevele"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android-speltoetser (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Soek kontakname op"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Speltoetser gebruik inskrywings uit jou kontaklys"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibreer met sleuteldruk"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Klank met sleuteldruk"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Opspring met sleuteldruk"</string>
- <string name="general_category" msgid="1859088467017573195">"Algemeen"</string>
- <string name="correction_category" msgid="2236750915056607613">"Tekskorrigering"</string>
- <string name="misc_category" msgid="6894192814868233453">"Ander opsies"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Gevorderde instellings"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opsies vir kundiges"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Skakel oor na die ander invoermetodes"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Taal-wisselsleutel dek ook ander invoermetodes"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Taal-wisselsleutel"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Wys wanneer meervoudige invoertale geaktiveer is"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Sleutelopspringer-wagperiode"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Geen wagperiode nie"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Verstek"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Stel kontakname voor"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Gebruik name van kontakte vir voorstelle en korreksies"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Outohoofletters"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Voeg woordeboeke by"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Hoofwoordeboek"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Wys voorstelle vir korrigering"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Wys voorgestelde woorde terwyl jy tik"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Wys altyd"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Wys in portretmodus"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Versteek altyd"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Outokorrigering"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Spasiebalk en leestekens korrigeer outomaties woorde wat verkeerd gespel is"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Af"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Matig"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Aggressief"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Baie aggressief"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Stel volgende woord voor"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Gebaseer op vorige woord"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Gebaarinvoer"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Voer \'n woord in deur die letters van \'n woord te trek"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Wys gebaarspoor"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Wys gebaar se woord"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Wys swewende voorskouwoord saam met die gebaar"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Gestoor"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Gaan"</string>
- <string name="label_next_key" msgid="362972844525672568">"Volgende"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Vorige"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Klaar"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Stuur"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Laat wag"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Wag"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Koppel \'n kopstuk om te hoor hoe wagwoordsleutels hardop gesê word."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Huidige teks is %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Geen teks ingevoer nie"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Sleutelkode %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift aan (tik om te deaktiveer)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Kasslot aan (tik om te deaktiveer)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Vee uit"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simbole"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Letters"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Nommers"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Instellings"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Oortjie"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Spasie"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Steminvoering"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Glimlag-gesiggie"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Soek"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Punt"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Verander taal"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Volgende"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Vorige"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift geaktiveer"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Kasslot geaktiveer"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift gedeaktiveer"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Simboolmodus"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Lettermodus"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Foonmodus"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Foonsimbool-modus"</string>
- <string name="voice_input" msgid="3583258583521397548">"Steminvoerinstellings"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Op hoofsleutelbord"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Op simbolesleutelbord"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Af"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofoon op hoofsleutelbord"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofoon op simbolesleutelbord"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Steminvoer is gedeaktiveer"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Stel invoermetodes op"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Invoertale"</string>
- <string name="select_language" msgid="3693815588777926848">"Invoertale"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Raak weer om te stoor"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Woordeboek beskikbaar"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Aktiveer gebruikerterugvoer"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Help hierdie invoermetode-redigeerder te verbeter deur gebruikstatistiek en omvalverslae outomaties na Google te stuur."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Sleutelbordtema"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Engels (VK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Engels (VS)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Engels (VK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Engels (VS) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Geen taal nie"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Geen taal (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Geen taal nie (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Geen taal nie (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Geen taal nie (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Geen taal nie (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Geen taal nie (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Gepasmaakte invoerstyle"</string>
- <string name="add_style" msgid="6163126614514489951">"Voeg styl by"</string>
- <string name="add" msgid="8299699805688017798">"Voeg by"</string>
- <string name="remove" msgid="4486081658752944606">"Verwyder"</string>
- <string name="save" msgid="7646738597196767214">"Stoor"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Taal"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Uitleg"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Jou gepasmaakte invoerstyl moet geaktiveer word voor gebruik. Aktiveer nou?"</string>
- <string name="enable" msgid="5031294444630523247">"Aktiveer"</string>
- <string name="not_now" msgid="6172462888202790482">"Nie nou nie"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Dieselfde invoerstyl bestaan ​​reeds: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Bruikbaarheidstudie-modus"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Sleuteldruk se vibrasie-tydsduurinstellings"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Sleuteldruk se klankvolume-instellings"</string>
-</resources>
diff --git a/java/res/values-am/strings-appname.xml b/java/res/values-am/strings-appname.xml
deleted file mode 100644
index fd93114f3..000000000
--- a/java/res/values-am/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"የAndroid ቁልፍ ሰሌዳ"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android የፊደል አራሚ"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android የቁልፍ ሰሌዳ ቅንብሮች"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"የፊደል አራሚ ቅንብሮች"</string>
-</resources>
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml
deleted file mode 100644
index 7b0891f94..000000000
--- a/java/res/values-am/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"የAndroid ቁልፍ ሰሌዳ (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"ግቤት አማራጮች"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"የጥናት የምዝግብ ማስታወሻ ትዕዛዞች"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android የፊደል ማረሚያ (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"የእውቅያ ስሞችን ተመልከት"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"ፊደል አራሚ ከእውቅያ ዝርዝርህ የገቡትን ይጠቀማል"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"በቁልፍመጫንጊዜ አንዝር"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"በቁልፍ መጫን ላይ የሚወጣ ድምፅ"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"ቁልፍ ጫን ላይ ብቅ ባይ"</string>
- <string name="general_category" msgid="1859088467017573195">"አጠቃላይ"</string>
- <string name="correction_category" msgid="2236750915056607613">"ፅሁፍ አስተካክል"</string>
- <string name="misc_category" msgid="6894192814868233453">"ሌሎች አማራጮች"</string>
- <string name="advanced_settings" msgid="362895144495591463">"የላቁ ቅንብሮች"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"ለብቁ ተጠቃሚዎች አማራጮች"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ወደ ሌሎች የግቤት ስልቶች ቀይር"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"የቋንቋ መቀየሪያ ቁልፍ ሌሎች የግቤት ስልቶችንም ይሸፍናል"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"የቋንቋ መቀየሪያ ቁልፍ"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"በርካታ የግቤት ቋንቋዎች ሲነቁ አሳይ"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"የቁልፍ ብቅ ባይ መዘግየትን ያስወገዳል"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"የዘገየ የለም"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"ነባሪ"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"የዕውቂያ ስም ጠቁም"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"ከዕውቂያዎች ለጥቆማዎች እና ማስተካከያዎች ስሞች ተጠቀም"</string>
- <string name="auto_cap" msgid="1719746674854628252">"ራስ-ሰር አቢይ ማድረግ"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"መዝገበ ቃላቶች ጨምር"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"ዋና መዝገበ ቃላት"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"የማስተካከያ ጥቆማዎች አሳይ"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"እየተየብክ ተመራጭ ቃላትን አሳይ"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"ሁልጊዜ አሳይ"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"በቁመት ሁነታ አሳይ"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"ሁልጊዜ ደብቅ"</string>
- <string name="auto_correction" msgid="4979925752001319458">"በራስ ማስተካከል"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"የቦታ ቁልፍ እና ሥርዓተ ነጥብ በስህተት የተተየቡ ቃላትን በራስሰር ያስተካክላሉ ።"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"ውጪ"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"መጠነኛ"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"ኃይለኛ"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"በጣም ቁጡ"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"የቀጣይ ቃል አስተያየቶች"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"በቀዳሚው ቃል ላይ የተመሠረተ"</string>
- <string name="gesture_input" msgid="3310827802759290774">"የእጅ ምልክት ግብዓት"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"የአንድ ቃል ፊደሎችን በመከታተል አንድ ቃል አስገባ"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"ምልክት የሚሄድበት መንገድ አሳይ"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"የምልክት ቃል አሳይ"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"ተንሳፋፊ የቅድመ እይታ ቃል ከምልክት ጋር አሳይ"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : ተቀምጧል"</string>
- <string name="label_go_key" msgid="1635148082137219148">"ሂድ"</string>
- <string name="label_next_key" msgid="362972844525672568">"በመቀጠል"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"ቀዳሚ"</string>
- <string name="label_done_key" msgid="2441578748772529288">"ተከናውኗል"</string>
- <string name="label_send_key" msgid="2815056534433717444">" ይላኩ"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"ላፍታ አቁም"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"ቆይ"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"የይለፍቃል ቁልፎች ጮክ በለው ሲነገሩ ለመስማት የጆሮ ማዳመጫ ሰካ::"</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"የአሁኑ ፅሁፍ %s ነው"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"ምንም ፅሁፍ አልገባም"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"የቁልፍ ኮድ%d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"ቀይር"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"ቅያር በርቷል (ለማሰናክል ንካ)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"አቢያት ማድረጊያ ቁልጥ በርቷል (ለማሰናክል ንካ)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"ሰርዝ"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"ምልክቶች"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"ደብዳቤዎች"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"ቁጥሮች"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"ቅንብሮች"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"ትር"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"ባዶ ቦታ"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"የድምፅ ግቤ ት"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"የፈገግታ ፊት"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"ተመለስ"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"ፍለጋ"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"ነጥብ"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"ቋንቋ ቀይር"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"ቀጣይ"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"ቀዳሚ"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"ቅያር ቁልፍ ነቅቷል"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"አቢያት ማድረጊያ ነቅቷል"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"ቅያር ተሰናክሏል"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"የምልክቶች ሁኔታ ላይ"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"የደብዳቤዎች ሁኔታ ላይ"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"የስልክ ሁኔታ ላይ"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"የስልክ ምልክቶች ሁኔታ ላይ"</string>
- <string name="voice_input" msgid="3583258583521397548">"የድምፅ ግቤት ቁልፍ"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"በዋናቁልፍ ሰሌዳ ላይ"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"በምልክቶች ቁልፍ ሰሌዳ ላይ"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"ውጪ"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"ድምፅ ማጉያ በዋናው ቁልፍሰሌዳው ላይ"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"የድምፅ ማጉያ ምልክትበቁልፍ ሰሌዳላይ"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"የድምፅ ግቤት ቦዝኗል"</string>
- <string name="configure_input_method" msgid="373356270290742459">"ግቤት ሜተዶችን አዋቀር"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ቋንቋዎች አግቤት"</string>
- <string name="select_language" msgid="3693815588777926848">"ቋንቋዎች አግቤት"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"ለማስቀመጥ እንደገና ንካ"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"መዝገበ ቃላት አለ"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"የተጠቃሚ ግብረ ምላሽ አንቃ"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"ወደ Google የተሰናከለ ሪፖርቶች እና አጠቃቀም ስታስቲክስ በራስ ሰር በመላክ ይህን ግቤት ሜተድ አርትኢ እገዛ ያሻሽላል።"</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"የቁልፍ ሰሌዳ ገጽታ"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"እንግሊዘኛ (የታላቋ ብሪታንያ)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"እንግሊዘኛ (ዩ.ኤስ)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"እንግሊዘኛ (ዩናይትድ ኪንግደም) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"እንግሊዘኛ (አሜሪካ) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"ምንም ቋንቋ"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"ቋንቋ አልባ (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"ቋንቋ አልባ (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"ቋንቋ አልባ (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"ቋንቋ አልባ (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"ቋንቋ አልባ (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"ቋንቋ አልባ (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"የተበጁ የግቤት ስታይሎች"</string>
- <string name="add_style" msgid="6163126614514489951">"ስታይል አክል"</string>
- <string name="add" msgid="8299699805688017798">"አክል"</string>
- <string name="remove" msgid="4486081658752944606">"አስወግድ"</string>
- <string name="save" msgid="7646738597196767214">"አስቀምጥ"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"ቋንቋ"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"አቀማመጥ"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"የተበጀው የግብዓት ቅጥህን ከመጠቀምህ በፊት መንቃት አለበት። አሁን ማንቃት ትፈልጋለህ?"</string>
- <string name="enable" msgid="5031294444630523247">"አንቃ"</string>
- <string name="not_now" msgid="6172462888202790482">"አሁን አልፈልግም"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"ተመሳሳዩ የግብዓት ቅጥ አስቀድሞ አለ፦ <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"የተገልጋይነት ጥናት ሁነታ"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"ቁልፍ ተጫን በቅንጅቶች ወቅት ንዝረት"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"ቁልፍ ተጫን የድምጽ መጠን ቅንብሮች"</string>
-</resources>
diff --git a/java/res/values-ar/bools.xml b/java/res/values-ar/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-ar/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-ar/donottranslate.xml b/java/res/values-ar/donottranslate.xml
deleted file mode 100644
index 57de2538b..000000000
--- a/java/res/values-ar/donottranslate.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- The all letters need to be mirrored are found at
- http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
- <!-- Symbols that are suggested between words -->
- <string name="suggested_punctuations">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
-</resources>
diff --git a/java/res/values-ar/strings-appname.xml b/java/res/values-ar/strings-appname.xml
deleted file mode 100644
index 3d81e5d4b..000000000
--- a/java/res/values-ar/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"لوحة مفاتيح Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"التدقيق الإملائي في Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"إعدادات لوحة مفاتيح Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"إعدادات التدقيق الإملائي"</string>
-</resources>
diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml
deleted file mode 100644
index 8e7e752d0..000000000
--- a/java/res/values-ar/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"لوحة مفاتيح Android ‏(AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"خيارات الإرسال"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"أوامر سجلات البحث"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"التدقيق الإملائي في Android‏ (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"بحث في أسماء جهات الاتصال"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"يستخدم المدقق الإملائي إدخالات من قائمة جهات الاتصال"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"اهتزاز عند ضغط مفتاح"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"صوت عند الضغط على مفتاح"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"انبثاق عند ضغط مفتاح"</string>
- <string name="general_category" msgid="1859088467017573195">"عام"</string>
- <string name="correction_category" msgid="2236750915056607613">"تصحيح النص"</string>
- <string name="misc_category" msgid="6894192814868233453">"خيارات أخرى"</string>
- <string name="advanced_settings" msgid="362895144495591463">"الإعدادات المتقدمة"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"خيارات للخبراء"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"التبديل إلى أسلوب إدخال آخر"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"يغطي مفتاح تبديل اللغات أساليب الإدخال الأخرى أيضًا"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"مفتاح تبديل اللغة"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"يظهر عندما يتم تمكين لغات الإدخال متعددة"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"تأخير إزالة النافذة المنبثقة الأساسية"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"بلا تأخير"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"افتراضي"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"اقتراح أسماء جهات الاتصال"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"استخدام الأسماء من جهات الاتصال للاقتراحات والتصحيحات"</string>
- <string name="auto_cap" msgid="1719746674854628252">"أحرف كبيرة تلقائيًا"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"القواميس الإضافية"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"القاموس الرئيسي"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"عرض اقتراحات التصحيح"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"عرض الكلمات المقترحة أثناء الكتابة"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"عرض دومًا"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"عرض في وضع رأسي"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"إخفاء دومًا"</string>
- <string name="auto_correction" msgid="4979925752001319458">"التصحيح التلقائي"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"تؤدي المسافة والترقيم إلى تصحيح الكلمات المكتوبة بشكل غير صحيح"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"إيقاف"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"معتدل"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"حاد"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"شديد الصرامة"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"اقتراحات الكلمات التالية"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"استنادًا إلى الكلمة السابقة"</string>
- <string name="gesture_input" msgid="3310827802759290774">"إدخال الإيماءة"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"يمكنك إدخال كلمة من خلال تتبع أحرف كلمة ما"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"عرض مسار الإيماءة"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"عرض كلمة الإيماءة"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"عرض كلمة معاينة متحركة مع الإيماءة"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : تم الحفظ"</string>
- <string name="label_go_key" msgid="1635148082137219148">"تنفيذ"</string>
- <string name="label_next_key" msgid="362972844525672568">"التالي"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"السابق"</string>
- <string name="label_done_key" msgid="2441578748772529288">"تم"</string>
- <string name="label_send_key" msgid="2815056534433717444">"إرسال"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"أ ب ج"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"٣٢١؟"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"٣٢١"</string>
- <string name="label_pause_key" msgid="181098308428035340">"توقف مؤقت"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"انتظار"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"يمكنك توصيل سماعة رأس لسماع مفاتيح كلمة المرور منطوقة بصوت عالٍ."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"النص الحالي هو %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"لم يتم إدخال نص"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"رمز المفتاح %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"العالي"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift يعمل (انقر للتعطيل)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock يعمل (انقر للتعطيل)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"حذف"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"الرموز"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"أحرف"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"أرقام"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"الإعدادات"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"علامة تبويب"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"مسافة"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"إدخال صوتي"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"وجه مبتسم"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"رجوع"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"بحث"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"نقطة"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"تبديل اللغة"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"التالي"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"السابق"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"تم تمكين Shift"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"تم تمكين Caps lock"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"تم تعطيل Shift"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"وضع الرموز"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"وضع الأحرف"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"وضع الهاتف"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"وضع رموز الهاتف"</string>
- <string name="voice_input" msgid="3583258583521397548">"مفتاح الإدخال الصوتي"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"لوحة مفاتيح رئيسية"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"لوحة مفاتيح الرموز"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"إيقاف"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"ميكروفون على لوحة مفاتيح رئيسية"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"ميكروفون على لوحة مفاتيح الرموز"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"الإدخال الصوتي مُعطل"</string>
- <string name="configure_input_method" msgid="373356270290742459">"تهيئة طرق الإدخال"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"لغات الإدخال"</string>
- <string name="select_language" msgid="3693815588777926848">"لغات الإدخال"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"المس مرة أخرى للحفظ"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"القاموس متاح"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"تمكين ملاحظات المستخدم"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"المساعدة في تحسين محرر طريقة الإرسال هذا من خلال إرسال إحصاءات الاستخدام وتقارير الأعطال تلقائيًا إلى Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"مظهر لوحة المفاتيح"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"الإنجليزية (المملكة المتحدة)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"الإنجليزية (الولايات المتحدة)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"الإنجليزية (المملكة المتحدة) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"الإنجليزية (الولايات المتحدة) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"بدون لغة"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"بدون لغة (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"بدون لغة (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"بدون لغة (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"بدون لغة (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"بدون لغة (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"بدون لغة (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"أنماط الإدخال المخصصة"</string>
- <string name="add_style" msgid="6163126614514489951">"إضافة نمط"</string>
- <string name="add" msgid="8299699805688017798">"إضافة"</string>
- <string name="remove" msgid="4486081658752944606">"إزالة"</string>
- <string name="save" msgid="7646738597196767214">"حفظ"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"اللغة"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"التخطيط"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"يجب تمكين نمط الإدخال المخصص قبل استخدامه. هل تريد تمكينه الآن؟"</string>
- <string name="enable" msgid="5031294444630523247">"تمكين"</string>
- <string name="not_now" msgid="6172462888202790482">"ليس الآن"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"نمط الإدخال ذاته موجود من قبل: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"وضع سهولة الاستخدام"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"إعدادات مدة اهتزاز الضغط على المفاتيح"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"إعدادات مستوى صوت الضغط على المفاتيح"</string>
-</resources>
diff --git a/java/res/values-be/bools.xml b/java/res/values-be/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-be/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-be/strings-appname.xml b/java/res/values-be/strings-appname.xml
deleted file mode 100644
index e0aadfa3c..000000000
--- a/java/res/values-be/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Клавіятура Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Iнструмент праверкi правапiсу для Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Налады клавіятуры Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Налады праверкі арфаграфіі"</string>
-</resources>
diff --git a/java/res/values-be/strings.xml b/java/res/values-be/strings.xml
deleted file mode 100644
index 0d2de7ad8..000000000
--- a/java/res/values-be/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Клавіятура Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Параметры ўводу"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Каманды гiсторыя даследаванняў"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Iнструмент праверкi правапiсу для Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Шукаць імёны кантактаў"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Модуль праверкі правапісу выкарыстоўвае запісы са спісу кантактаў"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Вібрацыя пры націску клавіш"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Гук пры націску"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Па націску на клавішы ўсплывае акно"</string>
- <string name="general_category" msgid="1859088467017573195">"Агульныя"</string>
- <string name="correction_category" msgid="2236750915056607613">"Выпраўленне тэксту"</string>
- <string name="misc_category" msgid="6894192814868233453">"Іншыя параметры"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Адмысловыя налады"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Функцыi для спецыялістаў"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Перакл. да інш. спос. ув."</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Кнопка пераключэння мовы звязана i з iншымi спосабамi ўводу"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Кнопка пераключэння мовы"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Паказваць, калі ўключана некалькі моў ўводу"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Затрым. скр. падк. клав."</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Няма затрымкі"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Па змаўчанні"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Прапан. імёны кантактаў"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Выкарыстоўваць імёны са спісу кантактаў для прапаноў і выпраўл."</string>
- <string name="auto_cap" msgid="1719746674854628252">"Аўтаматычна рабіць вялікія літары"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Дадатковыя слоўнікі"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Асноўны слоўнік"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Паказаць прапановы на выпраўленне"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Паказваць прапанаваныя словы падчас набору тэксту"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Заўсёды паказваць"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Паказаць у партрэтным рэжыме"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Заўседы хаваць"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Аўтамат. выпраўленне"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Прабелы і пунктуацыйныя знакі дазваляюць аўтаматычна выпраўляць памылкова ўведзеныя словы"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Адключаны"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Сціплы"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Агрэсіўны"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Вельмі агрэсіўны"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Падказкi для наступнага слова"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"На аснове папярэдняга слова"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Уваход жэстам"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Увядзiце слова, адсочваючы лiтары"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Паказаць след жэста"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Паказаць слова жэста"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Паказаць плаваючы прагляд слова з жэстам"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Захаваныя"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Пачаць"</string>
- <string name="label_next_key" msgid="362972844525672568">"Далей"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Назад"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Гатова"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Адправіць"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"АБВ"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Паўза"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Чакае"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Каб праслухаць паролi, падключыце гарнiтуру."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Бягучы тэкст %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Тэкст не ўведзены"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Клавішны код %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Зрух"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift уключаны (націснiце, каб адключыць)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock уключаны (націснiце, каб адключыць)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Выдаліць"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Сімвалы"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Літары"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Лічбы"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Налады"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Укладка"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Прабел"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Галасавы ўвод"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Смайлік"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Увод"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Пошук"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Кропка"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Пераключыць мову"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Далей"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Назад"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift уключаны"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock уключаны"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift адключаны"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Рэжым знакаў"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Рэжым лiтар"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Рэжым тэлефона"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Рэжым тэлефонных знакаў"</string>
- <string name="voice_input" msgid="3583258583521397548">"Ключ галасавога ўводу"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"На асн. клавіятуры"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"На сімв. клавіятуры"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Адключана"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Мік. на асн. клав."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Мік. на сімв. клав."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Галасавы набор адкл."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Налада метадаў уводу"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Мовы ўводу"</string>
- <string name="select_language" msgid="3693815588777926848">"Мовы ўводу"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Дакраніцеся зноў, каб захаваць"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Слоўнік даступны"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Уключыць зваротную сувязь з карыстальнікамі"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Дапамажыце палепшыць гэты рэдактар ​​метаду ўводу, аўтаматычна адпраўляючы статыстыку выкарыстання і справаздачы аб збоях Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Тэма клавіятуры"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Англійская (ЗК)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Англійская (ЗША)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Англійская (Вялікабрытанія) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Англійская (ЗША) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Мова не выбрана"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Мова не выбрана (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Няма мовы (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Няма мовы (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Няма мовы (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Няма мовы (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Няма мовы (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Карыстальніцкія стылі ўводу"</string>
- <string name="add_style" msgid="6163126614514489951">"Дадаць стыль"</string>
- <string name="add" msgid="8299699805688017798">"Дадаць"</string>
- <string name="remove" msgid="4486081658752944606">"Выдаліць"</string>
- <string name="save" msgid="7646738597196767214">"Захаваць"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Мова"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Раскладка"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Карыстальніцкі метад уводу павінен быць уключаны, перш чым пачаць выкарыстоўваць яго. Жадаеце ўключыць яго зараз?"</string>
- <string name="enable" msgid="5031294444630523247">"Уключыць"</string>
- <string name="not_now" msgid="6172462888202790482">"Не цяпер"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Такі метад уводу ўжо існуе: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Рэжым даследвання выкарыстальнасці"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Налады працягласцi вiбрацыi пры нацiску"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Налады гучнасцi пры нацiску"</string>
-</resources>
diff --git a/java/res/values-bg/bools.xml b/java/res/values-bg/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-bg/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-bg/strings-appname.xml b/java/res/values-bg/strings-appname.xml
deleted file mode 100644
index 49e301d32..000000000
--- a/java/res/values-bg/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Клавиатура на Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Програма за правописна проверка за Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Настройки на клавиатурата на Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Настройки за проверка на правописа"</string>
-</resources>
diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml
deleted file mode 100644
index 33d71d1d4..000000000
--- a/java/res/values-bg/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Клавиатура на Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Опции за въвеждане"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Команди за рег. файл за проучвания"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Програма за правописна проверка за Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Търсене на имена"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"За проверка на правописа се ползват записи от списъка с контакти"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Да вибрира при натискане на клавиш"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Звук при натискане на клавиш"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Изскачащ прозорец при натискане на клавиш"</string>
- <string name="general_category" msgid="1859088467017573195">"Общи"</string>
- <string name="correction_category" msgid="2236750915056607613">"Корекция на текста"</string>
- <string name="misc_category" msgid="6894192814868233453">"Други опции"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Разширени настройки"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Опции за експерти"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Други методи за въвеждане"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Клавишът за превкл. на езика обхваща и други методи за въвеждане"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Клавиш за превкл. на езика"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Показване при няколко активирани езика за въвеждане"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Отхвърляне на подсказката"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Без задържане"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"По подразбиране"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Предложения за контакти"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Използване на имена от „Контакти“ за предложения и поправки"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Автоматично поставяне на главни букви"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Добавени речници"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Основен речник"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Показване на предложения за поправка"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Показване на предложения, докато пишете"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Винаги да се показва"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Показване с вертикална ориентация"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Винаги да се скрива"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Автоко"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Клавишът за интервал и пунктуация авт. поправя сгрешени думи"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Изкл."</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Умерено"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Агресивно"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Много агресивно"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Предложения за следващата дума"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Въз основа на предишната дума"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Въвеждане чрез жест"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Въвеждане на дума чрез проследяване на буквите й"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Следа на жестовете: Показване"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Показване на дума при жестове"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Показване на дума с плаваща визуализация при жест"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Запазено"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Старт"</string>
- <string name="label_next_key" msgid="362972844525672568">"Напред"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Пред."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Изпращане"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"АБВ"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Чака"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Включете слушалки, за да чуете клавишите за паролата на висок глас."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Текущият текст е %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Няма въведен текст"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Код на клавишa %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"„Shift“ е включен (докоснете за деактивиране)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"„Caps lock“ е включен (докоснете за деактивиране)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Символи"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Букви"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Цифри"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Настройки"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Интервал"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Гласово въвеждане"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Усмивка"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Търсене"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Точка"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Смяна на езика"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Следващ"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Предишен"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"„Shift“ е активиран"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"„Caps Lock“ е активиран"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"„Shift“ е деактивиран"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Режим за символи"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Режим за букви"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Режим за телефон"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Режим за символи на телефона"</string>
- <string name="voice_input" msgid="3583258583521397548">"Клавиш за гласово въвеждане"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"На осн. клавиатура"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"На клав. на симв."</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Изкл."</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Микр. на осн. клав."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Микр. на клав. на симв."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Глас. въвежд. е деакт."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Конфигуриране на въвеждането"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Входни езици"</string>
- <string name="select_language" msgid="3693815588777926848">"Езици за въвеждане"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Докоснете отново, за да запазите"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Има достъп до речник"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Активиране на отзивите от потребителите"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Помогнете за подобряването на този редактор за въвеждане чрез автоматично изпращане до Google на статистически данни за употребата и сигнали за сривове."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Тема на клавиатурата"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"английски (Великобритания)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"английски (САЩ)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"английски (Великобр.) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"английски (САЩ) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Без език"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Без език („QWERTY“)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Без език (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Без език (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Без език (Дворак)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Без език (Коулмак)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Без език (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Персон. стилове за въвежд."</string>
- <string name="add_style" msgid="6163126614514489951">"+ стил"</string>
- <string name="add" msgid="8299699805688017798">"Добавяне"</string>
- <string name="remove" msgid="4486081658752944606">"Премахване"</string>
- <string name="save" msgid="7646738597196767214">"Запазване"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Език"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Подредба"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Персонализираният ви стил за въвеждане трябва да се активира, преди да започнете да го използвате. Искате ли да го направите сега?"</string>
- <string name="enable" msgid="5031294444630523247">"Активиране"</string>
- <string name="not_now" msgid="6172462888202790482">"Не сега"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Същият стил на въвеждане вече съществува: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим за изучаване на използваемостта"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Настройки за продължителност на вибрирането при натискане на клавиш"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Настройки за силата на звука при натискане на клавиш"</string>
-</resources>
diff --git a/java/res/values-ca/bools.xml b/java/res/values-ca/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-ca/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-ca/strings-appname.xml b/java/res/values-ca/strings-appname.xml
deleted file mode 100644
index add5c3f2f..000000000
--- a/java/res/values-ca/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Teclat Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Corrector ortogràfic d\'Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Configuració del teclat d\'Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Configuració de la correcció ortogràfica"</string>
-</resources>
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
deleted file mode 100644
index 31f9edb18..000000000
--- a/java/res/values-ca/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclat d\'Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Opcions d\'entrada"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Recerca d\'ordres de reg."</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Corrector ortogràfic d\'Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Cerca noms de contactes"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"El corrector ortogràfic utilitza entrades de la llista de cont."</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibra en prémer tecles"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"So en prémer tecles"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Amplia en prémer tecles"</string>
- <string name="general_category" msgid="1859088467017573195">"General"</string>
- <string name="correction_category" msgid="2236750915056607613">"Correcció de text"</string>
- <string name="misc_category" msgid="6894192814868233453">"Altres opcions"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Configuració avançada"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opcions per a experts"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Altres mètodes d\'entrada"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La tecla de canvi d\'idioma serveix també per a altres mètodes d\'entrada"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de canvi d\'idioma"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Mostra-la quan hi hagi diversos idiomes d\'entrada activats"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Retard en ampliar tecla"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Sense retard"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Predeterminat"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Suggereix noms de contactes"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilitza els noms de contactes per fer suggeriments i correccions"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Majúscules automàtiques"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Diccionaris complementaris"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Diccionari principal"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Suggeriments de correcció"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Mostra paraules suggerides mentre s\'escriu"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostra sempre"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostra en mode vertical"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Amaga sempre"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Correcció automàtica"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Prémer tecla d\'espai o punt. per corregir errors"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desactiva"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderada"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Total"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Molt agressiu"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Suggereix paraula següent"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Segons la paraula anterior"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Entrada de gestos"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Traça les lletres d\'una paraula per introduir-la"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostra el recorregut del gest"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostra la paraula del gest"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostra la paraula de visualització prèvia flotant en fer un gest"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: desada"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Vés"</string>
- <string name="label_next_key" msgid="362972844525672568">"Següent"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Ant."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Fet"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Envia"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Connecta un auricular per escoltar les claus de la contrasenya en veu alta."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"El text actual és %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"No s\'ha introduït cap text"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Clau de codi %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Maj"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Maj activat (pica per desactivar)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Bloq Maj activat (pica per desactivar)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Supr"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Símbols"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Lletres"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Números"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Configuració"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Pestanya"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Espai"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Entrada de veu"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Cara somrient"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Retorn"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Cerca"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Punt"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Canvia l\'idioma"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Següent"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Anterior"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Maj activat"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Bloq Maj activat"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Maj desactivat"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Mode de símbols"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Mode de lletres"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mode de telèfon"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mode de símbols de telèfon"</string>
- <string name="voice_input" msgid="3583258583521397548">"Tecla d\'entrada de veu"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Al teclat principal"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Al teclat de símbols"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Desactivada"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micròfon al teclat principal"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micro en tecl. símb."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entr. veu desactiv."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Configura mètodes d\'entrada"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomes d\'entrada"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomes d\'entrada"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Torna a tocar per desar"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Diccionari disponible"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Activa els comentaris de l\'usuari"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Ajuda a millorar aquest editor de mètodes d\'entrada enviant automàticament estadístiques d\'ús i informes de bloqueigs a Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema del teclat"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Anglès (Regne Unit)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Anglès (EUA)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Anglès (Regne Unit) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Anglès (Estats Units) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Cap idioma"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Cap idioma (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Cap idioma (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Cap idioma (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Cap idioma (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Cap idioma (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Cap idioma (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Estils d\'entrada personalitzats"</string>
- <string name="add_style" msgid="6163126614514489951">"Afeg. estil"</string>
- <string name="add" msgid="8299699805688017798">"Afegeix"</string>
- <string name="remove" msgid="4486081658752944606">"Elimina"</string>
- <string name="save" msgid="7646738597196767214">"Desa"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Disseny"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"El teu estil d\'entrada personalitzat ha d\'estar activat per poder fer-lo servir. Vols activar-lo ara?"</string>
- <string name="enable" msgid="5031294444630523247">"Activa"</string>
- <string name="not_now" msgid="6172462888202790482">"Ara no"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Ja existeix aquest estil d\'entrada: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Mode d\'estudi d\'usabilitat"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Configuració de durada de vibracions en prémer tecles"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Configuració del volum de so en prémer tecles"</string>
-</resources>
diff --git a/java/res/values-cs/bools.xml b/java/res/values-cs/bools.xml
deleted file mode 100644
index c289e5bf3..000000000
--- a/java/res/values-cs/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-cs/strings-appname.xml b/java/res/values-cs/strings-appname.xml
deleted file mode 100644
index 0eeac88b4..000000000
--- a/java/res/values-cs/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Klávesnice Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Kontrola pravopisu Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Nastavení klávesnice Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Nastavení kontroly pravopisu"</string>
-</resources>
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
deleted file mode 100644
index 301584556..000000000
--- a/java/res/values-cs/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Klávesnice Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti zadávání textu a dat"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Příkazy vývoj. protokolu"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Kontrola pravopisu Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Vyhledat kontakty"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Kontrola pravopisu používá záznamy z vašeho seznamu kontaktů."</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Při stisku klávesy vibrovat"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk při stisku klávesy"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Detail znaku při stisku klávesy"</string>
- <string name="general_category" msgid="1859088467017573195">"Obecné"</string>
- <string name="correction_category" msgid="2236750915056607613">"Oprava textu"</string>
- <string name="misc_category" msgid="6894192814868233453">"Další možnosti"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Pokročilá nastavení"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Možnosti pro odborníky"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Přepínat metody zadávání"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Klávesa pro přepínání jazyka ovládá i další metody zadávání"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Klávesa přepínání jazyka"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Zobrazit, když je aktivováno více vstupních jazyků"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Prodleva vysk. okna klávesnice"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Bez prodlevy"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Výchozí"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Navrhovat jména kontaktů"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Použít jména ze seznamu kontaktů k návrhům a opravám"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Velká písmena automaticky"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Doplňkové slovníky"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Hlavní slovník"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Zobrazit návrhy oprav"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Zobrazovat navržená slova během psaní"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vždy zobrazovat"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Zobrazit v režimu na výšku"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Vždy skrývat"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Automatické opravy"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Stisknutím mezerníku a interpunkce se automaticky opravují chybně napsaná slova"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Vypnuto"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mírné"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresivní"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Velmi agresivní"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Návrhy dalšího slova"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Na základě předchozího slova"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Psaní gesty"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Napište slovo zadáním jeho písmen."</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Zobrazovat stopu gesta"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Zobrazovat slovo gesta"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Zobrazovat plovoucí náhled slova gesta"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Uloženo"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Přejít"</string>
- <string name="label_next_key" msgid="362972844525672568">"Další"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Před."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Hotovo"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Odeslat"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Čekat"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Chcete-li slyšet, které klávesy jste při zadávání hesla stiskli, připojte sluchátka."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Aktuální text je %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Není zadán žádný text"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Kód klávesy %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Klávesa Shift je zapnutá (vypnete ji klepnutím)."</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Klávesa Caps Lock je zapnutá (vypnete ji klepnutím)."</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symboly"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Písmena"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Čísla"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Nastavení"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabulátor"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Mezerník"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Hlasový vstup"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smajlík"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"vyhledávací tlačítko"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Tečka"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Přepnout jazyk"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Další"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Předchozí"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Klávesa Shift je aktivní"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Klávesa Caps Lock je aktivní"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Klávesa Shift je neaktivní"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Režim symbolů"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Režim písmen"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Režim telefonu"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Režim telefonních symbolů"</string>
- <string name="voice_input" msgid="3583258583521397548">"Klávesa hlasového vstupu"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Na hlavní klávesnici"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Na klávesnici se symboly"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Vypnuto"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon na hlavní klávesnici"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofon na klávesnici se symboly"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hlasový vstup vypnut"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfigurace metod zadávání"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Vstupní jazyky"</string>
- <string name="select_language" msgid="3693815588777926848">"Vstupní jazyky"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Opětovným dotykem provedete uložení"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Slovník k dispozici"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Aktivovat zasílání statistik užívání a zpráv o selhání"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Automatickým zasíláním statistik o užívání editoru zadávání dat a zpráv o jeho selhání do Googlu můžete přispět k vylepšení tohoto nástroje."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Motiv klávesnice"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"angličtina (Velká Británie)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"angličtina (USA)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"angličtina (VB) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"angličtina (USA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Žádný jazyk"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Žádný jazyk (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Žádný jazyk (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Žádný jazyk (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Žádný jazyk (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Žádný jazyk (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Žádný jazyk (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Vlastní styl zadávání"</string>
- <string name="add_style" msgid="6163126614514489951">"Přidat styl"</string>
- <string name="add" msgid="8299699805688017798">"Přidat"</string>
- <string name="remove" msgid="4486081658752944606">"Odebrat"</string>
- <string name="save" msgid="7646738597196767214">"Uložit"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Jazyk"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Rozvržení"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Vlastní styl zadávání musíte nejdříve povolit. Povolit?"</string>
- <string name="enable" msgid="5031294444630523247">"Povolit"</string>
- <string name="not_now" msgid="6172462888202790482">"Teď ne"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Tento styl zadávání již existuje: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Režim studie použitelnosti"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Délka vibrace při stisku klávesy"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Hlasitost při stisknutí klávesy"</string>
-</resources>
diff --git a/java/res/values-da/bools.xml b/java/res/values-da/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-da/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-da/strings-appname.xml b/java/res/values-da/strings-appname.xml
deleted file mode 100644
index faef5824b..000000000
--- a/java/res/values-da/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android-tastatur"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android-stavekontrol"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Indstillinger for Android-tastatur"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Indstillinger for stavekontrol"</string>
-</resources>
diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml
deleted file mode 100644
index da974a4b5..000000000
--- a/java/res/values-da/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-tastatur (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Indstillinger for input"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Forskningslogkommandoer"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android-stavekontrol (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Slå kontaktnavne op"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Stavekontrollen bruger poster fra listen over kontaktpersoner"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibration ved tastetryk"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Lyd ved tastetryk"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Pop op ved tastetryk"</string>
- <string name="general_category" msgid="1859088467017573195">"Generelt"</string>
- <string name="correction_category" msgid="2236750915056607613">"Tekstkorrigering"</string>
- <string name="misc_category" msgid="6894192814868233453">"Andre valgmuligheder"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Avancerede indstillinger"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Muligheder for eksperter"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Skift inputmetode"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tasten til sprogskift gælder også for andre inputmetoder"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tast til sprogskift"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Vis, når der er aktiveret flere inputsprog"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Forsink. afvis. af taste-pop op"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Ingen forsink."</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Standard"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Foreslå navne på kontakter"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Brug navne fra Kontaktpersoner til forslag og rettelser"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Skriv aut. med stort"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Tillægsordbøger"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Hovedordbog"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Vis rettelsesforslag"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Vis ordforslag under indtastning"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vis altid"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Vis i portrættilstand"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Skjul altid"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Automatisk retning"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Mellemrumstast og tegnsætning retter automatisk forkerte ord"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Fra"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderat"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Aggressiv"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Meget aggressiv"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Forslag til næste ord"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Baseret på tidligere ord"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Berøringsindtastning"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Indtast et ord ved at skrive bogstaverne for et ord med fingeren"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Vis spor af berøring"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Vis berøringsord"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Vis flydende eksempelord under berøring"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Gemt"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Gå"</string>
- <string name="label_next_key" msgid="362972844525672568">"Næste"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Forr."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Udfør"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Vent"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Tilslut et headset for at høre indtastningen blive læst højt ved angivelse af adgangskode."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Nuværende tekst er %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Der er ingen indtastet tekst"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Tastekode %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift-tast"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Skift er slået til (tryk for at deaktivere)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock er slået til (tryk for at deaktivere)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Slet"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symboler"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Bogstaver"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Tal"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Indstillinger"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabulatortast"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Mellemrum"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Stemmeinput"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smiley"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Tilbage"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Søg"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Punktum"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Skift sprog"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Næste"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Forrige"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Skift er aktiveret"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock er aktiveret"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Skift er deaktiveret"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Symboltilstand"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Bogstavtilstand"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefontilstand"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefonsymboltilstand"</string>
- <string name="voice_input" msgid="3583258583521397548">"Nøgle til stemmeinput"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"På hovedtastatur"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"På symboltastatur"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Fra"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mik. på hovedtastatur"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mik. på symboltastatur"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Stemmeinput deaktiveret"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfigurer inputmetoder"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Inputsprog"</string>
- <string name="select_language" msgid="3693815588777926848">"Inputsprog"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Tryk igen for at gemme"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Ordbog er tilgængelig"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Aktivér brugerfeedback"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Vær med til at forbedre denne inputmetode ved at sende anvendelsesstatistikker og rapporter om nedbrud til Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tastaturtema"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Engelsk (Storbritannien)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Engelsk (USA)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Engelsk (Storbritannien) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Engelsk (USA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Intet sprog"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Ingen sprog (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Intet sprog (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Intet sprog (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Intet sprog (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Intet sprog (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Intet sprog (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Tilpasset inputtypografi"</string>
- <string name="add_style" msgid="6163126614514489951">"Tilføj typografi"</string>
- <string name="add" msgid="8299699805688017798">"Tilføj"</string>
- <string name="remove" msgid="4486081658752944606">"Fjern"</string>
- <string name="save" msgid="7646738597196767214">"Gem"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Sprog"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Din tilpassede indtastningsmetode skal være aktiveret, før du begynder at bruge den. Vil du gøre det nu?"</string>
- <string name="enable" msgid="5031294444630523247">"Aktivér"</string>
- <string name="not_now" msgid="6172462888202790482">"Ikke nu"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Denne inputstil findes allerede: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tilstand for brugsstudie"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Indstillinger for varighed af vibration ved tastetryk"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Indstillinger for lydstyrke ved tastetryk"</string>
-</resources>
diff --git a/java/res/values-de/bools.xml b/java/res/values-de/bools.xml
deleted file mode 100644
index c289e5bf3..000000000
--- a/java/res/values-de/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-de/strings-appname.xml b/java/res/values-de/strings-appname.xml
deleted file mode 100644
index fc5fb8902..000000000
--- a/java/res/values-de/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android-Tastatur"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android-Rechtschreibprüfung"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android-Tastatureinstellungen"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Einstellungen für Rechtschreibprüfung"</string>
-</resources>
diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml
deleted file mode 100644
index ce0334bac..000000000
--- a/java/res/values-de/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-Tastatur (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Eingabeoptionen"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Forschungsprotokollbefehle"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android-Rechtschreibprüfung (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Kontaktnamen prüfen"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Rechtschreibprüfung kann Einträge aus meiner Kontaktliste verwenden"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Bei Tastendruck vibrieren"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Ton bei Tastendruck"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Pop-up bei Tastendruck"</string>
- <string name="general_category" msgid="1859088467017573195">"Allgemein"</string>
- <string name="correction_category" msgid="2236750915056607613">"Textkorrektur"</string>
- <string name="misc_category" msgid="6894192814868233453">"Sonstige Optionen"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Erweiterte Einstellungen"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Optionen für Experten"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Eingabemethoden wechseln"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Sprachwechseltaste umfasst auch andere Eingabemethoden."</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Sprachwechsel"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Anzeigen, wenn mehrere Eingabesprachen aktiviert sind"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Tasten-Pop-up"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Keine Verzögerung"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Standard"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Kontakte vorschlagen"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Namen aus \"Kontakte\" als Vorschläge und Korrekturmöglichkeiten anzeigen"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Autom. Groß-/Kleinschreibung"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Erweiterte Wörterbücher"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Allgemeines Wörterbuch"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Änderungsvorschläge"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Vorgeschlagene Wörter während des Tippens anzeigen"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Immer anzeigen"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Im Hochformat anzeigen"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Nie anzeigen"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Autokorrektur"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Korrektur fehlerhafter Wörter durch Leertaste und Satzzeichen"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Aus"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mäßig"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Stark"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Sehr stark"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Vorschläge für nächstes Wort"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Auf Grundlage des vorherigen Wortes"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Bewegungseingabe"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Wort durch Nachzeichnen der Buchstaben eingeben"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Spur der Bewegung anzeigen"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Wort bei Bewegung anzeigen"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Wortvorschau bei Bewegung anzeigen"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: gespeichert"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Los"</string>
- <string name="label_next_key" msgid="362972844525672568">"Weiter"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Vorh."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Fertig"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Senden"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Warten"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Schließen Sie ein Headset an, um das Passwort gesprochen zu hören."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Aktueller Text lautet %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Kein Text eingegeben"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Tastencode %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Umschalttaste"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Umschalttaste aktiviert (zum Deaktivieren berühren)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Feststelltaste aktiviert (zum Deaktivieren berühren)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Entf"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symbole"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Buchstaben"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Zahlen"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Einstellungen"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabulator"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Leerzeichen"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Spracheingabe"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smiley"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Eingabe"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Suchen"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Aufzählungspunkt"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Sprache wechseln"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Nächste"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Vorherige"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Umschalttaste aktiviert"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Feststelltaste aktiviert"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Umschalttaste deaktiviert"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Symbolmodus"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Buchstabenmodus"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefonmodus"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefon-Symbolmodus"</string>
- <string name="voice_input" msgid="3583258583521397548">"Taste für Spracheingabe"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Auf Haupttastatur"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Auf Symboltastatur"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Aus"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikro auf Haupttastatur"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikro auf Symboltastatur"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Spracheingabe deaktiviert"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Eingabemethoden konfigurieren"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Eingabesprachen"</string>
- <string name="select_language" msgid="3693815588777926848">"Eingabesprachen"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Zum Speichern erneut berühren"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Wörterbuch verfügbar"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Nutzer-Feedback aktivieren"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Tragen Sie zur Verbesserung dieses Eingabemethodeneditors bei, indem Sie automatisch Nutzungsstatistiken und Absturzberichte an Google senden."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tastaturdesign"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Englisch (Großbritannien)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Englisch (USA)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Englisch (GB) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Englisch (USA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Keine Sprache"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Keine Sprache (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Keine Sprache (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Keine Sprache (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Keine Sprache (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Keine Sprache (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Keine Sprache (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Benutzerdefinierte Eingabestile"</string>
- <string name="add_style" msgid="6163126614514489951">"Stil hinzufügen"</string>
- <string name="add" msgid="8299699805688017798">"Hinzufügen"</string>
- <string name="remove" msgid="4486081658752944606">"Entfernen"</string>
- <string name="save" msgid="7646738597196767214">"Speichern"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Sprache"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Ihr benutzerdefinierter Eingabestil muss vor der Verwendung aktiviert werden. Möchten Sie ihn jetzt aktivieren?"</string>
- <string name="enable" msgid="5031294444630523247">"Aktivieren"</string>
- <string name="not_now" msgid="6172462888202790482">"Später"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Der gleiche Eingabestil ist bereits vorhanden: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Studie zur Benutzerfreundlichkeit"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Vibrationsdauer bei Tastendruck"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Tonlautstärke bei Tastendruck"</string>
-</resources>
diff --git a/java/res/values-el/bools.xml b/java/res/values-el/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-el/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-el/strings-appname.xml b/java/res/values-el/strings-appname.xml
deleted file mode 100644
index a199655f2..000000000
--- a/java/res/values-el/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Πληκτρολόγιο Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Ορθογραφικός έλεγχος Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Ρυθμίσεις πληκτρολογίου Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Ρυθμίσεις ορθογραφικού ελέγχου"</string>
-</resources>
diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml
deleted file mode 100644
index 4f80bd18d..000000000
--- a/java/res/values-el/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Πληκτρολόγιο Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Επιλογές εισόδου"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Έρευνα εντολών καταγραφής"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Ορθογραφικός έλεγχος Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Αναζήτηση ονομάτων επαφών"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Ο ορθογρ. έλεγχος χρησιμοπ. καταχωρίσεις από τη λίστα επαφών σας"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Δόνηση κατά το πάτημα πλήκτρων"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Ήχος κατά το πάτημα πλήκτρων"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Εμφάνιση με το πάτημα πλήκτρου"</string>
- <string name="general_category" msgid="1859088467017573195">"Γενικά"</string>
- <string name="correction_category" msgid="2236750915056607613">"Διόρθωση κειμένου"</string>
- <string name="misc_category" msgid="6894192814868233453">"Άλλες επιλογές"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Σύνθετες ρυθμίσεις"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Επιλογές για έμπειρους χρήστες"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Άλλη μέθοδος εισόδου"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Το κλειδί αλλαγής γλώσσας καλύπτει και άλλες μεθόδους εισόδου"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Πλήκτρο εναλλαγής γλώσσας"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Εμφάνιση κατά την ενεργοποίηση πολλών γλωσσών εισόδου"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Χρόνος εξαφ. αναδ. παραθ."</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Χωρίς καθυστέρ."</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Προεπιλογή"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Πρόταση ονομάτων επαφών"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Χρησιμοποιήστε ονόματα από τις Επαφές για προτάσεις και διορθ."</string>
- <string name="auto_cap" msgid="1719746674854628252">"Αυτόματη χρήση κεφαλαίων"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Πρόσθετα λεξικά"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Κύριο λεξικό"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Εμφάνιση προτάσεων διόρθωσης"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Προβολή προτεινόμενων λέξεων κατά την πληκτρολόγηση"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Να εμφανίζεται πάντα"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Εμφάνιση σε λειτουργία κατακόρυφης προβολής"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Πάντα απόκρυψη"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Αυτόματη διόρθωση"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Τα πλήκτρα διαστήματος και στίξης διορθ. αυτόμ. λάθος λέξεις"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Απενεργοποίηση"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Μέτρια"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Υψηλή"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Πολύ επιθετική"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Προτάσεις επόμενων λέξεων"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Βάσει προηγούμενης λέξης"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Καταχώριση κίνησης"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Καταχώριση μιας λέξης με εντοπισμό των γραμμάτων μιας λέξης"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Εμφάνιση διαδρομής χειρονομίας"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Εμφάνιση λέξης χειρονομίας"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Εμφάνιση κινούμενης προεπισκόπησης λέξης με χειρονομία"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Αποθηκεύτηκε"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Μετ."</string>
- <string name="label_next_key" msgid="362972844525672568">"Επόμενο"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Προηγ"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Τέλος"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Αποστολή"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ΑΒΓ"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Παύση"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Αναμ."</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Συνδέστε ένα σετ ακουστικών για να ακούσετε τα πλήκτρα του κωδικού πρόσβασης να εκφωνούνται δυνατά."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Το τρέχον κείμενο είναι %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Δεν υπάρχει κείμενο"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Κωδικός πλήκτρου %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Το Shift είναι ενεργοποιημένο (πατήστε για απενεργοποίηση)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Το Caps lock είναι ενεργοποιημένο (πατήστε για απενεργοποίηση)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Πλήκτρο Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Σύμβολα"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Γράμματα:"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Αριθμοί"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Ρυθμίσεις"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Πλήκτρο Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Πλήκτρο διαστήματος"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Μικρόφωνο"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smiley"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Πλήκτρο Return"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Αναζήτηση"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Κουκκίδα"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Αλλαγή γλώσσας"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Επόμενο"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Προηγούμενο"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Το Shift ενεργοποιημένο"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Το Caps lock είναι ενεργοποιημένο"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Το Shift είναι απενεργοποιημένο"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Λειτουργία συμβόλων"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Λειτουργία γραμμάτων"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Λειτουργία τηλεφώνου"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Λειτουργία συμβόλων τηλεφώνου"</string>
- <string name="voice_input" msgid="3583258583521397548">"Κλειδί φωνητικής εξόδου"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Στο κύριο πληκτρολ."</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Πληκτρ. συμβ. ενερ."</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Απενεργοποίηση"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Μικ. στο κύριο πληκ."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Μικ. στο πληκ. συμβ."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Απεν. φωνητ. είσοδος"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Διαμόρφωση μεθόδων εισαγωγής"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Γλώσσες εισόδου"</string>
- <string name="select_language" msgid="3693815588777926848">"Γλώσσες εισόδου"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Αγγίξτε ξανά για αποθήκευση"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Λεξικό διαθέσιμο"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Ενεργοποίηση σχολίων χρηστών"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Βοηθήστε μας να βελτιώσουμε αυτό το πρόγραμμα επεξεργασίας μεθόδου εισόδου στέλνοντας αυτόματα στατιστικά στοιχεία και αναφορές σφαλμάτων στην Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Θέμα πληκτρολογίου"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Αγγλικά (Η.Β.)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Αγγλικά (Η.Π.Α)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Αγγλικά (ΗΒ) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Αγγλικά (ΗΠΑ) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Καμία γλώσσα"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Καμία γλώσσα (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Καμία γλώσσα (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Καμία γλώσσα (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Καμία γλώσσα (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Καμία γλώσσα (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Καμία γλώσσα (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Προσαρμοσ. στυλ εισαγ."</string>
- <string name="add_style" msgid="6163126614514489951">"Προσθ. στυλ"</string>
- <string name="add" msgid="8299699805688017798">"Προσθήκη"</string>
- <string name="remove" msgid="4486081658752944606">"Κατάργηση"</string>
- <string name="save" msgid="7646738597196767214">"Αποθήκευση"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Γλώσσα"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Διάταξη"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Απαιτείται ενεργοποίηση προσαρμ. στυλ εισόδου. Να γίνει τώρα;"</string>
- <string name="enable" msgid="5031294444630523247">"Ενεργοποίηση"</string>
- <string name="not_now" msgid="6172462888202790482">"Όχι τώρα"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Το ίδιο στυλ εισόδου υπάρχει ήδη: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Λειτουργία μελέτης χρηστικότητας"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Ρυθμίσεις διάρκειας δόνησης κατά το πάτημα πλήκτρων"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Ρυθμίσεις έντασης ήχου κατά το πάτημα πλήκτρων"</string>
-</resources>
diff --git a/java/res/values-en-rGB/strings-appname.xml b/java/res/values-en-rGB/strings-appname.xml
deleted file mode 100644
index ad9e782b0..000000000
--- a/java/res/values-en-rGB/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android keyboard"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android spell checker"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android keyboard settings"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Spell checking settings"</string>
-</resources>
diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml
deleted file mode 100644
index 801db82c8..000000000
--- a/java/res/values-en-rGB/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android keyboard (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Input options"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Research Log Commands"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android spell checker (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Look up contact names"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Spell checker uses entries from your contact list"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrate on key-press"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Sound on key-press"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Pop-up on key press"</string>
- <string name="general_category" msgid="1859088467017573195">"General"</string>
- <string name="correction_category" msgid="2236750915056607613">"Text correction"</string>
- <string name="misc_category" msgid="6894192814868233453">"Other Options"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Advanced settings"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Options for experts"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Switch to other input methods"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Language switch key also covers other input methods"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Language switch key"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Show when multiple input languages are enabled"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Key pop-up dismiss delay"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"No delay"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Default"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Suggest Contact names"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Use names from Contacts for suggestions and corrections"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Auto-capitalisation"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Add-on dictionaries"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Main dictionary"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Show correction suggestions"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Display suggested words while typing"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Always show"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Show in portrait mode"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Always hide"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Auto-correction"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Correct mistyped words automatically with spacebar and punctuation"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Off"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Modest"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Aggressive"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Very aggressive"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Next word suggestions"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Based on previous word"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Gesture input"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Input a word by tracing the letters of a word"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Show gesture trail"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Show gesture word"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Show floating preview word with gesture"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Saved"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Go"</string>
- <string name="label_next_key" msgid="362972844525672568">"Next"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Prev"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Done"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Wait"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Plug in a headset to hear password keys spoken aloud."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Current text is %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"No text entered"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Key code %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift on (tap to disable)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock on (tap to disable)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symbols"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Letters"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Numbers"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Settings"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Space"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Voice input"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smiley face"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Search"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Dot"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Switch language"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Next"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Previous"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift enabled"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock enabled"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift disabled"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Symbols mode"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Letters mode"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Phone mode"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Phone symbols mode"</string>
- <string name="voice_input" msgid="3583258583521397548">"Voice input key"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"On main keyboard"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"On symbols keyboard"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Off"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic on main keyboard"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic on symbols keyboard"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Voice input is disabled"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Configure input methods"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Input languages"</string>
- <string name="select_language" msgid="3693815588777926848">"Input languages"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Touch again to save"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Dictionary available"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Enable user feedback"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Help improve this input method editor by sending usage statistics and crash reports automatically to Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Keyboard theme"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"English (UK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"English (US)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"English (UK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"English (US) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"No language"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"No language (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"No language (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"No language (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"No language (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"No language (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"No language (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Custom input styles"</string>
- <string name="add_style" msgid="6163126614514489951">"Add style"</string>
- <string name="add" msgid="8299699805688017798">"Add"</string>
- <string name="remove" msgid="4486081658752944606">"Remove"</string>
- <string name="save" msgid="7646738597196767214">"Save"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Language"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Your custom input style needs to be enabled before you start using it. Do you want to enable it now?"</string>
- <string name="enable" msgid="5031294444630523247">"Enable"</string>
- <string name="not_now" msgid="6172462888202790482">"Not now"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"The same input style already exists: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Usability study mode"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Key-press vibration duration settings"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Key-press sound volume settings"</string>
-</resources>
diff --git a/java/res/values-en/bools.xml b/java/res/values-en/bools.xml
deleted file mode 100644
index c289e5bf3..000000000
--- a/java/res/values-en/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-eo/bools.xml b/java/res/values-eo/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-eo/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-es-rUS/strings-appname.xml b/java/res/values-es-rUS/strings-appname.xml
deleted file mode 100644
index 5f08afba4..000000000
--- a/java/res/values-es-rUS/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Teclado de Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Corrector ortográfico de Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Configuración de teclado de Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Configuración del corrector ortográfico"</string>
-</resources>
diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml
deleted file mode 100644
index 9b7fac45d..000000000
--- a/java/res/values-es-rUS/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclado de Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Opciones de entrada"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Comandos registro invest."</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Corrector ortográfico de Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Buscar nombres contactos"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"El corrector ortográfico usa entradas de tu lista de contactos."</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar al pulsar teclas"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Sonar al pulsar las teclas"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Aviso emergente al pulsar tecla"</string>
- <string name="general_category" msgid="1859088467017573195">"General"</string>
- <string name="correction_category" msgid="2236750915056607613">"Corrección de texto"</string>
- <string name="misc_category" msgid="6894192814868233453">"Otras opciones"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Configuración avanzada"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opciones para expertos"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Otros métodos de entrada"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La tecla de cambio de idioma abarca otros métodos de entrada."</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de selección de idioma"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Mostrar cuando se habiliten varios idiomas de entrada"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Retraso en rechazo de alerta de tecla"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Sin demora"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Predeterminada"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Sugerir nombres de contacto"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Usar nombres de los contactos para sugerencias y correcciones"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Mayúsculas automáticas"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Diccionarios complementarios"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Diccionario principal"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Mostrar sugerencias de correcciones"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Mostrar palabras sugeridas al escribir"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar siempre"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostrar en modo retrato"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Ocultar siempre"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Corrección automática"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"La barra espaciadora y las teclas de puntuación insertan automáticamente la palabra corregida"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desactivado"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderado"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Total"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Muy agresivo"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Sugerencias de palabra siguiente"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Según la palabra anterior"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Entrada de gestos"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Ingresa una palabra trazando sus letras."</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar recorrido de gesto"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostrar palabra de gesto"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostrar palabra de vista previa flotante al realizar un gesto"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
- <string name="label_next_key" msgid="362972844525672568">"Siguiente"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Ant."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Listo"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Enchufa tus auriculares para escuchar en voz alta qué teclas presionas al ingresar una contraseña."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"El texto actual es %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"No se ingresó texto."</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Clave de código %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Mayús"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Se activó el modo Mayúscula (toca para desactivarlo)."</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Se activó el bloqueo de mayúsculas (toca para desactivarlo)."</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Borrar"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Símbolos"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Letras"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Números"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Configuración"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Pestaña"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Espacio"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Entrada de voz"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Carita sonriente"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Volver"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Buscar"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Punto"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Cambiar idioma"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Siguiente"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Anterior"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Se activó el modo Mayúscula."</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Se activó el bloqueo de mayúsculas."</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Se desactivó el modo Mayúscula"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Modo Símbolos"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Modo Letras"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Modo Teléfono"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Modo Símbolos del teléfono"</string>
- <string name="voice_input" msgid="3583258583521397548">"Tecla de entrada por voz"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"En el teclado principal"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"En el teclado de símbolos"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Desactivado"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micrófono en el teclado principal"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micrófono en el teclado de símbolos"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"La entrada por voz está inhabilitada"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomas de entrada"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Vuelve a tocar para guardar."</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Diccionario disponible"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Activar los comentarios del usuario"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Ayuda a mejorar este editor de método de introducción de texto al enviar las estadísticas de uso y los informes de error a Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema del teclado"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Inglés (Reino Unido)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Inglés (EE.UU.)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Inglés (Reino Unido) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Inglés (EE.UU.) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Ningún idioma"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Ningún idioma (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Sin idioma (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Sin idioma (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Sin idioma (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Sin idioma (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Sin idioma (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Estilos de entrada personalizados"</string>
- <string name="add_style" msgid="6163126614514489951">"Agr. estilo"</string>
- <string name="add" msgid="8299699805688017798">"Agregar"</string>
- <string name="remove" msgid="4486081658752944606">"Eliminar"</string>
- <string name="save" msgid="7646738597196767214">"Guardar"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Diseño"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Debes activar estilo de entrada personalizado para utilizarlo."</string>
- <string name="enable" msgid="5031294444630523247">"Activar"</string>
- <string name="not_now" msgid="6172462888202790482">"Ahora no"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Ya existe el estilo de entrada <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>."</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudio de usabilidad"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Duración de vibración al presionar teclas"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Volumen de sonido al presionar teclas"</string>
-</resources>
diff --git a/java/res/values-es/bools.xml b/java/res/values-es/bools.xml
deleted file mode 100644
index c289e5bf3..000000000
--- a/java/res/values-es/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-es/strings-appname.xml b/java/res/values-es/strings-appname.xml
deleted file mode 100644
index cce9a176d..000000000
--- a/java/res/values-es/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Teclado de Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Corrector ortográfico de Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Ajustes del teclado de Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Ajustes del corrector ortográfico"</string>
-</resources>
diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml
deleted file mode 100644
index de1332b43..000000000
--- a/java/res/values-es/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclado Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Opciones entrada texto"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Comandos registro investigación"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Corrector de Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Nombres de contactos"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Añadir nombres de tu lista de contactos al corrector"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar al pulsar tecla"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Sonido al pulsar tecla"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Ampliar al pulsar tecla"</string>
- <string name="general_category" msgid="1859088467017573195">"General"</string>
- <string name="correction_category" msgid="2236750915056607613">"Corrección ortográfica"</string>
- <string name="misc_category" msgid="6894192814868233453">"Otras opciones"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Ajustes avanzados"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opciones para expertos"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Otros métodos de entrada"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La tecla de cambio de idioma sirve también para otros métodos"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla para cambiar de idioma"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Mostrar cuando haya varios idiomas de entrada habilitados"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Retraso al ampliar tecla"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Sin retraso"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Predeterminado"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Sugerir contactos"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilizar nombres de contactos para sugerencias y correcciones"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Mayúsculas automáticas"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Diccionarios complementarios"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Diccionario principal"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Sugerencias de correcciones"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Muestra las palabras sugeridas mientras se escribe."</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar siempre"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostrar en modo vertical"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Ocultar siempre"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Autocorrección"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Pulsar la tecla de espacio o punto para corregir errores"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desactivada"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Parcial"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Total"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Muy agresiva"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Sugerir siguiente palabra"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Según la palabra anterior"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Entrada gestual"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Trazar las letras de una palabra para introducirla"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar recorrido del gesto"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostrar palabra del gesto"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostrar la palabra de vista previa flotante al realizar un gesto"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
- <string name="label_next_key" msgid="362972844525672568">"Sig."</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Anterior"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Ok"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Conecta un auricular para escuchar las contraseñas en voz alta."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"El texto actual es %s."</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"No se ha introducido texto."</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Código del teclado: %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Mayús"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Mayúsculas activadas (tocar para inhabilitar)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Bloqueo de mayúsculas activado (tocar para inhabilitar)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Suprimir"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Símbolos"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Letras"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Números"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Ajustes"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabulador"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Barra espaciadora"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Entrada de voz"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Emoticono"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Tecla Intro"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Buscar"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Punto"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Cambiar idioma"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Siguiente"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Anterior"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Mayúsculas habilitadas"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Bloqueo de mayúsculas habilitado"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Mayúsculas inhabilitadas"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Modo de símbolos"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Modo de letras"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Modo de teléfono"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Modo de símbolos de teléfono"</string>
- <string name="voice_input" msgid="3583258583521397548">"Tecla de entrada de voz"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"En teclado principal"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"En teclado de símbolos"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Desactivada"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micrófono en teclado principal"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micrófono en teclado de símbolos"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entrada de voz inhabilitada"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomas"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomas de entrada"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Toca otra vez para guardar."</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Hay un diccionario disponible"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Habilitar comentarios de usuarios"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Ayuda a mejorar este editor de método de entrada de texto enviando estadísticas de uso e informes de error a Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema de teclado"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"inglés (Reino Unido)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"inglés (EE.UU.)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Inglés (Reino Unido) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Inglés (EE.UU.) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"ningún idioma"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"ningún idioma (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"ningún idioma (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"ningún idioma (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"ningún idioma (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"ningún idioma (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"ningún idioma (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Estilos de entrada personalizados"</string>
- <string name="add_style" msgid="6163126614514489951">"Añadir estilo"</string>
- <string name="add" msgid="8299699805688017798">"Añadir"</string>
- <string name="remove" msgid="4486081658752944606">"Eliminar"</string>
- <string name="save" msgid="7646738597196767214">"Guardar"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Tipo"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Debes habilitar los estilos de entrada personalizados para usar un estilo personalizado. ¿Quieres hacerlo ahora?"</string>
- <string name="enable" msgid="5031294444630523247">"Habilitar"</string>
- <string name="not_now" msgid="6172462888202790482">"Ahora no"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Ya existe el estilo de entrada <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>."</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo estudio de usabilidad"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Duración de la vibración al pulsar tecla"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Volumen sonido al pulsar tecla"</string>
-</resources>
diff --git a/java/res/values-et/bools.xml b/java/res/values-et/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-et/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-et/strings-appname.xml b/java/res/values-et/strings-appname.xml
deleted file mode 100644
index 181d597f9..000000000
--- a/java/res/values-et/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Androidi klaviatuur"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Androidi õigekirjakontroll"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Androidi klaviatuuri seaded"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Õigekirjakontrolli seaded"</string>
-</resources>
diff --git a/java/res/values-et/strings.xml b/java/res/values-et/strings.xml
deleted file mode 100644
index 9886f443e..000000000
--- a/java/res/values-et/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-klaviatuur (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Sisestusvalikud"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Uuringulogi käsud"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Androidi õigekirjakontroll (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Kontakti nimede kontroll."</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Õigekirjakontroll kasutab teie kontaktisikute loendi sissekandeid"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibreeri klahvivajutusel"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Heli klahvivajutusel"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Klahvivajutusel kuva hüpik"</string>
- <string name="general_category" msgid="1859088467017573195">"Üldine"</string>
- <string name="correction_category" msgid="2236750915056607613">"Teksti parandamine"</string>
- <string name="misc_category" msgid="6894192814868233453">"Muud valikud"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Täpsemad seaded"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Valikud ekspertidele"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Vaheta sisestusmeetodit"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Keelevahetuse võti hõlmab ka muid sisestusmeetodeid"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Keelevahetuse nupp"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Kuva, kui lubatud on mitu sisendkeelt"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Hüpiku loobumisviivitus"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Viivituseta"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Vaikeseade"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Soovita kontaktkirjeid"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Kasuta soovitusteks ja parandusteks nimesid kontaktiloendist"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Automaatne suurtähtede kasutamine"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Pistiksõnaraamatud"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Peamine sõnaraamat"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Kuva parandussoovitusi"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Kuva sisestamise ajal sõnasoovitusi"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Kuva alati"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Kuva portreerežiimis"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Peida alati"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Automaatparandus"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Tühik ja kirjavahemärgid parand. autom. kirjavigadega sõnad"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Väljas"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mõõdukas"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agressiivne"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Väga agressiivne"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Järgmise sõna soovitused"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Eelmise sõna põhjal"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Liigutusega sisest."</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Sisestage sõna, kirjutades sõna tähed sõrmega"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Näita liigutuse jälge"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Näita liigutuse sõna"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Ujuva sõna eelvaate näitamine koos liigutusega"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : salvestatud"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Mine"</string>
- <string name="label_next_key" msgid="362972844525672568">"Edasi"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Eelm."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Valmis"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Saada"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Peata"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Oota"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Ühendage peakomplekt, et kuulata paroole."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Praegune tekst on %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Teksti ei ole sisestatud"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Klahvi kood: %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Tõstuklahv"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Tõstuklahv sees (puudutage keelamiseks)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Suurtähelukk on sees (puudutage keelamiseks)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Kustuta"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Sümbolid"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Tähed"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Numbrid"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Seaded"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabulaator"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Tühik"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Kõnesisend"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Naerunägu"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Tagasi"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Otsing"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Punkt"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Keele vahetamine"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Järgmine"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Eelmine"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Tõstuklahv on lubatud"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Suurtähelukk on lubatud"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Tõstuklahv on keelatud"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Sümbolite režiim"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Tähtede režiim"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefonirežiim"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefoni sümbolite režiim"</string>
- <string name="voice_input" msgid="3583258583521397548">"Häälesisendi klahv"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Peamisel klaviatuuril"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Sümbol. klaviatuuril"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Väljas"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikr. peam. klaviat."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikr. sümb. klaviat."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Kõnesisend on keelatud"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Sisestusmeetodite seadistamine"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Sisestuskeeled"</string>
- <string name="select_language" msgid="3693815588777926848">"Sisestuskeeled"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Salvestamiseks puudutage uuesti"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Sõnastik saadaval"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Luba kasutaja tagasiside"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Saatke Google\'ile automaatselt kasutusstatistikat ja krahhiaruandeid ning aidake seda sisestusmeetodi redigeerijat parandada."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Klaviatuuri teema"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Inglise (UK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Inglise (USA)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Inglise (UK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Inglise (USA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Keel puudub"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Keel puudub (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Keel puudub (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Keel puudub (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Keel puudub (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Keel puudub (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Keel puudub (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Kohandage sisendlaadid"</string>
- <string name="add_style" msgid="6163126614514489951">"Lisage laad"</string>
- <string name="add" msgid="8299699805688017798">"Lisa"</string>
- <string name="remove" msgid="4486081658752944606">"Eemalda"</string>
- <string name="save" msgid="7646738597196767214">"Salvesta"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Keel"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Paigutus"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Kohandatud sisendi laad tuleb enne kasutamist lubada. Lubada?"</string>
- <string name="enable" msgid="5031294444630523247">"Luba"</string>
- <string name="not_now" msgid="6172462888202790482">"Mitte kohe"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Sama sisendstiil on juba olemas: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Kasutatavuse uurimisrežiim"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Klahvivajutuse vibratsiooni kestuse seaded"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Klahvivajutuse helitugevuse seaded"</string>
-</resources>
diff --git a/java/res/values-fa/bools.xml b/java/res/values-fa/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-fa/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-fa/donottranslate.xml b/java/res/values-fa/donottranslate.xml
deleted file mode 100644
index 57de2538b..000000000
--- a/java/res/values-fa/donottranslate.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- The all letters need to be mirrored are found at
- http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
- <!-- Symbols that are suggested between words -->
- <string name="suggested_punctuations">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
-</resources>
diff --git a/java/res/values-fa/strings-appname.xml b/java/res/values-fa/strings-appname.xml
deleted file mode 100644
index ba2a76ff1..000000000
--- a/java/res/values-fa/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"صفحه‌کلید Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"غلط‌گیر املای Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"تنظیمات صفحه‌کلید Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"تنظیمات غلط‌‌ گیر املا"</string>
-</resources>
diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml
deleted file mode 100644
index 3e9526c7d..000000000
--- a/java/res/values-fa/strings.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"صفحه‌کلید (Android (AOSP"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"گزینه‌های ورودی"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"فرمان‌های گزارش‌گیری پژوهش"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"غلط‌گیر املای Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"جستجوی نام مخاطبین"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"غلط‌گیر املا از ورودی‌های لیست مخاطبین شما استفاده می‌کند"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"لرزش با فشار کلید"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"صدا با فشار کلید"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"بازشدن با فشار کلید"</string>
- <string name="general_category" msgid="1859088467017573195">"کلی"</string>
- <string name="correction_category" msgid="2236750915056607613">"تصحیح متن"</string>
- <string name="misc_category" msgid="6894192814868233453">"سایر گزینه‌ها"</string>
- <string name="advanced_settings" msgid="362895144495591463">"تنظیمات پیشرفته"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"گزینه‌هایی برای حرفه‌ای‌ها"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"تغییر به دیگر روش‌های ورودی"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"کلید تغییر زبان، سایر ورودی‌های زبان را نیز پوشش می‌دهد"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"کلید تغییر زبان"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"وقتی چند زبان ورودی فعال است نشان داده شود"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"تأخیر در رد کردن کلید نمایشی"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"بدون تأخیر"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"پیش‌فرض"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"پیشنهاد نام‌های مخاطب"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"برای پیشنهاد و تصحیح از نام مخاطبین استفاده شود"</string>
- <string name="auto_cap" msgid="1719746674854628252">"بزرگ‌کردن خودکار حروف"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"فرهنگ‌های لغت افزودنی"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"فرهنگ‌ لغت اصلی"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"نمایش پیشنهادات تصحیح"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"نمایش واژه‌های پیشنهادی در حین تایپ"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"همیشه نمایش داده شود"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"نمایش در حالت عمودی"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"همیشه پنهان شود"</string>
- <string name="auto_correction" msgid="4979925752001319458">"تصحیح خودکار"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"کلید فاصله و علائم نگارشی به صورت خودکار کلماتی را که غلط تایپ شده‌اند تصحیح می‌کنند"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"خاموش"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"متوسط"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"فعال"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"بسیار پرخاشگرانه"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"پیشنهادات کلمه بعدی"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"بر اساس کلمه قبلی"</string>
- <string name="gesture_input" msgid="3310827802759290774">"ورودی اشاره"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"با دنبال کردن حروف یک کلمه، کلمه را وارد کنید"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"نمایش نسخه آزمایشی حرکت"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"نمایش کلمه در طول ورودی حرکتی"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"نمایش کلمه پیش‌نمایش متحرک با حرکت"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : ذخیره شد"</string>
- <string name="label_go_key" msgid="1635148082137219148">"برو"</string>
- <string name="label_next_key" msgid="362972844525672568">"بعدی"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"قبلی"</string>
- <string name="label_done_key" msgid="2441578748772529288">"انجام شد"</string>
- <string name="label_send_key" msgid="2815056534433717444">"ارسال"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"اب‌پ"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"۳۲۱؟"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"۳۲۱"</string>
- <string name="label_pause_key" msgid="181098308428035340">"توقف موقت"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"منتظر بمانید"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"برای شنیدن کلیدهای گذرواژه که با صدای بلند خوانده می‌شوند، از هدست استفاده کنید."</string>
- <!-- String.format failed for translation -->
- <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
- <skip />
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"متنی وارد نشده است"</string>
- <!-- String.format failed for translation -->
- <!-- no translation found for spoken_description_unknown (3197434010402179157) -->
- <skip />
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift فعال است (برای غیرفعال کردن ضربه بزنید)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock روشن است (برای غیرفعال کردن ضربه بزنید)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"نمادها"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"حروف"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"اعداد"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"تنظیمات"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"فاصله"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"ورودی صدا"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"صورت متبسم"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"جستجو"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"نقطه"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"تغییر زبان"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"بعدی"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"قبلی"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift فعال است"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock فعال شد"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift غیرفعال است"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"حالت نمادها"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"حالت حروف"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"حالت تلفن"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"حالت نمادهای تلفن"</string>
- <string name="voice_input" msgid="3583258583521397548">"کلید ورودی صدا"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"در صفحه‌کلید اصلی"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"در صفحه‌کلید نمادها"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"خاموش"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"میکروفن در صفحه‌کلید اصلی"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"میکروفن در صفحه‌کلید نمادها"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ورودی صدا غیرفعال است"</string>
- <string name="configure_input_method" msgid="373356270290742459">"پیکربندی روش‌های ورودی"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"زبان‌های ورودی"</string>
- <string name="select_language" msgid="3693815588777926848">"زبان‌های ورودی"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"برای ذخیره دوباره لمس کنید"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"دیکشنری موجود است"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"فعال کردن بازخورد کاربر"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"با ارسال خودکار آمارهای کاربرد و گزارش‌های خرابی به Google، به بهبود این ویرایشگر روش ورودی کمک کنید."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"طرح زمینه صفحه‌کلید"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"انگلیسی (بریتانیا)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"انگلیسی (امریکا)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"انگلیسی (انگلستان) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"انگلیسی (ایالات متحده) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"زبانی موجود نیست"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"بدون زبان (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"هیچکدام از زبان‌ها (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"هیچکدام از زبان‌ها (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"هیچکدام از زبان‌ها (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"هیچکدام از زبان‌ها (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"هیچکدام از زبان‌ها (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"سبک‌های ورودی سفارشی"</string>
- <string name="add_style" msgid="6163126614514489951">"افزودن سبک"</string>
- <string name="add" msgid="8299699805688017798">"افزودن"</string>
- <string name="remove" msgid="4486081658752944606">"حذف"</string>
- <string name="save" msgid="7646738597196767214">"ذخیره"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"زبان"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"چیدمان"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"سبک ورودی سفارشی شما باید قبل از شروع به استفاده از آن فعال شود. می‌خواهید اکنون آن را فعال کنید؟"</string>
- <string name="enable" msgid="5031294444630523247">"فعال کردن"</string>
- <string name="not_now" msgid="6172462888202790482">"اکنون خیر"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"سبک ورودی مشابهی در حال حاضر وجود دارد: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"حالت بررسی قابلیت استفاده"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"تنظیمات مدت زمان لرزش فشار کلید"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"تنظیمات میزان صدای فشار کلید"</string>
-</resources>
diff --git a/java/res/values-fi/bools.xml b/java/res/values-fi/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-fi/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-fi/strings-appname.xml b/java/res/values-fi/strings-appname.xml
deleted file mode 100644
index b2e23d552..000000000
--- a/java/res/values-fi/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android-näppäimistö"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android-oikoluku"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android-näppäimistön asetukset"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Oikolukuasetukset"</string>
-</resources>
diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml
deleted file mode 100644
index 211c3aa47..000000000
--- a/java/res/values-fi/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-näppäimistö (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Syöttövalinnat"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Tutkimuslokin komennot"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android-oikoluku (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Hae kontaktien nimiä"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Oikeinkirjoituksen tarkistus käyttää kontaktiluettelosi tietoja."</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Käytä värinää näppäimiä painettaessa"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Toista ääni näppäimiä painettaessa"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Ponnahdusikkuna painalluksella"</string>
- <string name="general_category" msgid="1859088467017573195">"Yleinen"</string>
- <string name="correction_category" msgid="2236750915056607613">"Tekstin korjaus"</string>
- <string name="misc_category" msgid="6894192814868233453">"Muut vaihtoehdot"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Lisäasetukset"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Valinnat asiantuntijoille"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Käytä toista syöttötapaa"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kielenvaihtonäppäin kattaa myös muut syöttötavat"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Kielenvaihtonäppäin"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Näytä, kun käytössä on useita syöttökieliä"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Näppäimen hylkäysviive"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Ei viivettä"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Oletus"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Ehdota yhteystietojen nimiä"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Käytä yhteystietojen nimiä ehdotuksissa ja korjauksissa"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Automaattiset isot kirjaimet"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Lisäsanakirjat"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Pääsanakirja"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Näytä korjausehdotukset"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Näytä sanaehdotukset kirjoitettaessa"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Näytä aina"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Näytä pystysuunnassa"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Piilota aina"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Autom. korjaus"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Välilyönnit ja välimerkit korjaavat väärinkirjoitetut sanat automaattisesti"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Älä käytä"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Osittainen"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Täysi"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Hyvin aggressiivinen"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Seuraavan sanan ehdotukset"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Perustuu edelliseen sanan"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Eleiden syöttö"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Syötä sana piirtämällä kirjaimet sormella"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Näytä eleen jälki"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Näytä elesanat"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Näytä eleen yhteydessä kelluva esikatselusana"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Tallennettu"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Siirry"</string>
- <string name="label_next_key" msgid="362972844525672568">"Seur."</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Edell"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Valmis"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Lähetä"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Tauko"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Odota"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Liitä kuulokkeet kuullaksesi, mitä näppäimiä painat kirjoittaessasi salasanaa."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Nykyinen teksti on %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Ei kirjoitettua tekstiä"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Näppäimen koodi %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Vaihto päällä (napauta poistaaksesi käytöstä)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock päällä (napauta poistaaksesi käytöstä)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Poisto"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symbolit"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Kirjaimet"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Numerot"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Asetukset"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Sarkain"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Välilyönti"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Puheohjaus"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Hymiö"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Haku"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Piste"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Vaihda kieli"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Seuraava"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Edellinen"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Vaihto päällä"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock päällä"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Vaihto pois käytöstä"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Symbolit-tila"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Näppäimistötila"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Puhelintila"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Puhelinsymbolit-tila"</string>
- <string name="voice_input" msgid="3583258583521397548">"Ääniohjausavain"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Päänäppäimistössä"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Symbolinäppäimistössä"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Älä näytä"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikr. päänäppäim."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikr. symbolinäppäim."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Ääniohjaus on pois käytöstä"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Määritä syöttötavat"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Syöttökielet"</string>
- <string name="select_language" msgid="3693815588777926848">"Syöttökielet"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Tallenna koskettamalla uudelleen"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Sanakirja saatavilla"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Ota käyttäjäpalaute käyttöön"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Auta parantamaan tätä syöttötavan muokkausohjelmaa lähettämällä automaattisesti käyttötietoja ja kaatumisraportteja Googlelle."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Näppäimistöteema"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"englanti (Iso-Britannia)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"englanti (Yhdysvallat)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"englanti (Iso-Britannia) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"englanti (USA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Ei kieltä"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Ei kieltä (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Ei kieltä (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Ei kieltä (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Ei kieltä (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Ei kieltä (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Ei kieltä (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Muokatut syöttötyylit"</string>
- <string name="add_style" msgid="6163126614514489951">"Lisää tyyli"</string>
- <string name="add" msgid="8299699805688017798">"Lisää"</string>
- <string name="remove" msgid="4486081658752944606">"Poista"</string>
- <string name="save" msgid="7646738597196767214">"Tallenna"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Kieli"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Asettelu"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Ota muokattu syötetyyli käyttöön käyttääksesi sitä."</string>
- <string name="enable" msgid="5031294444630523247">"Käyttöön"</string>
- <string name="not_now" msgid="6172462888202790482">"Ei nyt"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Sama tulotyyli on jo olemassa: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Käytettävyystutkimustila"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Näppäimenpainalluksen värinän kestoasetukset"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Näppäimenpainalluksen äänenvoimakkuusasetukset"</string>
-</resources>
diff --git a/java/res/values-fr-rCA/strings.xml b/java/res/values-fr-rCA/strings.xml
deleted file mode 100644
index b56463ed9..000000000
--- a/java/res/values-fr-rCA/strings.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="7252517407088836577">"Clavier Android"</string>
-</resources>
diff --git a/java/res/values-fr/bools.xml b/java/res/values-fr/bools.xml
deleted file mode 100644
index c289e5bf3..000000000
--- a/java/res/values-fr/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-fr/donottranslate.xml b/java/res/values-fr/donottranslate.xml
deleted file mode 100644
index 5288bd7d1..000000000
--- a/java/res/values-fr/donottranslate.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2009, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- Symbols that should be swapped with a magic space -->
- <string name="weak_space_swapping_symbols">.,\")]}</string>
- <!-- Symbols that should strip a magic space -->
- <string name="weak_space_stripping_symbols">"&#x0009;&#x0020;\'\n-/_"</string>
- <!-- Symbols that should promote magic spaces into real space -->
- <string name="phantom_space_promoting_symbols">;:!?([*&amp;@{&lt;&gt;+=|</string>
- <!-- Symbols that do NOT separate words -->
- <!-- Note that this is identical to the default value, but since the above ones are different
- and those variables only make sense together, this is kept here for readability. -->
- <string name="symbols_excluded_from_word_separators">\'-</string>
-</resources>
diff --git a/java/res/values-fr/strings-appname.xml b/java/res/values-fr/strings-appname.xml
deleted file mode 100644
index 8e2a6e088..000000000
--- a/java/res/values-fr/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Clavier Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Correcteur orthographique Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Paramètres du clavier Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Paramètres du correcteur orthographique"</string>
-</resources>
diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml
deleted file mode 100644
index 0a8c382b4..000000000
--- a/java/res/values-fr/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Clavier Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Options de saisie"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Commandes journaux rech."</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Correcteur orthographique Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Rechercher noms contacts"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Correcteur orthographique utilise entrées de liste de contacts."</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrer à chaque touche"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Son à chaque touche"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Agrandir les caractères"</string>
- <string name="general_category" msgid="1859088467017573195">"Général"</string>
- <string name="correction_category" msgid="2236750915056607613">"Correction du texte"</string>
- <string name="misc_category" msgid="6894192814868233453">"Autres options"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Paramètres avancés"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Options destinées aux experts"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Autres modes de saisie"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La touche de sélection de langue couvre d\'autres modes de saisie."</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Touche de sélection de langue"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Afficher lorsque plusieurs langues de saisie sont activées"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Masquer touche agrandie"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Sans délai"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Par défaut"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Proposer noms de contacts"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utiliser des noms de contacts pour les suggestions et corrections"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Majuscules auto"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Dictionnaires complémentaires"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Dictionnaire principal"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Afficher les suggestions de correction"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Afficher les suggestions de terme lors de la saisie"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Toujours afficher"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Afficher en mode Portrait"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Toujours masquer"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Correction automatique"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Corriger autom. orthographe (pression sur barre espace/signes ponctuation)"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Désactiver"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Simple"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Proactive"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Très exigeante"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Suggestions pour le mot suivant"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Suggestions basées sur le mot précédent"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Saisie gestuelle"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Saisir un mot en traçant ses lettres avec le doigt"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Afficher le tracé du geste"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Afficher un mot lors du geste"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Afficher un aperçu flottant du mot lors de la saisie gestuelle"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : enregistré"</string>
- <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
- <string name="label_next_key" msgid="362972844525672568">"Suiv."</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Préc."</string>
- <string name="label_done_key" msgid="2441578748772529288">"OK"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Envoi"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Délai"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Branchez des écouteurs pour entendre l\'énoncé à haute voix des touches lors de la saisie du mot de passe."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Le texte actuel est %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Aucun texte saisi"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Code touche %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Maj"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Touche Maj activée (appuyer pour désactiver)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Verrouillage des majuscules activé (appuyer pour désactiver)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Supprimer"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symboles"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Lettres"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Chiffres"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Paramètres"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabulation"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Espace"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Saisie vocale"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Émoticône"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Entrée"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Rechercher"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Point"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Changer de langue"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Touche suivante"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Touche précédente"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Touche Maj activée"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Verrouillage des majuscules activé"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Touche Maj désactivée"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Mode Symboles"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Mode Lettres"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mode Téléphone"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mode Symboles du téléphone"</string>
- <string name="voice_input" msgid="3583258583521397548">"Touche de saisie vocale"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Sur clavier principal"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Sur clavier symboles"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Désactiver"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micro sur le clavier principal"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micro sur clavier symboles"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Saisie vocale désactivée"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Configurer les modes de saisie"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Langues de saisie"</string>
- <string name="select_language" msgid="3693815588777926848">"Langues de saisie"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Appuyer de nouveau pour enregistrer"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Dictionnaire disponible"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Autoriser les commentaires des utilisateurs"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Contribuer à l\'amélioration de cet éditeur du mode de saisie grâce à l\'envoi automatique de statistiques d\'utilisation et de rapports d\'incident à Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Thème du clavier"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Anglais (Royaume-Uni)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Anglais (États-Unis)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Anglais (Royaume-Uni) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Anglais (États-Unis) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Aucune langue"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Pas de langue (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Aucune langue (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Aucune langue (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Aucune langue (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Aucune langue (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Aucune langue (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Styles saisie personnalisés"</string>
- <string name="add_style" msgid="6163126614514489951">"Ajouter style"</string>
- <string name="add" msgid="8299699805688017798">"Ajouter"</string>
- <string name="remove" msgid="4486081658752944606">"Supprimer"</string>
- <string name="save" msgid="7646738597196767214">"Enregistrer"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Langue"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Clavier"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Vous devez activer votre style de saisie personnalisé avant de l\'utiliser. Voulez-vous le faire maintenant ?"</string>
- <string name="enable" msgid="5031294444630523247">"Activer"</string>
- <string name="not_now" msgid="6172462888202790482">"Pas maintenant"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Le style de saisie suivant existe déjà : <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>."</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Mode d\'étude de l\'utilisabilité"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Durée de vibration à chaque pression"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Volume sonore à chaque pression"</string>
-</resources>
diff --git a/java/res/values-hdpi/config.xml b/java/res/values-hdpi/config.xml
deleted file mode 100644
index 4cf3562fe..000000000
--- a/java/res/values-hdpi/config.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Screen metrics for logging.
- 0 = "mdpi phone screen"
- 1 = "hdpi phone screen"
- 2 = "mdpi 11 inch tablet screen"
- 3 = "xhdpi phone screen?"
- 4 = ?
- -->
- <integer name="log_screen_metrics">1</integer>
-</resources>
diff --git a/java/res/values-hi/bools.xml b/java/res/values-hi/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-hi/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-hi/strings-appname.xml b/java/res/values-hi/strings-appname.xml
deleted file mode 100644
index 02283af9a..000000000
--- a/java/res/values-hi/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android कीबोर्ड"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android वर्तनी परीक्षक"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android कीबोर्ड सेटिंग"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"वर्तनी जांच सेटिंग"</string>
-</resources>
diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml
deleted file mode 100644
index 2788bafe8..000000000
--- a/java/res/values-hi/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android कीबोर्ड (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"इनपुट विकल्‍प"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"लॉग आदेशों का शोध करें"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android वर्तनी परीक्षक (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"संपर्क नामों को खोजें"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"वर्तनी परीक्षक आपकी संपर्क सूची की प्रविष्टियों का उपयोग करता है"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"कुंजी दबाने पर कंपन करता है"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"कुंजी दबाने पर आवाज"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"कुंजी दबाने पर पॉपअप दिखाएं"</string>
- <string name="general_category" msgid="1859088467017573195">"सामान्य"</string>
- <string name="correction_category" msgid="2236750915056607613">"पाठ सुधार"</string>
- <string name="misc_category" msgid="6894192814868233453">"अन्य विकल्प"</string>
- <string name="advanced_settings" msgid="362895144495591463">"उन्नत सेटिंग"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"विशेषज्ञों के लिए विकल्‍प"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"अन्‍य इनपुट पद्धतियों पर जाएं"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"भाषा स्‍विच कुंजी में अन्‍य इनपुट पद्धतियां भी शामिल हैं"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"भाषा स्विच कुंजी"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"एकाधिक इनपुट भाषाएं सक्षम होने पर दिखाएं"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"कुंजी पॉपअप खारिज़ विलंब"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"कोई विलंब नहीं"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"डिफ़ॉल्ट"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"संपर्क नाम सुझाएं"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"सुझाव और सुधार के लिए संपर्क से नामों का उपयोग करें"</string>
- <string name="auto_cap" msgid="1719746674854628252">"स्‍वत: अक्षर बड़े करना"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"एड-ऑन डिक्शनरी"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"मुख्‍य डिक्‍शनरी"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"सुधार सुझाव दिखाएं"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"लिखते समय सुझाए गए शब्‍द दिखाएं"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"हमेशा दिखाएं"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"र्पोट्रेट मोड पर दिखाएं"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"हमेशा छुपाएं"</string>
- <string name="auto_correction" msgid="4979925752001319458">"स्‍वत: सुधार"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Spacebar और विराम चिह्न गलत लिखे गए शब्‍दों को स्‍वचालित रूप से ठीक करते हैं"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"बंद"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"साधारण"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"तीव्र"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"बहुत तीव्र"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"अगले शब्द सुझाव"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"पिछले शब्द के आधार पर"</string>
- <string name="gesture_input" msgid="3310827802759290774">"जेस्‍चर इनपुट"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"किसी शब्द के अक्षरों को ट्रेस करके कोई शब्द इनपुट करें"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"जेस्चर ट्रेल दिखाएं"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"जेस्चर शब्द दिखाएं"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"जेस्चर के साथ फ़्लोटिंग पूर्वावलोकन शब्द दिखाएं"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: सहेजा गया"</string>
- <string name="label_go_key" msgid="1635148082137219148">"जाएं"</string>
- <string name="label_next_key" msgid="362972844525672568">"अगला"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"पिछला"</string>
- <string name="label_done_key" msgid="2441578748772529288">"पूर्ण"</string>
- <string name="label_send_key" msgid="2815056534433717444">"भेजें"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"कखग"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?१२३"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"१२३"</string>
- <string name="label_pause_key" msgid="181098308428035340">"पॉज़ करें"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"प्रतीक्षा करें"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"ज़ोर से बोली गई पासवर्ड कुंजियां सुनने के लिए हेडसेट प्‍लग इन करें."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"वर्तमान पाठ %s है"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"कोई पाठ दर्ज नहीं किया गया"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"कुंजी कोड %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"शिफ़्ट"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift चालू (अक्षम करने के लिए टैप करें)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock चालू (अक्षम करने के लिए टैप करें)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"डिलीट"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"प्रतीक"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"अक्षर"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"संख्‍याएं"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"सेटिंग"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"टैब"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"स्पेस"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"ध्‍वनि इनपुट"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"मुस्कुराता चेहरा"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"रिटर्न"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"खोजें"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"बिंदु"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"भाषा स्विच करें"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"अगला"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"पिछला"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift सक्षम किया गया"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock सक्षम किया गया"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift अक्षम किया गया"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"प्रतीक मोड"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"अक्षर मोड"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"फ़ोन मोड"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"फ़ोन प्रतीक मोड"</string>
- <string name="voice_input" msgid="3583258583521397548">"ध्‍वनि‍ इनपुट कुंजी"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"मुख्‍य कीबोर्ड पर"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"प्रतीक कीबोर्ड पर"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"बंद"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"मुख्‍य कीबोर्ड पर माइक"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"प्रतीक कीबोर्ड पर माइक"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ध्‍वनि इनपुट अक्षम है"</string>
- <string name="configure_input_method" msgid="373356270290742459">"इनपुट पद्धति कॉन्‍फ़िगर करें"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"इनपुट भाषा"</string>
- <string name="select_language" msgid="3693815588777926848">"इनपुट भाषाएं"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"सहेजने के लिए पुन: स्‍पर्श करें"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"शब्‍दकोश उपलब्‍ध है"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"उपयोगकर्ता फ़ीडबैक सक्षम करें"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"उपयोग के आंकड़े और क्रैश रिपोर्ट Google को अपने आप भेज कर इस इनपुट पद्धति संपादक को बेहतर बनाने में सहायता करें."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"कीबोर्ड थीम"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"अंग्रेज़ी (यूके)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"अंग्रेज़ी (यूएस)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"अंग्रेज़ी (यूके) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"अंग्रेज़ी (यूएस) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"कोई भाषा नहीं"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"कोई भाषा नहीं (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"कोई भाषा नहीं (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"कोई भाषा नहीं (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"कोई भाषा नहीं (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"कोई भाषा नहीं (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"कोई भाषा नहीं (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"कस्‍टम इनपुट शैलियां"</string>
- <string name="add_style" msgid="6163126614514489951">"शैली जोड़ें"</string>
- <string name="add" msgid="8299699805688017798">"जोड़ें"</string>
- <string name="remove" msgid="4486081658752944606">"निकालें"</string>
- <string name="save" msgid="7646738597196767214">"सहेजें"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"भाषा"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"लेआउट"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"कस्‍टम इनपुट शैली का उपयोग करने से पहले सक्षम करना होगा. उसे सक्षम करना चाहते हैं?"</string>
- <string name="enable" msgid="5031294444630523247">"सक्षम करें"</string>
- <string name="not_now" msgid="6172462888202790482">"अभी नहीं"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"ऐसी ही इनपुट शैली पहले से मौजूद है: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"उपयोगिता अध्ययन मोड"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"कुंजी-स्‍पर्श कंपन अवधि सेटिंग"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"कुंजी-स्‍पर्श ध्‍वनि वॉल्‍यूम सेटिंग"</string>
-</resources>
diff --git a/java/res/values-hr/bools.xml b/java/res/values-hr/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-hr/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-hr/strings-appname.xml b/java/res/values-hr/strings-appname.xml
deleted file mode 100644
index 69fa2e9a1..000000000
--- a/java/res/values-hr/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Androidova tipkovnica"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Androidova provjera pravopisa"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Postavke Androidove tipkovnice"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Postavke provjere pravopisa"</string>
-</resources>
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
deleted file mode 100644
index 553328646..000000000
--- a/java/res/values-hr/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android tipkovnica (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Opcije ulaza"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Istraživanje naredbi dnevnika"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Androidova provjera pravopisa (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Potražite imena kontakata"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Provjera pravopisa upotrebljava unose iz vašeg popisa kontakata"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibracija pri pritisku na tipku"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk pri pritisku tipke"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Povećanja na pritisak tipke"</string>
- <string name="general_category" msgid="1859088467017573195">"Općenito"</string>
- <string name="correction_category" msgid="2236750915056607613">"Ispravak teksta"</string>
- <string name="misc_category" msgid="6894192814868233453">"Ostale opcije"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Napredne postavke"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opcije za stručnjake"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Prebaci na druge unose"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tipka za prebacivanje jezika pokriva i druge načine unosa"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tipka za izmjenjivanje jezika"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Prikaži kada je omogućen unos na više jezika"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Odgoda prikaza tipki"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Bez odgode"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Zadano"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Predlaži imena kontakata"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Upotreba imena iz Kontakata za prijedloge i ispravke"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Automatsko pisanje velikih slova"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Rječnici-dodaci"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Glavni rječnik"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Pokaži prijedloge ispravka"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Prikazivanje predloženih riječi prilikom upisivanja"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Uvijek prikaži"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Prikaži u portretnom načinu"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Uvijek sakrij"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Samoispravak"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Razmak i interpunkcija automatski ispravljaju krive riječi"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Isključeno"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Skromno"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresivno"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Vrlo agresivno"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Prijedlozi za sljedeću riječ"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Na temelju prethodne riječi"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Pisanje kretnjama"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Unos riječi ispisivanjem slova riječi"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Prikaži trag pokreta"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Prikaži riječ pokreta"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Prikaži lebdeći pregled riječi uz pokret"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Spremljeno"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Idi"</string>
- <string name="label_next_key" msgid="362972844525672568">"Dalje"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Pret."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Gotovo"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Pošalji"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Pričekaj"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Priključite slušalice da biste čuli tipke zaporke izgovorene naglas."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Trenutačni tekst je %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nije unesen tekst"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Kôd tipke %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Uključena tipka Shift (dotaknite da onemogućite)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Uključeno je pisanje velikim slovima (Caps Lock) (dotaknite da onemogućite)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simboli"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Slova"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Brojevi"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Postavke"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Kartica"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Razmaknica"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Glasovni unos"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smješko"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Pretraživanje"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Točka"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Promijeni jezik"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Sljedeće"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Prethodno"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Omogućena tipka Shift"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Omogućeno pisanje velikih slova"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Onemogućena tipka Shift"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Način unosa simbola"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Način pisanja slova"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefonski način rada"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Način unosa telefonskih simbola"</string>
- <string name="voice_input" msgid="3583258583521397548">"Tipka za glasovni unos"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Na glavnoj tipkovnici"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Na tipkovnici simb."</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Isključeno"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon na gl. tipkovnici"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mik. na tipk. simb."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Glas. unos onemog."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfiguriraj načine ulaza"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Jezici unosa"</string>
- <string name="select_language" msgid="3693815588777926848">"Jezici unosa"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Dodirnite ponovo za spremanje"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Rječnik je dostupan"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Omogući korisničke povratne informacije"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Pomozite u poboljšanju ovog urednika ulazne metode automatskim slanjem statistike upotrebe i padova Googleu."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema tipkovnice"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Engleski (UK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Engleski (SAD)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"engleski (UK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"engleski (SAD) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Nema jezika"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nema jezika (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Nema jezika (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Nema jezika (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Nema jezika (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Nema jezika (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Nema jezika (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Prilagođeni stilovi unosa"</string>
- <string name="add_style" msgid="6163126614514489951">"Dodaj stil"</string>
- <string name="add" msgid="8299699805688017798">"Dodaj"</string>
- <string name="remove" msgid="4486081658752944606">"Ukloni"</string>
- <string name="save" msgid="7646738597196767214">"Spremi"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Jezik"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Izgled"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Prilagođeni stil unosa mora biti omogućen. Omogućiti sada?"</string>
- <string name="enable" msgid="5031294444630523247">"Omogući"</string>
- <string name="not_now" msgid="6172462888202790482">"Ne sada"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Već postoji isti stil unosa: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Način studije upotrebljivosti"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Postavke trajanja vibracije kod pritiska tipke"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Postavke glasnoće zvuka kod pritiska tipke"</string>
-</resources>
diff --git a/java/res/values-hu/bools.xml b/java/res/values-hu/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-hu/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-hu/strings-appname.xml b/java/res/values-hu/strings-appname.xml
deleted file mode 100644
index ad511cfbc..000000000
--- a/java/res/values-hu/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android-billentyűzet"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Androidos helyesírás-ellenőrző"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android-billentyűzet beállításai"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"A helyesírás-ellenőrzés beállításai"</string>
-</resources>
diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml
deleted file mode 100644
index 09595a8bd..000000000
--- a/java/res/values-hu/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-billentyűzet (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Beviteli beállítások"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Naplózási parancsok"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Androidos helyesírás-ellenőrző (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Névjegyek keresése"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"A helyesírás-ellenőrző használja a névjegyek bejegyzéseit"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Rezgés billentyű megnyomása esetén"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Hangjelzés billentyű megnyomása esetén"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Legyen nagyobb billentyű lenyomásakor"</string>
- <string name="general_category" msgid="1859088467017573195">"Általános"</string>
- <string name="correction_category" msgid="2236750915056607613">"Szövegjavítás"</string>
- <string name="misc_category" msgid="6894192814868233453">"Egyéb beállítások"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Speciális beállítások"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Beállítások gyakorlott felhasználóknak"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Váltás más beviteli módra"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A nyelvkapcsoló gomb egyéb beviteli módokat is tartalmaz"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"A nyelvkapcsoló"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Megjelenítés, ha több beviteli nyelv engedélyezett"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Gombeltüntetés késése"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Nincs késés"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Alapbeállítás"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Javasolt névjegyek"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"A névjegyek használata a javaslatokhoz és javításokhoz"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Automatikusan nagy kezdőbetű"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Bővítmények: szótárak"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Fő szótár"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Javítási ajánlások megjelenítése"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"A javasolt szavak megjelenítése gépelés közben"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mindig látszik"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Megjelenítés álló tájolásban"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Mindig rejtve"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Automatikus javítás"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Szóköz és központozás automatikusan javítja az elgépelést"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Ki"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mérsékelt"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresszív"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Nagyon agresszív"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Következő szóra vonatkozó javaslatok"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Az előző szó alapján"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Bevitel kézmozdulatokkal"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Szó beírása a betűk megrajzolásával"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Mozdulat irányának mutatása"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mozdulatot leíró szó mutatása"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mozdulatot leíró szó mutatása lebegő előnézetben"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : mentve"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Ugrás"</string>
- <string name="label_next_key" msgid="362972844525672568">"Tovább"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Előző"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Kész"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Küldés"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Szün."</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Vár"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Csatlakoztasson egy headsetet, ha hallani szeretné a jelszót felolvasva."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"A jelenlegi szöveg: %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Szöveg nincs megadva"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Billentyűkód: %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift be van kapcsolva (érintse meg a kikapcsoláshoz)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock be van kapcsolva (érintse meg a kikapcsoláshoz)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Törlés"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Szimbólumok"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Betűk"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Számok"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Beállítások"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Szóköz"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Hangbevitel"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Mosolygós arc"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Keresés"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Pont"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Nyelvek felcserélése"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Következő"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Előző"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift bekapcsolva"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock bekapcsolva"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift kikapcsolva"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"\"Szimbólumok\" mód"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"\"Betű\" mód"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"\"Telefon\" mód"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"\"Telefonos szimbólumok\" mód"</string>
- <string name="voice_input" msgid="3583258583521397548">"Hangbeviteli gomb"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"A fő billentyűzeten"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Szimbólumoknál"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Ki"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikr. a billentyűzeten"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikr. a szimbólumoknál"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hangbevivel KI"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Beviteli módok beállítása"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Beviteli nyelvek"</string>
- <string name="select_language" msgid="3693815588777926848">"Beviteli nyelvek"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Érintse meg újból a mentéshez"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Van elérhető szótár"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Felhasználói visszajelzés engedélyezése"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Segíthet ennek a beviteli módszernek a javításában, ha engedélyezi a használati statisztikák és a hibajelentések elküldését a Google-nak."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Billentyűzettéma"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"angol (brit)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"angol (amerikai)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"angol (brit) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"angol (amerikai) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Nincs nyelv"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nincs nyelv (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Nincs nyelv (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Nincs nyelv (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Nincs nyelv (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Nincs nyelv (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Nincs nyelv (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Egyedi bevitelstílusok"</string>
- <string name="add_style" msgid="6163126614514489951">"Új stílus"</string>
- <string name="add" msgid="8299699805688017798">"Hozzáadás"</string>
- <string name="remove" msgid="4486081658752944606">"Eltávolítás"</string>
- <string name="save" msgid="7646738597196767214">"Mentés"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Nyelv"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Elrendezés"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Az egyéni stílust először engedélyezni kell. Engedélyezi most?"</string>
- <string name="enable" msgid="5031294444630523247">"Engedélyezés"</string>
- <string name="not_now" msgid="6172462888202790482">"Most nem"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Ugyanez a bemenetstílus már létezik: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Használhatósági teszt"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Gombnyomás rezgési időtartamának beállításai"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Gombnyomás hangerejének beállításai"</string>
-</resources>
diff --git a/java/res/values-in/bools.xml b/java/res/values-in/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-in/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-in/strings-appname.xml b/java/res/values-in/strings-appname.xml
deleted file mode 100644
index 283d69247..000000000
--- a/java/res/values-in/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Keyboard Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Pemeriksa ejaan Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Setelan keyboard Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Setelan pemeriksa ejaan"</string>
-</resources>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
deleted file mode 100644
index 827cbedfa..000000000
--- a/java/res/values-in/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Keyboard Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Opsi masukan"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Riset Perintah Log"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Pemeriksa ejaan Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Cari nama kontak"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Pemeriksa ejaan menggunakan entri dari daftar kontak Anda"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Getar jika tombol ditekan"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Berbunyi jika tombol ditekan"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Muncul saat tombol ditekan"</string>
- <string name="general_category" msgid="1859088467017573195">"Umum"</string>
- <string name="correction_category" msgid="2236750915056607613">"Koreksi teks"</string>
- <string name="misc_category" msgid="6894192814868233453">"Opsi lain"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Setelan lanjutan"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opsi untuk ahli"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Beralih ke metode masukan lain"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tombol beralih bahasa juga mencakup metode masukan lain"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tombol pengalih bahasa"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Tampilkan saat beberapa bahasa masukan diaktifkan"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Tundaan singkir munculan kunci"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Tanpa penundaan"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Default"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Sarankan nama Kontak"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Menggunakan nama dari Kontak untuk saran dan koreksi"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Kapitalisasi otomatis"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Kamus pengaya"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Kamus utama"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Tampilkan saran koreksi"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Tampilkan kata yang disarankan ketika mengetik"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Selalu tampilkan"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Tampilkan pada mode potret"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Selalu sembunyikan"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Koreksi otomatis"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Bilah spasi dan tanda baca secara otomatis dikoreksi pada kata yang salah ketik"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Mati"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Sederhana"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresif"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Sangat agresif"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Saran kata berikutnya"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Berdasarkan kata sebelumnya"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Masukan isyarat"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Masukkan kata dengan melacak huruf dari sebuah kata"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Tampilkan jalur isyarat"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Tampilkan kata isyarat"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Tampilkan kata pratinjau melayang dengan isyarat"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Telah disimpan"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Buka"</string>
- <string name="label_next_key" msgid="362972844525672568">"Berikutnya"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Sblm"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Selesai"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Kirimkan"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Jeda"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Tunggu"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Pasang headset untuk mendengar tombol sandi yang diucapkan dengan keras."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Teks saat ini adalah %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Tidak ada teks yang dimasukkan"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Kode tombol %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift aktif (ketuk untuk menonaktifkan)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock aktif (ketuk untuk menonaktifkan)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Hapus"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simbol"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Huruf"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Angka"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Setelan"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Spasi"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Masukan suara"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Wajah tersenyum"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Kembali"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Telusuri"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Titik"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Ganti bahasa"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Berikutnya"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Sebelumnya"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift diaktifkan"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock diaktifkan"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift dinonaktifkan"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Mode simbol"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Mode huruf"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mode telepon"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mode simbol telepon"</string>
- <string name="voice_input" msgid="3583258583521397548">"Tombol masukan suara"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Pada keyboard utama"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Pada keyboard simbol"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Mati"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mik pada keyboard utama"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mik pada keyboard simbol"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Masukan suara dinonaktifkan"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfigurasikan metode masukan"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Bahasa masukan"</string>
- <string name="select_language" msgid="3693815588777926848">"Bahasa masukan"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Sentuh lagi untuk menyimpan"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Kamus yang tersedia"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Aktifkan masukan pengguna"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Bantu tingkatkan metode editor masukan dengan mengirim statistik penggunaan dan laporan kerusakan ke Google secara otomatis."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema keyboard"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Inggris (Inggris)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Inggris (AS)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Inggris (Inggris) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Inggris (AS) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Tidak ada bahasa"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Tanpa bahasa (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Tanpa bahasa (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Tanpa bahasa (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Tanpa bahasa (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Tanpa bahasa (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Tanpa bahasa (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Gaya masukan khusus"</string>
- <string name="add_style" msgid="6163126614514489951">"Tambah gaya"</string>
- <string name="add" msgid="8299699805688017798">"Tambahkan"</string>
- <string name="remove" msgid="4486081658752944606">"Hapus"</string>
- <string name="save" msgid="7646738597196767214">"Simpan"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Bahasa"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Tata Letak"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Gaya masukan khusus harus aktif sebelum digunakan. Aktifkan?"</string>
- <string name="enable" msgid="5031294444630523247">"Aktifkan"</string>
- <string name="not_now" msgid="6172462888202790482">"Nanti saja"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Sudah ada gaya masukan yang sama: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Mode studi daya guna"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Setelan durasi getaran saat tombol ditekan"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Setelan volume suara saat tombol ditekan"</string>
-</resources>
diff --git a/java/res/values-is/bools.xml b/java/res/values-is/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-is/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-is/strings.xml b/java/res/values-is/strings.xml
deleted file mode 100644
index 89be4fcab..000000000
--- a/java/res/values-is/strings.xml
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for aosp_android_keyboard_ime_name (7877134937939182296) -->
- <skip />
- <!-- no translation found for english_ime_input_options (3909945612939668554) -->
- <skip />
- <!-- no translation found for english_ime_research_log (8492602295696577851) -->
- <skip />
- <!-- no translation found for aosp_spell_checker_service_name (6985142605330377819) -->
- <skip />
- <!-- no translation found for use_contacts_for_spellchecking_option_title (5374120998125353898) -->
- <skip />
- <!-- no translation found for use_contacts_for_spellchecking_option_summary (8754413382543307713) -->
- <skip />
- <!-- no translation found for vibrate_on_keypress (5258079494276955460) -->
- <skip />
- <!-- no translation found for sound_on_keypress (6093592297198243644) -->
- <skip />
- <!-- no translation found for popup_on_keypress (123894815723512944) -->
- <skip />
- <!-- no translation found for general_category (1859088467017573195) -->
- <skip />
- <!-- no translation found for correction_category (2236750915056607613) -->
- <skip />
- <!-- no translation found for misc_category (6894192814868233453) -->
- <skip />
- <!-- no translation found for advanced_settings (362895144495591463) -->
- <skip />
- <!-- no translation found for advanced_settings_summary (4487980456152830271) -->
- <skip />
- <!-- no translation found for include_other_imes_in_language_switch_list (4533689960308565519) -->
- <skip />
- <!-- no translation found for include_other_imes_in_language_switch_list_summary (840637129103317635) -->
- <skip />
- <!-- no translation found for show_language_switch_key (5915478828318774384) -->
- <skip />
- <!-- no translation found for show_language_switch_key_summary (7343403647474265713) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_delay (6213164897443068248) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_no_delay (2096123151571458064) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_default_delay (2166964333903906734) -->
- <skip />
- <!-- no translation found for use_contacts_dict (4435317977804180815) -->
- <skip />
- <!-- no translation found for use_contacts_dict_summary (6599983334507879959) -->
- <skip />
- <!-- no translation found for auto_cap (1719746674854628252) -->
- <skip />
- <!-- no translation found for configure_dictionaries_title (4238652338556902049) -->
- <skip />
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
- <!-- no translation found for prefs_show_suggestions (8026799663445531637) -->
- <skip />
- <!-- no translation found for prefs_show_suggestions_summary (1583132279498502825) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_show_name (3219916594067551303) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_show_only_portrait_name (3551821800439659812) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_hide_name (6309143926422234673) -->
- <skip />
- <!-- no translation found for auto_correction (4979925752001319458) -->
- <skip />
- <!-- no translation found for auto_correction_summary (5625751551134658006) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_off (8470882665417944026) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_modest (8788366690620799097) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_aggeressive (3524029103734923819) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_very_aggeressive (3386782235540547678) -->
- <skip />
- <!-- no translation found for bigram_prediction (5809665643352206540) -->
- <skip />
- <!-- no translation found for bigram_prediction_summary (3253961591626441019) -->
- <skip />
- <!-- no translation found for gesture_input (3310827802759290774) -->
- <skip />
- <!-- no translation found for gesture_input_summary (7019742443455085809) -->
- <skip />
- <!-- no translation found for gesture_preview_trail (3802333369335722221) -->
- <skip />
- <!-- no translation found for gesture_floating_preview_text (6859416520117939680) -->
- <skip />
- <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) -->
- <skip />
- <!-- no translation found for added_word (8993883354622484372) -->
- <skip />
- <string name="label_go_key" msgid="1635148082137219148">"Áfram"</string>
- <string name="label_next_key" msgid="362972844525672568">"Næsta"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Fyrra"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Lokið"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Senda"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <!-- no translation found for label_to_symbol_key (8516904117128967293) -->
- <skip />
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
- <!-- no translation found for label_pause_key (181098308428035340) -->
- <skip />
- <!-- no translation found for label_wait_key (6402152600878093134) -->
- <skip />
- <!-- no translation found for spoken_use_headphones (896961781287283493) -->
- <skip />
- <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
- <skip />
- <!-- no translation found for spoken_no_text_entered (7479685225597344496) -->
- <skip />
- <!-- no translation found for spoken_description_unknown (3197434010402179157) -->
- <skip />
- <!-- no translation found for spoken_description_shift (244197883292549308) -->
- <skip />
- <!-- no translation found for spoken_description_shift_shifted (1681877323344195035) -->
- <skip />
- <!-- no translation found for spoken_description_caps_lock (3276478269526304432) -->
- <skip />
- <!-- no translation found for spoken_description_delete (8740376944276199801) -->
- <skip />
- <!-- no translation found for spoken_description_to_symbol (5486340107500448969) -->
- <skip />
- <!-- no translation found for spoken_description_to_alpha (23129338819771807) -->
- <skip />
- <!-- no translation found for spoken_description_to_numeric (591752092685161732) -->
- <skip />
- <!-- no translation found for spoken_description_settings (4627462689603838099) -->
- <skip />
- <!-- no translation found for spoken_description_tab (2667716002663482248) -->
- <skip />
- <!-- no translation found for spoken_description_space (2582521050049860859) -->
- <skip />
- <!-- no translation found for spoken_description_mic (615536748882611950) -->
- <skip />
- <!-- no translation found for spoken_description_smiley (2256309826200113918) -->
- <skip />
- <!-- no translation found for spoken_description_return (8178083177238315647) -->
- <skip />
- <!-- no translation found for spoken_description_search (1247236163755920808) -->
- <skip />
- <!-- no translation found for spoken_description_dot (40711082435231673) -->
- <skip />
- <!-- no translation found for spoken_description_language_switch (5507091328222331316) -->
- <skip />
- <!-- no translation found for spoken_description_action_next (8636078276664150324) -->
- <skip />
- <!-- no translation found for spoken_description_action_previous (800872415009336208) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_on (5700440798609574589) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_locked (593175803181701830) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_off (657219998449174808) -->
- <skip />
- <!-- no translation found for spoken_description_mode_symbol (7183343879909747642) -->
- <skip />
- <!-- no translation found for spoken_description_mode_alpha (3528307674390156956) -->
- <skip />
- <!-- no translation found for spoken_description_mode_phone (6520207943132026264) -->
- <skip />
- <!-- no translation found for spoken_description_mode_phone_shift (5499629753962641227) -->
- <skip />
- <!-- no translation found for voice_input (3583258583521397548) -->
- <skip />
- <!-- no translation found for voice_input_modes_main_keyboard (3360660341121083174) -->
- <skip />
- <!-- no translation found for voice_input_modes_symbols_keyboard (7203213240786084067) -->
- <skip />
- <!-- no translation found for voice_input_modes_off (3745699748218082014) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_main_keyboard (6586544292900314339) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_symbols_keyboard (5233725927281932391) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_off (63875609591897607) -->
- <skip />
- <!-- no translation found for configure_input_method (373356270290742459) -->
- <skip />
- <!-- no translation found for language_selection_title (1651299598555326750) -->
- <skip />
- <!-- no translation found for select_language (3693815588777926848) -->
- <skip />
- <!-- no translation found for hint_add_to_dictionary (573678656946085380) -->
- <skip />
- <!-- no translation found for has_dictionary (6071847973466625007) -->
- <skip />
- <!-- no translation found for prefs_enable_log (6620424505072963557) -->
- <skip />
- <!-- no translation found for prefs_description_log (5827825607258246003) -->
- <skip />
- <!-- no translation found for keyboard_layout (8451164783510487501) -->
- <skip />
- <!-- no translation found for subtype_en_GB (88170601942311355) -->
- <skip />
- <!-- no translation found for subtype_en_US (6160452336634534239) -->
- <skip />
- <!-- no translation found for subtype_with_layout_en_GB (2179097748724725906) -->
- <skip />
- <!-- no translation found for subtype_with_layout_en_US (1362581347576714579) -->
- <skip />
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
- <!-- no translation found for subtype_no_language_qwerty (2956121451616633133) -->
- <skip />
- <!-- no translation found for subtype_no_language_qwertz (1177848172397202890) -->
- <skip />
- <!-- no translation found for subtype_no_language_azerty (8721460968141187394) -->
- <skip />
- <!-- no translation found for subtype_no_language_dvorak (3122976737669823935) -->
- <skip />
- <!-- no translation found for subtype_no_language_colemak (4205992994906097244) -->
- <skip />
- <!-- no translation found for subtype_no_language_pcqwerty (8840928374394180189) -->
- <skip />
- <!-- no translation found for custom_input_styles_title (8429952441821251512) -->
- <skip />
- <!-- no translation found for add_style (6163126614514489951) -->
- <skip />
- <!-- no translation found for add (8299699805688017798) -->
- <skip />
- <!-- no translation found for remove (4486081658752944606) -->
- <skip />
- <!-- no translation found for save (7646738597196767214) -->
- <skip />
- <!-- no translation found for subtype_locale (8576443440738143764) -->
- <skip />
- <!-- no translation found for keyboard_layout_set (4309233698194565609) -->
- <skip />
- <!-- no translation found for custom_input_style_note_message (8826731320846363423) -->
- <skip />
- <!-- no translation found for enable (5031294444630523247) -->
- <skip />
- <!-- no translation found for not_now (6172462888202790482) -->
- <skip />
- <!-- no translation found for custom_input_style_already_exists (8008728952215449707) -->
- <skip />
- <!-- no translation found for prefs_usability_study_mode (1261130555134595254) -->
- <skip />
- <!-- no translation found for prefs_keypress_vibration_duration_settings (1829950405285211668) -->
- <skip />
- <!-- no translation found for prefs_keypress_sound_volume_settings (5875933757082305040) -->
- <skip />
-</resources>
diff --git a/java/res/values-it/bools.xml b/java/res/values-it/bools.xml
deleted file mode 100644
index c289e5bf3..000000000
--- a/java/res/values-it/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-it/strings-appname.xml b/java/res/values-it/strings-appname.xml
deleted file mode 100644
index b84896b9d..000000000
--- a/java/res/values-it/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Tastiera Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Controllo ortografico Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Impostazioni tastiera Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Impostazioni di controllo ortografico"</string>
-</resources>
diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml
deleted file mode 100644
index 508fbc319..000000000
--- a/java/res/values-it/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Tastiera Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Opzioni inserimento"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Ricerca comandi di log"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Controllo ortografico Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Cerca in nomi contatti"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"La funzione di controllo ortografico usa voci dell\'elenco contatti"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrazione tasti"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Suono tasti"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Popup sui tasti"</string>
- <string name="general_category" msgid="1859088467017573195">"Generali"</string>
- <string name="correction_category" msgid="2236750915056607613">"Correzione testo"</string>
- <string name="misc_category" msgid="6894192814868233453">"Altre opzioni"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Impostazioni avanzate"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opzioni per esperti"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Altri metodi immissione"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Il tasto per cambiare lingua offre altri metodi di immissione"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tasto cambio lingua"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Mostra quando sono attive più lingue di immissione"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Ritardo eliminaz. popup tasto"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Nessun ritardo"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Predefinito"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Suggerisci nomi di contatti"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilizza nomi di Contatti per suggerimenti e correzioni"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Maiuscole automatiche"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Dizionari aggiuntivi"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Dizionario principale"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Mostra suggerimenti correzioni"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Visualizza le parole suggerite durante la digitazione"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostra sempre"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostra in modalità verticale"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Nascondi sempre"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Correzione automatica"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Barra spaziatrice/punteggiatura correggono parole con errori"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Off"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Media"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Massima"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Massima"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Suggerimenti parola successiva"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"In base alla parola precedente"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Digitazione gestuale"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Inserisci una parola tracciandone le lettere"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostra traccia con gesto"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostra parola con gesto"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostra parola di anteprima floating con gesto"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : parola salvata"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Vai"</string>
- <string name="label_next_key" msgid="362972844525672568">"Avanti"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Indietro"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Fine"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Invia"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Attesa"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Collega gli auricolari per ascoltare la pronuncia dei tasti premuti per la password."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Il testo attuale è %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nessun testo inserito"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Codice tasto %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Maiuscolo"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Maiuscolo attivo (tocca per disattivare)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Blocco maiuscole attivo (tocca per disattivare)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Cancella"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simboli"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Lettere"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Numeri"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Impostazioni"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabulazione"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Spazio"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Input vocale"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smile"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Invio"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Cerca"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Pallino"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Cambia lingua"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Successivo"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Precedente"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Maiuscolo attivo"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Blocco maiuscole attivo"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Maiuscolo disattivato"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Modalità simboli"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Modalità lettere"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Modalità telefono"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Modalità simboli telefono"</string>
- <string name="voice_input" msgid="3583258583521397548">"Tasto immissione vocale"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Su tastiera principale"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Su tastiera simboli"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Non attivo"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Microfono su tastiera principale"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Microfono su tastiera simboli"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Comandi vocali disatt."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Configura metodi di immissione"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Lingue comandi"</string>
- <string name="select_language" msgid="3693815588777926848">"Lingue comandi"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Tocca di nuovo per salvare"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Dizionario disponibile"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Attiva commenti degli utenti"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Aiuta a migliorare l\'editor del metodo di inserimento inviando automaticamente a Google statistiche sull\'utilizzo e segnalazioni sugli arresti anomali."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema della tastiera"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Inglese (UK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Inglese (USA)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Inglese (Regno Unito) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Inglese (Stati Uniti) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Nessuna lingua"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nessuna lingua (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Nessuna lingua (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Nessuna lingua (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Nessuna lingua (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Nessuna lingua (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Nessuna lingua (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Stili personalizzati"</string>
- <string name="add_style" msgid="6163126614514489951">"Aggiungi stile"</string>
- <string name="add" msgid="8299699805688017798">"Aggiungi"</string>
- <string name="remove" msgid="4486081658752944606">"Rimuovi"</string>
- <string name="save" msgid="7646738597196767214">"Salva"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Lingua"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Lo stile di ingresso personalizzato deve essere attivato prima dell\'utilizzo. Vuoi attivarlo?"</string>
- <string name="enable" msgid="5031294444630523247">"Attiva"</string>
- <string name="not_now" msgid="6172462888202790482">"Non ora"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Esiste già uno stile di inuput uguale: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modalità Studio sull\'usabilità"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Durata vibrazione alla pressione tasto"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Volume audio alla pressione di un tasto"</string>
-</resources>
diff --git a/java/res/values-iw/bools.xml b/java/res/values-iw/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-iw/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-iw/donottranslate.xml b/java/res/values-iw/donottranslate.xml
deleted file mode 100644
index 57de2538b..000000000
--- a/java/res/values-iw/donottranslate.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- The all letters need to be mirrored are found at
- http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
- <!-- Symbols that are suggested between words -->
- <string name="suggested_punctuations">!,?,\\,,:,;,\",(|),)|(,\',-,/,@,_</string>
-</resources>
diff --git a/java/res/values-iw/strings-appname.xml b/java/res/values-iw/strings-appname.xml
deleted file mode 100644
index f3f4b674c..000000000
--- a/java/res/values-iw/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"מקלדת Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"בודק האיות של Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"הגדרות מקלדת Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"הגדרות בדיקת איות"</string>
-</resources>
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
deleted file mode 100644
index 0c0965966..000000000
--- a/java/res/values-iw/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"מקלדת Android ‏(AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"אפשרויות קלט"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"פקודות יומן מחקר"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"בודק האיות של Android ‏(AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"חפש שמות של אנשי קשר"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"בודק האיות משתמש בערכים מרשימת אנשי הקשר שלך"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"רטט בלחיצה על מקשים"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"צלילים בעת לחיצה על מקשים"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"חלון קופץ בלחיצה על מקש"</string>
- <string name="general_category" msgid="1859088467017573195">"כללי"</string>
- <string name="correction_category" msgid="2236750915056607613">"תיקון טקסט"</string>
- <string name="misc_category" msgid="6894192814868233453">"אפשרויות אחרות"</string>
- <string name="advanced_settings" msgid="362895144495591463">"הגדרות מתקדמות"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"אפשרויות למומחים"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"עבור לשיטות קלט אחרות"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"מתג החלפת השפה מכסה גם שיטות קלט אחרות"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"מתג החלפת שפה"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"הצג כאשר ניתן להשתמש בשפות קלט מרובות"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"עיכוב סגירת חלון קופץ של מקש"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"ללא עיכוב"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"ברירת מחדל"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"הצע שמות של אנשי קשר"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"השתמש בשמות מרשימת אנשי הקשר עבור הצעות ותיקונים"</string>
- <string name="auto_cap" msgid="1719746674854628252">"הפיכת אותיות לרישיות באופן אוטומטי"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"הוספת מילונים"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"מילון ראשי"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"הצג הצעות לתיקונים"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"הצג הצעות למילים בעת הקלדה"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"הצג תמיד"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"הצג בפריסה לאורך"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"הסתר תמיד"</string>
- <string name="auto_correction" msgid="4979925752001319458">"תיקון אוטומטי"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"מקש הרווח ופיסוק מתקנים אוטומטית שגיאות הקלדה"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"כבוי"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"מצומצם"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"מחמיר"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"מחמיר מאוד"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"הצעות המילה הבאה"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"בהתבסס על המילה הקודמת"</string>
- <string name="gesture_input" msgid="3310827802759290774">"קלט מחווה"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"הזן מילה על ידי החלקת האצבע מאות לאות"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"הצג שובל מחווה"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"הצג מילת מחווה"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"הצג תצוגה מקדימה צפה של המילה בזמן המחווה"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : נשמרה"</string>
- <string name="label_go_key" msgid="1635148082137219148">"בצע"</string>
- <string name="label_next_key" msgid="362972844525672568">"הבא"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"הקודם"</string>
- <string name="label_done_key" msgid="2441578748772529288">"סיום"</string>
- <string name="label_send_key" msgid="2815056534433717444">"שלח"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"אבג"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"השהה"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"המתן"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"חבר אוזניות כדי לשמוע הקראה של מפתחות סיסמה."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"הטקסט הנוכחי הוא %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"לא הוזן טקסט"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"קוד מקש %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift פועל (הקש כדי להשבית)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock פועל (הקש כדי להשבית)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"מחק"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"סמלים"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"אותיות"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"מספרים"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"הגדרות"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"טאב"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"רווח"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"קלט קולי"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"פרצוף סמיילי"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"חזור"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"חיפוש"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"נקודה"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"החלף שפה"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"הבא"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"הקודם"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift מופעל"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock מופעל"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift מושבת"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"מצב סמלים"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"מצב אותיות"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"מצב טלפון"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"מצב סמלי טלפון"</string>
- <string name="voice_input" msgid="3583258583521397548">"מקש קלט קולי"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"במקלדת הראשית"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"במקלדת סמלים"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"כבוי"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"מיקרופון במקלדת הראשית"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"מיקרופון במקלדת סמלים"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"הקלט הקולי מושבת"</string>
- <string name="configure_input_method" msgid="373356270290742459">"הגדרת שיטות קלט"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"שפות קלט"</string>
- <string name="select_language" msgid="3693815588777926848">"שפות קלט"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"גע שוב כדי לשמור"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"מילון זמין"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"הפוך משוב ממשתמשים לפעיל"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"עזור לשפר את עורך שיטת הקלט על ידי שליחה אוטומטית של סטטיסטיקת שימוש ודוחות קריסת מחשב ל-Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"עיצוב מקלדת"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"אנגלית (בריטניה)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"אנגלית (ארה\"ב)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"אנגלית (בריטניה) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"אנגלית (ארה\"ב) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"ללא שפה"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"אין שפה (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"אין שפה (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"אין שפה (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"אין שפה (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"אין שפה (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"אין שפה (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"סגנונות קלט מותאמים אישית"</string>
- <string name="add_style" msgid="6163126614514489951">"הוסף סגנון"</string>
- <string name="add" msgid="8299699805688017798">"הוסף"</string>
- <string name="remove" msgid="4486081658752944606">"הסר"</string>
- <string name="save" msgid="7646738597196767214">"שמור"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"שפה"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"פריסה"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"יש להפעיל את סגנון הקלט המותאם אישית לפני שתוכל להשתמש בו. האם אתה רוצה להפעיל אותו עכשיו?"</string>
- <string name="enable" msgid="5031294444630523247">"הפעל"</string>
- <string name="not_now" msgid="6172462888202790482">"לא עכשיו"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"סגנון קלט זהה כבר קיים: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"מצב מחקר שימושיות"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"הגדרות משך רטט בלחיצה על מקש"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"הגדרות עוצמת קול בלחיצה על מקש"</string>
-</resources>
diff --git a/java/res/values-ja/strings-appname.xml b/java/res/values-ja/strings-appname.xml
deleted file mode 100644
index 16c1c05c6..000000000
--- a/java/res/values-ja/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Androidキーボード"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Androidスペルチェッカー"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Androidキーボードの設定"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"スペルチェックの設定"</string>
-</resources>
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
deleted file mode 100644
index 152b6194d..000000000
--- a/java/res/values-ja/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Androidキーボード(AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"入力オプション"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"ログコマンドの検索"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Androidスペルチェッカー(AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"連絡先名の検索"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"スペルチェッカーでは連絡先リストのエントリを使用します"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"キー操作バイブ"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"キー操作音"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"キー押下時ポップアップ"</string>
- <string name="general_category" msgid="1859088467017573195">"全般"</string>
- <string name="correction_category" msgid="2236750915056607613">"テキストの修正"</string>
- <string name="misc_category" msgid="6894192814868233453">"他のオプション"</string>
- <string name="advanced_settings" msgid="362895144495591463">"詳細設定"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"上級者向けオプション"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"他の入力方法に切り替え"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"言語切り替えキーは他の入力方法にも対応しています"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"言語切り替えキー"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"複数の入力言語が有効なときに表示"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"キーのポップアップ時間"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"すぐに消去"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"デフォルト"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"候補の連絡先名を表示"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"連絡先の名前を使用して候補表示や自動修正を行います"</string>
- <string name="auto_cap" msgid="1719746674854628252">"自動大文字変換"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"アドオン辞書"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"メイン辞書"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"修正候補を表示する"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"入力中に入力候補を表示する"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"常に表示"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"縦向きで表示"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"常に非表示"</string>
- <string name="auto_correction" msgid="4979925752001319458">"自動修正"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"誤入力をスペースまたは句読点キーで修正する"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"OFF"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"中"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"強"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"最も強い"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"次の入力候補"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"前の語句に基づいた入力候補表示"</string>
- <string name="gesture_input" msgid="3310827802759290774">"ジェスチャー入力"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"単語の文字をトレースして単語を入力"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"ジェスチャートレイルを表示"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"ジェスチャーワードを表示"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"ジェスチャーでプレビューワードをフローティング表示できます"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:保存しました"</string>
- <string name="label_go_key" msgid="1635148082137219148">"実行"</string>
- <string name="label_next_key" msgid="362972844525672568">"次へ"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"前へ"</string>
- <string name="label_done_key" msgid="2441578748772529288">"完了"</string>
- <string name="label_send_key" msgid="2815056534433717444">"送信"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"停止"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"待機"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"パスワードのキーが音声出力されるのでヘッドセットを接続してください。"</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"現在のテキスト:%s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"テキストが入力されていません"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"キーコード:%d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift有効(タップして解除)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock有効(タップして解除)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"DEL"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"記号"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"英字"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"数字"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"設定"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Space"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"音声入力"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"顔文字"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"検索"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"中点"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"言語を切り替え"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"次へ"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"前へ"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift有効"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock有効"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift解除"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"記号モード"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"英数モード"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"電話モード"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"電話記号モード"</string>
- <string name="voice_input" msgid="3583258583521397548">"音声入力キー"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"メインキーボード上"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"記号キーボード上"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"OFF"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"メインキーボードのマイク"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"記号キーボードのマイク"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"音声入力は無効です"</string>
- <string name="configure_input_method" msgid="373356270290742459">"入力方法を設定"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"入力言語"</string>
- <string name="select_language" msgid="3693815588777926848">"入力言語"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"保存するにはもう一度タップ"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"辞書を利用できます"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"ユーザーフィードバックを有効にする"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"IMEの機能向上のため、使用統計状況やクラッシュレポートをGoogleに自動送信します。"</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"キーボードのテーマ"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"英語(英国)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"英語(米国)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"英語(英国)(<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"英語(米国)(<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"言語設定なし"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"言語設定なし(QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"言語設定なし(QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"言語設定なし(AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"言語設定なし(Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"言語設定なし(Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"言語設定なし(PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"カスタム入力スタイル"</string>
- <string name="add_style" msgid="6163126614514489951">"スタイル追加"</string>
- <string name="add" msgid="8299699805688017798">"追加"</string>
- <string name="remove" msgid="4486081658752944606">"削除"</string>
- <string name="save" msgid="7646738597196767214">"保存"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"言語"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"レイアウト"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"カスタム入力スタイルは、使用を開始する前に有効にする必要があります。今すぐ有効にしますか?"</string>
- <string name="enable" msgid="5031294444630523247">"有効にする"</string>
- <string name="not_now" msgid="6172462888202790482">"後で行う"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"同じ入力スタイルが既に存在します: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"使いやすさの研究モード"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"キー操作バイブの振動時間の設定"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"キー操作音の音量設定"</string>
-</resources>
diff --git a/java/res/values-ka/bools.xml b/java/res/values-ka/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-ka/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-ka/strings.xml b/java/res/values-ka/strings.xml
deleted file mode 100644
index 08c863595..000000000
--- a/java/res/values-ka/strings.xml
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for aosp_android_keyboard_ime_name (7877134937939182296) -->
- <skip />
- <!-- no translation found for english_ime_input_options (3909945612939668554) -->
- <skip />
- <!-- no translation found for english_ime_research_log (8492602295696577851) -->
- <skip />
- <!-- no translation found for aosp_spell_checker_service_name (6985142605330377819) -->
- <skip />
- <!-- no translation found for use_contacts_for_spellchecking_option_title (5374120998125353898) -->
- <skip />
- <!-- no translation found for use_contacts_for_spellchecking_option_summary (8754413382543307713) -->
- <skip />
- <!-- no translation found for vibrate_on_keypress (5258079494276955460) -->
- <skip />
- <!-- no translation found for sound_on_keypress (6093592297198243644) -->
- <skip />
- <!-- no translation found for popup_on_keypress (123894815723512944) -->
- <skip />
- <!-- no translation found for general_category (1859088467017573195) -->
- <skip />
- <!-- no translation found for correction_category (2236750915056607613) -->
- <skip />
- <!-- no translation found for misc_category (6894192814868233453) -->
- <skip />
- <!-- no translation found for advanced_settings (362895144495591463) -->
- <skip />
- <!-- no translation found for advanced_settings_summary (4487980456152830271) -->
- <skip />
- <!-- no translation found for include_other_imes_in_language_switch_list (4533689960308565519) -->
- <skip />
- <!-- no translation found for include_other_imes_in_language_switch_list_summary (840637129103317635) -->
- <skip />
- <!-- no translation found for show_language_switch_key (5915478828318774384) -->
- <skip />
- <!-- no translation found for show_language_switch_key_summary (7343403647474265713) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_delay (6213164897443068248) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_no_delay (2096123151571458064) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_default_delay (2166964333903906734) -->
- <skip />
- <!-- no translation found for use_contacts_dict (4435317977804180815) -->
- <skip />
- <!-- no translation found for use_contacts_dict_summary (6599983334507879959) -->
- <skip />
- <!-- no translation found for auto_cap (1719746674854628252) -->
- <skip />
- <!-- no translation found for configure_dictionaries_title (4238652338556902049) -->
- <skip />
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
- <!-- no translation found for prefs_show_suggestions (8026799663445531637) -->
- <skip />
- <!-- no translation found for prefs_show_suggestions_summary (1583132279498502825) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_show_name (3219916594067551303) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_show_only_portrait_name (3551821800439659812) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_hide_name (6309143926422234673) -->
- <skip />
- <!-- no translation found for auto_correction (4979925752001319458) -->
- <skip />
- <!-- no translation found for auto_correction_summary (5625751551134658006) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_off (8470882665417944026) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_modest (8788366690620799097) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_aggeressive (3524029103734923819) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_very_aggeressive (3386782235540547678) -->
- <skip />
- <!-- no translation found for bigram_prediction (5809665643352206540) -->
- <skip />
- <!-- no translation found for bigram_prediction_summary (3253961591626441019) -->
- <skip />
- <!-- no translation found for gesture_input (3310827802759290774) -->
- <skip />
- <!-- no translation found for gesture_input_summary (7019742443455085809) -->
- <skip />
- <!-- no translation found for gesture_preview_trail (3802333369335722221) -->
- <skip />
- <!-- no translation found for gesture_floating_preview_text (6859416520117939680) -->
- <skip />
- <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) -->
- <skip />
- <!-- no translation found for added_word (8993883354622484372) -->
- <skip />
- <string name="label_go_key" msgid="1635148082137219148">"გადასვლა"</string>
- <string name="label_next_key" msgid="362972844525672568">"შემდეგი"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"წინა"</string>
- <string name="label_done_key" msgid="2441578748772529288">"შესრულებულია"</string>
- <string name="label_send_key" msgid="2815056534433717444">"გაგზავნა"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <!-- no translation found for label_to_symbol_key (8516904117128967293) -->
- <skip />
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
- <!-- no translation found for label_pause_key (181098308428035340) -->
- <skip />
- <!-- no translation found for label_wait_key (6402152600878093134) -->
- <skip />
- <!-- no translation found for spoken_use_headphones (896961781287283493) -->
- <skip />
- <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
- <skip />
- <!-- no translation found for spoken_no_text_entered (7479685225597344496) -->
- <skip />
- <!-- no translation found for spoken_description_unknown (3197434010402179157) -->
- <skip />
- <!-- no translation found for spoken_description_shift (244197883292549308) -->
- <skip />
- <!-- no translation found for spoken_description_shift_shifted (1681877323344195035) -->
- <skip />
- <!-- no translation found for spoken_description_caps_lock (3276478269526304432) -->
- <skip />
- <!-- no translation found for spoken_description_delete (8740376944276199801) -->
- <skip />
- <!-- no translation found for spoken_description_to_symbol (5486340107500448969) -->
- <skip />
- <!-- no translation found for spoken_description_to_alpha (23129338819771807) -->
- <skip />
- <!-- no translation found for spoken_description_to_numeric (591752092685161732) -->
- <skip />
- <!-- no translation found for spoken_description_settings (4627462689603838099) -->
- <skip />
- <!-- no translation found for spoken_description_tab (2667716002663482248) -->
- <skip />
- <!-- no translation found for spoken_description_space (2582521050049860859) -->
- <skip />
- <!-- no translation found for spoken_description_mic (615536748882611950) -->
- <skip />
- <!-- no translation found for spoken_description_smiley (2256309826200113918) -->
- <skip />
- <!-- no translation found for spoken_description_return (8178083177238315647) -->
- <skip />
- <!-- no translation found for spoken_description_search (1247236163755920808) -->
- <skip />
- <!-- no translation found for spoken_description_dot (40711082435231673) -->
- <skip />
- <!-- no translation found for spoken_description_language_switch (5507091328222331316) -->
- <skip />
- <!-- no translation found for spoken_description_action_next (8636078276664150324) -->
- <skip />
- <!-- no translation found for spoken_description_action_previous (800872415009336208) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_on (5700440798609574589) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_locked (593175803181701830) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_off (657219998449174808) -->
- <skip />
- <!-- no translation found for spoken_description_mode_symbol (7183343879909747642) -->
- <skip />
- <!-- no translation found for spoken_description_mode_alpha (3528307674390156956) -->
- <skip />
- <!-- no translation found for spoken_description_mode_phone (6520207943132026264) -->
- <skip />
- <!-- no translation found for spoken_description_mode_phone_shift (5499629753962641227) -->
- <skip />
- <!-- no translation found for voice_input (3583258583521397548) -->
- <skip />
- <!-- no translation found for voice_input_modes_main_keyboard (3360660341121083174) -->
- <skip />
- <!-- no translation found for voice_input_modes_symbols_keyboard (7203213240786084067) -->
- <skip />
- <!-- no translation found for voice_input_modes_off (3745699748218082014) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_main_keyboard (6586544292900314339) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_symbols_keyboard (5233725927281932391) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_off (63875609591897607) -->
- <skip />
- <!-- no translation found for configure_input_method (373356270290742459) -->
- <skip />
- <!-- no translation found for language_selection_title (1651299598555326750) -->
- <skip />
- <!-- no translation found for select_language (3693815588777926848) -->
- <skip />
- <!-- no translation found for hint_add_to_dictionary (573678656946085380) -->
- <skip />
- <!-- no translation found for has_dictionary (6071847973466625007) -->
- <skip />
- <!-- no translation found for prefs_enable_log (6620424505072963557) -->
- <skip />
- <!-- no translation found for prefs_description_log (5827825607258246003) -->
- <skip />
- <!-- no translation found for keyboard_layout (8451164783510487501) -->
- <skip />
- <!-- no translation found for subtype_en_GB (88170601942311355) -->
- <skip />
- <!-- no translation found for subtype_en_US (6160452336634534239) -->
- <skip />
- <!-- no translation found for subtype_with_layout_en_GB (2179097748724725906) -->
- <skip />
- <!-- no translation found for subtype_with_layout_en_US (1362581347576714579) -->
- <skip />
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
- <!-- no translation found for subtype_no_language_qwerty (2956121451616633133) -->
- <skip />
- <!-- no translation found for subtype_no_language_qwertz (1177848172397202890) -->
- <skip />
- <!-- no translation found for subtype_no_language_azerty (8721460968141187394) -->
- <skip />
- <!-- no translation found for subtype_no_language_dvorak (3122976737669823935) -->
- <skip />
- <!-- no translation found for subtype_no_language_colemak (4205992994906097244) -->
- <skip />
- <!-- no translation found for subtype_no_language_pcqwerty (8840928374394180189) -->
- <skip />
- <!-- no translation found for custom_input_styles_title (8429952441821251512) -->
- <skip />
- <!-- no translation found for add_style (6163126614514489951) -->
- <skip />
- <!-- no translation found for add (8299699805688017798) -->
- <skip />
- <!-- no translation found for remove (4486081658752944606) -->
- <skip />
- <!-- no translation found for save (7646738597196767214) -->
- <skip />
- <!-- no translation found for subtype_locale (8576443440738143764) -->
- <skip />
- <!-- no translation found for keyboard_layout_set (4309233698194565609) -->
- <skip />
- <!-- no translation found for custom_input_style_note_message (8826731320846363423) -->
- <skip />
- <!-- no translation found for enable (5031294444630523247) -->
- <skip />
- <!-- no translation found for not_now (6172462888202790482) -->
- <skip />
- <!-- no translation found for custom_input_style_already_exists (8008728952215449707) -->
- <skip />
- <!-- no translation found for prefs_usability_study_mode (1261130555134595254) -->
- <skip />
- <!-- no translation found for prefs_keypress_vibration_duration_settings (1829950405285211668) -->
- <skip />
- <!-- no translation found for prefs_keypress_sound_volume_settings (5875933757082305040) -->
- <skip />
-</resources>
diff --git a/java/res/values-ko/strings-appname.xml b/java/res/values-ko/strings-appname.xml
deleted file mode 100644
index 3d7db6136..000000000
--- a/java/res/values-ko/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android 키보드"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android 맞춤법 검사기"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android 키보드 설정"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"맞춤법 검사 설정"</string>
-</resources>
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
deleted file mode 100644
index d6d46dddb..000000000
--- a/java/res/values-ko/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android 키보드(AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"입력 옵션"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"로그 명령 탐색"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android 맞춤법 검사기(AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"연락처 이름 조회"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"맞춤법 검사기가 주소록의 항목을 사용합니다."</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"키를 누를 때 진동 발생"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"키를 누를 때 소리 발생"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"키를 누를 때 팝업"</string>
- <string name="general_category" msgid="1859088467017573195">"일반"</string>
- <string name="correction_category" msgid="2236750915056607613">"텍스트 수정"</string>
- <string name="misc_category" msgid="6894192814868233453">"기타 옵션"</string>
- <string name="advanced_settings" msgid="362895144495591463">"고급 설정"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"전문가용 옵션"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"다른 입력 방법으로 전환"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"언어 전환 키가 제공하는 기타 입력 방법"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"언어 전환 키"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"여러 입력 언어를 사용하도록 설정할 때 표시"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"키 팝업 해제 지연"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"지연 없음"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"기본값"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"주소록 이름 활용"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"추천 및 수정에 주소록의 이름 사용"</string>
- <string name="auto_cap" msgid="1719746674854628252">"자동 대문자화"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"사전 추가"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"기본 사전"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"수정 제안 표시"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"글자를 입력하는 동안 추천 단어 표시"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"항상 표시"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"세로 화면일 때만 표시"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"항상 숨기기"</string>
- <string name="auto_correction" msgid="4979925752001319458">"자동 수정"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"스페이스바와 문장부호 키를 사용하면 오타가 자동으로 교정됩니다."</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"사용 안함"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"약"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"중"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"강"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"다음 검색어 추천"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"이전 단어에 기반한 추천"</string>
- <string name="gesture_input" msgid="3310827802759290774">"동작 입력"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"한번에 문자를 그려서 단어 입력"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"동작 흔적 표시"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"동작 단어 표시"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"동작에 따라 단어 미리보기 표시"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: 저장됨"</string>
- <string name="label_go_key" msgid="1635148082137219148">"이동"</string>
- <string name="label_next_key" msgid="362972844525672568">"다음"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"이전"</string>
- <string name="label_done_key" msgid="2441578748772529288">"완료"</string>
- <string name="label_send_key" msgid="2815056534433717444">"전송"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"일시 중지"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"대기"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"비밀번호 키를 음성으로 들으려면 헤드셋을 연결하세요."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"입력한 텍스트: %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"입력한 텍스트 없음"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"키 코드 %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"시프트 키"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift 사용(사용하지 않으려면 탭하세요.)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock 사용(사용하지 않으려면 탭하세요.)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"삭제 키"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"기호"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"문자"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"숫자"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"설정"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"탭"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"스페이스"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"음성 입력"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"웃는 얼굴"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"리턴 키"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"검색"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"점"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"언어 전환"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"다음"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"이전"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift 사용"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock 사용"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift 사용중지"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"기호 모드"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"문자 모드"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"다이얼 모드"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"전화 기호 모드"</string>
- <string name="voice_input" msgid="3583258583521397548">"음성 입력 키"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"기본 키보드"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"기호 키보드"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"사용 안함"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"기본 키보드의 마이크"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"기호 키보드의 마이크"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"음성 입력이 사용 중지됨"</string>
- <string name="configure_input_method" msgid="373356270290742459">"입력 방법 설정"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"입력 언어"</string>
- <string name="select_language" msgid="3693815588777926848">"입력 언어"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"저장하려면 다시 터치"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"사전 사용 가능"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"사용자 의견 사용"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"사용 통계 및 충돌 보고서를 Google에 자동으로 전송하여 입력 방법 편집기의 개선에 도움을 줍니다."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"키보드 테마"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"영어(영국)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"영어(미국)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"영어(영국) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"영어(미국) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"언어가 없음"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"언어가 없음(QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"언어 없음(QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"언어 없음(AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"언어 없음(드보락)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"언어 없음(콜맥)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"언어 없음(PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"맞춤 입력 스타일"</string>
- <string name="add_style" msgid="6163126614514489951">"스타일 추가"</string>
- <string name="add" msgid="8299699805688017798">"추가"</string>
- <string name="remove" msgid="4486081658752944606">"삭제"</string>
- <string name="save" msgid="7646738597196767214">"저장"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"언어"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"레이아웃"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"맞춤 입력 스타일을 사용하려면 사용 설정해야 합니다. 지금 사용 설정하시겠습니까?"</string>
- <string name="enable" msgid="5031294444630523247">"사용"</string>
- <string name="not_now" msgid="6172462888202790482">"나중에"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"같은 입력 스타일이 다음과 같이 이미 존재합니다. <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"가용성 연구 모드"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"키를 누를 때 진동 시간 설정"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"키를 누를 때 효과음 설정"</string>
-</resources>
diff --git a/java/res/values-ky/bools.xml b/java/res/values-ky/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-ky/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-ky/strings.xml b/java/res/values-ky/strings.xml
deleted file mode 100644
index 85925257c..000000000
--- a/java/res/values-ky/strings.xml
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for english_ime_name (7252517407088836577) -->
- <skip />
- <!-- no translation found for aosp_android_keyboard_ime_name (7877134937939182296) -->
- <skip />
- <!-- no translation found for english_ime_settings (6661589557206947774) -->
- <skip />
- <!-- no translation found for english_ime_input_options (3909945612939668554) -->
- <skip />
- <!-- no translation found for spell_checker_service_name (7338064335159755926) -->
- <skip />
- <!-- no translation found for aosp_spell_checker_service_name (6985142605330377819) -->
- <skip />
- <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
- <skip />
- <!-- no translation found for use_contacts_for_spellchecking_option_title (5374120998125353898) -->
- <skip />
- <!-- no translation found for use_contacts_for_spellchecking_option_summary (8754413382543307713) -->
- <skip />
- <!-- no translation found for vibrate_on_keypress (5258079494276955460) -->
- <skip />
- <!-- no translation found for sound_on_keypress (6093592297198243644) -->
- <skip />
- <!-- no translation found for popup_on_keypress (123894815723512944) -->
- <skip />
- <!-- no translation found for general_category (1859088467017573195) -->
- <skip />
- <!-- no translation found for correction_category (2236750915056607613) -->
- <skip />
- <!-- no translation found for misc_category (6894192814868233453) -->
- <skip />
- <!-- no translation found for advanced_settings (362895144495591463) -->
- <skip />
- <!-- no translation found for advanced_settings_summary (4487980456152830271) -->
- <skip />
- <!-- no translation found for include_other_imes_in_language_switch_list (4533689960308565519) -->
- <skip />
- <!-- no translation found for include_other_imes_in_language_switch_list_summary (840637129103317635) -->
- <skip />
- <!-- no translation found for suppress_language_switch_key (8003788410354806368) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_delay (6213164897443068248) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_no_delay (2096123151571458064) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_default_delay (2166964333903906734) -->
- <skip />
- <!-- no translation found for use_contacts_dict (4435317977804180815) -->
- <skip />
- <!-- no translation found for use_contacts_dict_summary (6599983334507879959) -->
- <skip />
- <!-- no translation found for enable_span_insert (7204653105667167620) -->
- <skip />
- <!-- no translation found for enable_span_insert_summary (2947317657871394467) -->
- <skip />
- <!-- no translation found for auto_cap (1719746674854628252) -->
- <skip />
- <!-- no translation found for configure_dictionaries_title (4238652338556902049) -->
- <skip />
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
- <!-- no translation found for prefs_show_suggestions (8026799663445531637) -->
- <skip />
- <!-- no translation found for prefs_show_suggestions_summary (1583132279498502825) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_show_name (3219916594067551303) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_show_only_portrait_name (3551821800439659812) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_hide_name (6309143926422234673) -->
- <skip />
- <!-- no translation found for auto_correction (4979925752001319458) -->
- <skip />
- <!-- no translation found for auto_correction_summary (5625751551134658006) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_off (8470882665417944026) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_modest (8788366690620799097) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_aggeressive (3524029103734923819) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_very_aggeressive (3386782235540547678) -->
- <skip />
- <!-- no translation found for bigram_suggestion (8169311444438922902) -->
- <skip />
- <!-- no translation found for bigram_suggestion_summary (6635527607242625713) -->
- <skip />
- <!-- no translation found for bigram_prediction (3216364899483135294) -->
- <skip />
- <!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
- <skip />
- <!-- no translation found for added_word (8993883354622484372) -->
- <skip />
- <string name="label_go_key" msgid="1635148082137219148">"Баруу"</string>
- <string name="label_next_key" msgid="362972844525672568">"Кийин"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Мурун"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Даяр"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Жибер"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"АБВ"</string>
- <!-- no translation found for label_to_symbol_key (8516904117128967293) -->
- <skip />
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
- <!-- no translation found for label_pause_key (181098308428035340) -->
- <skip />
- <!-- no translation found for label_wait_key (6402152600878093134) -->
- <skip />
- <!-- no translation found for spoken_use_headphones (896961781287283493) -->
- <skip />
- <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
- <skip />
- <!-- no translation found for spoken_no_text_entered (7479685225597344496) -->
- <skip />
- <!-- no translation found for spoken_description_unknown (3197434010402179157) -->
- <skip />
- <!-- no translation found for spoken_description_shift (244197883292549308) -->
- <skip />
- <!-- no translation found for spoken_description_shift_shifted (1681877323344195035) -->
- <skip />
- <!-- no translation found for spoken_description_caps_lock (3276478269526304432) -->
- <skip />
- <!-- no translation found for spoken_description_delete (8740376944276199801) -->
- <skip />
- <!-- no translation found for spoken_description_to_symbol (5486340107500448969) -->
- <skip />
- <!-- no translation found for spoken_description_to_alpha (23129338819771807) -->
- <skip />
- <!-- no translation found for spoken_description_to_numeric (591752092685161732) -->
- <skip />
- <!-- no translation found for spoken_description_settings (4627462689603838099) -->
- <skip />
- <!-- no translation found for spoken_description_tab (2667716002663482248) -->
- <skip />
- <!-- no translation found for spoken_description_space (2582521050049860859) -->
- <skip />
- <!-- no translation found for spoken_description_mic (615536748882611950) -->
- <skip />
- <!-- no translation found for spoken_description_smiley (2256309826200113918) -->
- <skip />
- <!-- no translation found for spoken_description_return (8178083177238315647) -->
- <skip />
- <!-- no translation found for spoken_description_dot (40711082435231673) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_on (5700440798609574589) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_locked (593175803181701830) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_off (657219998449174808) -->
- <skip />
- <!-- no translation found for spoken_description_mode_symbol (7183343879909747642) -->
- <skip />
- <!-- no translation found for spoken_description_mode_alpha (3528307674390156956) -->
- <skip />
- <!-- no translation found for spoken_description_mode_phone (6520207943132026264) -->
- <skip />
- <!-- no translation found for spoken_description_mode_phone_shift (5499629753962641227) -->
- <skip />
- <!-- no translation found for voice_input (3583258583521397548) -->
- <skip />
- <!-- no translation found for voice_input_modes_main_keyboard (3360660341121083174) -->
- <skip />
- <!-- no translation found for voice_input_modes_symbols_keyboard (7203213240786084067) -->
- <skip />
- <!-- no translation found for voice_input_modes_off (3745699748218082014) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_main_keyboard (6586544292900314339) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_symbols_keyboard (5233725927281932391) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_off (63875609591897607) -->
- <skip />
- <!-- no translation found for configure_input_method (373356270290742459) -->
- <skip />
- <!-- no translation found for language_selection_title (1651299598555326750) -->
- <skip />
- <!-- no translation found for select_language (3693815588777926848) -->
- <skip />
- <!-- no translation found for hint_add_to_dictionary (573678656946085380) -->
- <skip />
- <!-- no translation found for has_dictionary (6071847973466625007) -->
- <skip />
- <!-- no translation found for prefs_enable_log (6620424505072963557) -->
- <skip />
- <!-- no translation found for prefs_description_log (5827825607258246003) -->
- <skip />
- <!-- no translation found for keyboard_layout (8451164783510487501) -->
- <skip />
- <!-- no translation found for subtype_en_GB (88170601942311355) -->
- <skip />
- <!-- no translation found for subtype_en_US (6160452336634534239) -->
- <skip />
- <!-- no translation found for subtype_no_language_qwerty (2956121451616633133) -->
- <skip />
- <!-- no translation found for prefs_usability_study_mode (1261130555134595254) -->
- <skip />
- <!-- no translation found for prefs_keypress_vibration_duration_settings (1829950405285211668) -->
- <skip />
- <!-- no translation found for prefs_keypress_sound_volume_settings (5875933757082305040) -->
- <skip />
-</resources>
diff --git a/java/res/values-land/config.xml b/java/res/values-land/config.xml
deleted file mode 100644
index 7d93cc2ff..000000000
--- a/java/res/values-land/config.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <bool name="config_use_fullscreen_mode">true</bool>
-</resources>
diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml
deleted file mode 100644
index c78c25f86..000000000
--- a/java/res/values-land/dimens.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Preferable keyboard height in absolute scale: 1.100in -->
- <!-- This keyboardHeight value should match with keyboard-heights.xml -->
- <dimen name="keyboardHeight">176.0dp</dimen>
- <fraction name="minKeyboardHeight">45%p</fraction>
- <!-- key_height + key_bottom_gap = popup_key_height -->
- <dimen name="popup_key_height">44.8dp</dimen>
-
- <fraction name="keyboard_top_padding">1.818%p</fraction>
- <fraction name="keyboard_bottom_padding">0.0%p</fraction>
- <fraction name="key_bottom_gap">4.330%p</fraction>
- <fraction name="key_horizontal_gap">0.405%p</fraction>
-
- <fraction name="key_bottom_gap_stone">5.010%p</fraction>
- <fraction name="key_horizontal_gap_stone">1.159%p</fraction>
-
- <fraction name="key_bottom_gap_gb">5.941%p</fraction>
- <fraction name="key_horizontal_gap_gb">0.997%p</fraction>
-
- <fraction name="keyboard_top_padding_ics">2.727%p</fraction>
- <fraction name="keyboard_bottom_padding_ics">0.0%p</fraction>
- <fraction name="key_bottom_gap_ics">5.368%p</fraction>
- <fraction name="key_horizontal_gap_ics">1.020%p</fraction>
-
- <!-- left or right padding of label alignment -->
- <dimen name="key_label_horizontal_padding">8dp</dimen>
-
- <fraction name="key_letter_ratio">65%</fraction>
- <fraction name="key_large_letter_ratio">74%</fraction>
- <fraction name="key_label_ratio">40%</fraction>
- <fraction name="key_hint_letter_ratio">30%</fraction>
- <fraction name="key_hint_label_ratio">52%</fraction>
- <fraction name="key_uppercase_letter_ratio">40%</fraction>
- <fraction name="key_preview_text_ratio">90%</fraction>
- <fraction name="spacebar_text_ratio">40.000%</fraction>
- <dimen name="key_preview_offset">0.0dp</dimen>
-
- <!-- For 5-row keyboard -->
- <fraction name="key_bottom_gap_5row">3.20%p</fraction>
- <fraction name="key_letter_ratio_5row">78%</fraction>
- <fraction name="key_uppercase_letter_ratio_5row">48%</fraction>
-
- <dimen name="key_preview_offset_ics">1.6dp</dimen>
- <!-- popup_key_height x -0.5 -->
- <dimen name="more_keys_keyboard_vertical_correction_ics">-22.4dp</dimen>
-
- <dimen name="suggestions_strip_height">36dp</dimen>
- <dimen name="more_suggestions_row_height">36dp</dimen>
- <integer name="max_more_suggestions_row">2</integer>
- <fraction name="min_more_suggestions_width">60%</fraction>
- <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
- <!-- popup_key_height x 1.2 -->
- <dimen name="more_keys_keyboard_slide_allowance">53.76dp</dimen>
- <!-- popup_key_height x -1.0 -->
- <dimen name="more_keys_keyboard_vertical_correction">-44.8dp</dimen>
-
- <!-- Gesture floating preview text parameters -->
- <dimen name="gesture_floating_preview_text_size">23dp</dimen>
- <dimen name="gesture_floating_preview_text_offset">54dp</dimen>
- <dimen name="gesture_floating_preview_horizontal_padding">23dp</dimen>
- <dimen name="gesture_floating_preview_vertical_padding">15dp</dimen>
-</resources>
diff --git a/java/res/values-land/keyboard-heights.xml b/java/res/values-land/keyboard-heights.xml
deleted file mode 100644
index 4ebeda559..000000000
--- a/java/res/values-land/keyboard-heights.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Build.HARDWARE,keyboard_height_in_dp -->
- <string-array name="keyboard_heights" translatable="false">
- <!-- Preferable keyboard height in absolute scale: 1.100in -->
- <!-- Droid -->
- <item>sholes,194.3333</item>
- <!-- Nexus One -->
- <item>mahimahi,186.2667</item>
- <!-- Nexus S -->
- <item>herring,171.9385</item>
- <!-- Galaxy Nexus -->
- <item>tuna,173.4207</item>
- <!-- Preferable keyboard height in absolute scale: 45.0mm -->
- <!-- Xoom -->
- <item>stingray,265.4378</item>
- </string-array>
-</resources>
diff --git a/java/res/values-lt/bools.xml b/java/res/values-lt/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-lt/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-lt/strings-appname.xml b/java/res/values-lt/strings-appname.xml
deleted file mode 100644
index 668d27531..000000000
--- a/java/res/values-lt/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"„Android“ klaviatūra"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"„Android“ rašybos tikrinimo programa"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"„Android“ klaviatūros nustatymai"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Rašybos tikrinimo nustatymai"</string>
-</resources>
diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml
deleted file mode 100644
index 885800937..000000000
--- a/java/res/values-lt/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"„Android“ klaviatūra (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Įvesties parinktys"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Tyrinėti žurnalo komandas"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"„Android“ rašybos tikrinimo programa (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Kontaktų vardų paieška"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Rašybos tikrinimo progr. naudoja įrašus, esančius kontaktų sąraše"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibruoti, kai paspaudžiami klavišai"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Klavišo paspaudimo garsas"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Iššoka paspaudus klavišą"</string>
- <string name="general_category" msgid="1859088467017573195">"Bendra"</string>
- <string name="correction_category" msgid="2236750915056607613">"Teksto taisymas"</string>
- <string name="misc_category" msgid="6894192814868233453">"Kitos parinktys"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Išplėstiniai nustatymai"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Parinktys ekspertams"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Perj. į kt. įvesties būd."</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kalbos perjungimo klavišu taip pat perjungiami įvesties būdai"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Kalbos keitimo klavišas"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Rodyti, kai įgalintos kelios įvesties kalbos"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Pagr. išš. l. atsis. d."</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Be delsos"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Numatytasis"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Siūlyti kontaktų vardus"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Siūlant ir taisant naudoti vardus iš „Kontaktų“"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Automatinis didžiųjų raidžių rašymas"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Papildomi žodynai"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Pagrindinis žodynas"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Rodyti taisymo pasiūlymus"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Įvedant tekstą pateikti siūlomų žodžių"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Visada rodyti"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Rodyti stačiuoju režimu"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Visada slėpti"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Automatinis taisymas"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Tarpo kl. ir skyr. ženkl. aut. išt. neteis. įv. žodž."</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Išjungta"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Vidutinis"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Atkaklus"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Labai agresyviai"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Kito žodžio pasiūlymai"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Pagal ankstesnį žodį"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Įvestis gestais"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Įveskite žodį brėždami jo raides"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Rodyti gestų kelią"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Rodyti gesto žodį"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Rodyti kintantį peržiūros žodį gestu"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: išsaugota"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Pradėti"</string>
- <string name="label_next_key" msgid="362972844525672568">"Kitas"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Anks."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Atlikta"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Siųsti"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Prist."</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Lauk."</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Prijunkite ausines, kad išgirstumėte sakomus slaptažodžio klavišus."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Dabartinis tekstas yra %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nėra įvesto teksto"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Klavišo kodas %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Antrojo lygio klavišas"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Įjungtas antrasis lygis (palieskite, kad išjungtumėte)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Įjungtos didžiosios raidės (palieskite, kad išjungtumėte)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Ištrinti"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simboliai"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Raidės"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Skaičiai"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Nustatymai"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Skirtukas"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Tarpas"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Įvestis balsu"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Šypsenėlė"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Grįžti"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Ieškoti"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Taškas"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Keisti kalbą"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Kitas"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Ankstesnis"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Įgalintas antrasis lygis"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Įgalintos didžiosios raidės"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Antrasis lygis išjungtas"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Simbolių režimas"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Raidžių režimas"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefono režimas"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefono simbolių režimas"</string>
- <string name="voice_input" msgid="3583258583521397548">"Įvesties balsu klavišas"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Pagr. klaviatūroje"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Simbolių klaviatūr."</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Išjungta"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrof. pagr. klav."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrof. simb. klav."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Balso įv. neleidž."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfigūruoti įvesties metodus"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Įvesties kalbos"</string>
- <string name="select_language" msgid="3693815588777926848">"Įvesties kalbos"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Jei norite išsaugoti, palieskite dar kartą"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Žodynas galimas"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Įgalinti naudotojų atsiliepimus"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Padėkite patobulinti šią įvesties metodo redagavimo programą automatiškai „Google“ siųsdami naudojimo statistiką ir strigčių ataskaitas."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Klaviatūros tema"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Anglų k. (JK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Anglų k. (JAV)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Angliška (JK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Angliška (JAV) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Kalbos nėra"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nėra kalbos (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Nėra kalbos (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Nėra kalbos (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Nėra kalbos (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Nėra kalbos (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Nėra kalbos (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Pasirinkti įvesties stilių"</string>
- <string name="add_style" msgid="6163126614514489951">"Prid. stilių"</string>
- <string name="add" msgid="8299699805688017798">"Pridėti"</string>
- <string name="remove" msgid="4486081658752944606">"Pašalinti"</string>
- <string name="save" msgid="7646738597196767214">"Išsaugoti"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Kalba"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Išdėstymas"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Norint pradėti naudoti pasirinkiamą įvesties stilių, reikia jį įgalinti. Ar norite įgalinti jį dabar?"</string>
- <string name="enable" msgid="5031294444630523247">"Įgalinti"</string>
- <string name="not_now" msgid="6172462888202790482">"Ne dabar"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Toks pat įvesties stilius jau yra: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tinkamumo tyrimo režimas"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Vibracijos paspaudus mygtuką trukmės nustatymai"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Garso paspaudus mygtuką garsumo nustatymai"</string>
-</resources>
diff --git a/java/res/values-lv/bools.xml b/java/res/values-lv/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-lv/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-lv/strings-appname.xml b/java/res/values-lv/strings-appname.xml
deleted file mode 100644
index e5657a237..000000000
--- a/java/res/values-lv/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android tastatūra"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android pareizrakstības pārbaudītājs"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android tastatūras iestatījumi"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Pareizrakstības pārbaudes iestatījumi"</string>
-</resources>
diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml
deleted file mode 100644
index 83064535a..000000000
--- a/java/res/values-lv/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android tastatūra (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Ievades opcijas"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Izpētes žurnāla komandas"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android pareizrakstības pārbaudītājs (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Meklēt kontaktp. vārdus"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Pareizrakst. pārbaudītājs lieto ierakstus no kontaktp. saraksta."</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrēt, nospiežot taustiņu"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Skaņa, nospiežot taustiņu"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Nospiežot taustiņu, parādīt uznirstošo izvēlni"</string>
- <string name="general_category" msgid="1859088467017573195">"Vispārīgi"</string>
- <string name="correction_category" msgid="2236750915056607613">"Teksta korekcija"</string>
- <string name="misc_category" msgid="6894192814868233453">"Citas opcijas"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Papildu iestatījumi"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opcijas ekspertiem"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Pārsl. uz citām iev. met."</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Valodas pārslēgš. taustiņu var lietot arī citām ievades metodēm."</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Valodas pārslēgšanas taustiņš"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Parādīt, ja ir iespējotas vairākas ievades valodas"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Taust. uzn. loga noraid. aizk."</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Bez aizkaves"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Noklusējums"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Ieteikt kontaktp. vārdus"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Izmantot kontaktpersonu vārdus kā ieteikumus un labojumus"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Automātiska lielo burtu lietošana"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Papildinājumu vārdnīcas"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Galvenā vārdnīca"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Rādīt labojumu ieteikumus"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Ievades laikā attēlot ieteiktos vārdus"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vienmēr rādīt"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Rādīt portreta režīmā"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Vienmēr slēpt"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Automāt. korekcija"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Atstarpes taustiņš un interpunkcija; automātiska kļūdainu vārdu labošana"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Izslēgta"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mērena"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresīva"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Ļoti radikāla"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Nākamie vārdu ieteikumi"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Pamatojoties uz iepriekšējo vārdu"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Ievade ar žestiem"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Ievadiet vārdu, norādot tā burtus."</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Rādīt žesta pēdas"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Rādīt žesta vārdu"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Rādīt peldošo priekšskatījuma vārdu ar žestu"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: saglabāts"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Sākt"</string>
- <string name="label_next_key" msgid="362972844525672568">"Tālāk"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Iepr."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Gatavs"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Sūtīt"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pauze"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Gaidīt"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Pievienojiet austiņas, lai dzirdētu paroles rakstzīmes."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Pašreizējais teksts ir %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nav ievadīts teksts"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Taustiņu kods %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Pārslēgšanas taustiņš"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Pārslēgšanas taustiņš iespējots (pieskarieties, lai atspējotu)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Burtslēgs iespējots (pieskarieties, lai atspējotu)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Dzēšanas taustiņš"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simboli"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Burti"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Skaitļi"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Iestatījumi"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabulēšanas taustiņš"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Atstarpes taustiņš"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Balss ievade"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smaidoša seja"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Ievadīšanas taustiņš"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Meklēt"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Punkts"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Mainīt valodu"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Nākamā"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Iepriekšējā"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Pārslēgšanas režīms iespējots"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Burtslēgs iespējots"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Pārslēgšanas režīms atspējots"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Simbolu režīms"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Burtu režīms"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Tālruņa režīms"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Tālruņa simbolu režīms"</string>
- <string name="voice_input" msgid="3583258583521397548">"Balss ievades atslēga"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Uz galv. tastatūras"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Uz simbolu tastat."</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Izslēgts"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikr.uz galv.tastat."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikr.uz simb.tastat."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Balss iev. atspējota"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Ievades metožu konfigurēšana"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Ievades valodas"</string>
- <string name="select_language" msgid="3693815588777926848">"Ievades valodas"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Pieskarieties vēlreiz, lai saglabātu."</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Ir pieejama vārdnīca."</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Iespējot lietotāju atsauksmes"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Palīdziet uzlabot šo ievades metodes redaktoru, automātiski nosūtot lietojuma statistiku un pārskatus par avārijām uzņēmumam Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tastatūras motīvs"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Angļu valoda (Lielbritānija)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Angļu valoda (ASV)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Angļu (Lielbritānija) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Angļu (ASV) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Nav valodas"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nav valodas (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Nav valodas (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Nav valodas (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Nav valodas (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Nav valodas (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Nav valodas (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Pielāg. ievades stili"</string>
- <string name="add_style" msgid="6163126614514489951">"Piev. stilu"</string>
- <string name="add" msgid="8299699805688017798">"Pievienot"</string>
- <string name="remove" msgid="4486081658752944606">"Noņemt"</string>
- <string name="save" msgid="7646738597196767214">"Saglabāt"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Valoda"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Izkārtojums"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Lai lietotu pielāgoto stilu, tas ir jāiespējo. Vai iespējot?"</string>
- <string name="enable" msgid="5031294444630523247">"Iespējot"</string>
- <string name="not_now" msgid="6172462888202790482">"Vēlāk"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Šāds ievades stils jau pastāv: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Lietojamības izpētes režīms"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Taustiņu nospiešanas vibrācijas ilguma iestatījumi"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Taustiņu nospiešanas skaņas skaļuma iestatījumi"</string>
-</resources>
diff --git a/java/res/values-mk/bools.xml b/java/res/values-mk/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-mk/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-mk/strings.xml b/java/res/values-mk/strings.xml
deleted file mode 100644
index f0a6dbe14..000000000
--- a/java/res/values-mk/strings.xml
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for aosp_android_keyboard_ime_name (7877134937939182296) -->
- <skip />
- <!-- no translation found for english_ime_input_options (3909945612939668554) -->
- <skip />
- <!-- no translation found for english_ime_research_log (8492602295696577851) -->
- <skip />
- <!-- no translation found for aosp_spell_checker_service_name (6985142605330377819) -->
- <skip />
- <!-- no translation found for use_contacts_for_spellchecking_option_title (5374120998125353898) -->
- <skip />
- <!-- no translation found for use_contacts_for_spellchecking_option_summary (8754413382543307713) -->
- <skip />
- <!-- no translation found for vibrate_on_keypress (5258079494276955460) -->
- <skip />
- <!-- no translation found for sound_on_keypress (6093592297198243644) -->
- <skip />
- <!-- no translation found for popup_on_keypress (123894815723512944) -->
- <skip />
- <!-- no translation found for general_category (1859088467017573195) -->
- <skip />
- <!-- no translation found for correction_category (2236750915056607613) -->
- <skip />
- <!-- no translation found for misc_category (6894192814868233453) -->
- <skip />
- <!-- no translation found for advanced_settings (362895144495591463) -->
- <skip />
- <!-- no translation found for advanced_settings_summary (4487980456152830271) -->
- <skip />
- <!-- no translation found for include_other_imes_in_language_switch_list (4533689960308565519) -->
- <skip />
- <!-- no translation found for include_other_imes_in_language_switch_list_summary (840637129103317635) -->
- <skip />
- <!-- no translation found for show_language_switch_key (5915478828318774384) -->
- <skip />
- <!-- no translation found for show_language_switch_key_summary (7343403647474265713) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_delay (6213164897443068248) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_no_delay (2096123151571458064) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_default_delay (2166964333903906734) -->
- <skip />
- <!-- no translation found for use_contacts_dict (4435317977804180815) -->
- <skip />
- <!-- no translation found for use_contacts_dict_summary (6599983334507879959) -->
- <skip />
- <!-- no translation found for auto_cap (1719746674854628252) -->
- <skip />
- <!-- no translation found for configure_dictionaries_title (4238652338556902049) -->
- <skip />
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
- <!-- no translation found for prefs_show_suggestions (8026799663445531637) -->
- <skip />
- <!-- no translation found for prefs_show_suggestions_summary (1583132279498502825) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_show_name (3219916594067551303) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_show_only_portrait_name (3551821800439659812) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_hide_name (6309143926422234673) -->
- <skip />
- <!-- no translation found for auto_correction (4979925752001319458) -->
- <skip />
- <!-- no translation found for auto_correction_summary (5625751551134658006) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_off (8470882665417944026) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_modest (8788366690620799097) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_aggeressive (3524029103734923819) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_very_aggeressive (3386782235540547678) -->
- <skip />
- <!-- no translation found for bigram_prediction (5809665643352206540) -->
- <skip />
- <!-- no translation found for bigram_prediction_summary (3253961591626441019) -->
- <skip />
- <!-- no translation found for gesture_input (3310827802759290774) -->
- <skip />
- <!-- no translation found for gesture_input_summary (7019742443455085809) -->
- <skip />
- <!-- no translation found for gesture_preview_trail (3802333369335722221) -->
- <skip />
- <!-- no translation found for gesture_floating_preview_text (6859416520117939680) -->
- <skip />
- <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) -->
- <skip />
- <!-- no translation found for added_word (8993883354622484372) -->
- <skip />
- <string name="label_go_key" msgid="1635148082137219148">"Оди"</string>
- <string name="label_next_key" msgid="362972844525672568">"Следно"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Претходно"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Испрати"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"АБВ"</string>
- <!-- no translation found for label_to_symbol_key (8516904117128967293) -->
- <skip />
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
- <!-- no translation found for label_pause_key (181098308428035340) -->
- <skip />
- <!-- no translation found for label_wait_key (6402152600878093134) -->
- <skip />
- <!-- no translation found for spoken_use_headphones (896961781287283493) -->
- <skip />
- <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
- <skip />
- <!-- no translation found for spoken_no_text_entered (7479685225597344496) -->
- <skip />
- <!-- no translation found for spoken_description_unknown (3197434010402179157) -->
- <skip />
- <!-- no translation found for spoken_description_shift (244197883292549308) -->
- <skip />
- <!-- no translation found for spoken_description_shift_shifted (1681877323344195035) -->
- <skip />
- <!-- no translation found for spoken_description_caps_lock (3276478269526304432) -->
- <skip />
- <!-- no translation found for spoken_description_delete (8740376944276199801) -->
- <skip />
- <!-- no translation found for spoken_description_to_symbol (5486340107500448969) -->
- <skip />
- <!-- no translation found for spoken_description_to_alpha (23129338819771807) -->
- <skip />
- <!-- no translation found for spoken_description_to_numeric (591752092685161732) -->
- <skip />
- <!-- no translation found for spoken_description_settings (4627462689603838099) -->
- <skip />
- <!-- no translation found for spoken_description_tab (2667716002663482248) -->
- <skip />
- <!-- no translation found for spoken_description_space (2582521050049860859) -->
- <skip />
- <!-- no translation found for spoken_description_mic (615536748882611950) -->
- <skip />
- <!-- no translation found for spoken_description_smiley (2256309826200113918) -->
- <skip />
- <!-- no translation found for spoken_description_return (8178083177238315647) -->
- <skip />
- <!-- no translation found for spoken_description_search (1247236163755920808) -->
- <skip />
- <!-- no translation found for spoken_description_dot (40711082435231673) -->
- <skip />
- <!-- no translation found for spoken_description_language_switch (5507091328222331316) -->
- <skip />
- <!-- no translation found for spoken_description_action_next (8636078276664150324) -->
- <skip />
- <!-- no translation found for spoken_description_action_previous (800872415009336208) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_on (5700440798609574589) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_locked (593175803181701830) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_off (657219998449174808) -->
- <skip />
- <!-- no translation found for spoken_description_mode_symbol (7183343879909747642) -->
- <skip />
- <!-- no translation found for spoken_description_mode_alpha (3528307674390156956) -->
- <skip />
- <!-- no translation found for spoken_description_mode_phone (6520207943132026264) -->
- <skip />
- <!-- no translation found for spoken_description_mode_phone_shift (5499629753962641227) -->
- <skip />
- <!-- no translation found for voice_input (3583258583521397548) -->
- <skip />
- <!-- no translation found for voice_input_modes_main_keyboard (3360660341121083174) -->
- <skip />
- <!-- no translation found for voice_input_modes_symbols_keyboard (7203213240786084067) -->
- <skip />
- <!-- no translation found for voice_input_modes_off (3745699748218082014) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_main_keyboard (6586544292900314339) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_symbols_keyboard (5233725927281932391) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_off (63875609591897607) -->
- <skip />
- <!-- no translation found for configure_input_method (373356270290742459) -->
- <skip />
- <!-- no translation found for language_selection_title (1651299598555326750) -->
- <skip />
- <!-- no translation found for select_language (3693815588777926848) -->
- <skip />
- <!-- no translation found for hint_add_to_dictionary (573678656946085380) -->
- <skip />
- <!-- no translation found for has_dictionary (6071847973466625007) -->
- <skip />
- <!-- no translation found for prefs_enable_log (6620424505072963557) -->
- <skip />
- <!-- no translation found for prefs_description_log (5827825607258246003) -->
- <skip />
- <!-- no translation found for keyboard_layout (8451164783510487501) -->
- <skip />
- <!-- no translation found for subtype_en_GB (88170601942311355) -->
- <skip />
- <!-- no translation found for subtype_en_US (6160452336634534239) -->
- <skip />
- <!-- no translation found for subtype_with_layout_en_GB (2179097748724725906) -->
- <skip />
- <!-- no translation found for subtype_with_layout_en_US (1362581347576714579) -->
- <skip />
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
- <!-- no translation found for subtype_no_language_qwerty (2956121451616633133) -->
- <skip />
- <!-- no translation found for subtype_no_language_qwertz (1177848172397202890) -->
- <skip />
- <!-- no translation found for subtype_no_language_azerty (8721460968141187394) -->
- <skip />
- <!-- no translation found for subtype_no_language_dvorak (3122976737669823935) -->
- <skip />
- <!-- no translation found for subtype_no_language_colemak (4205992994906097244) -->
- <skip />
- <!-- no translation found for subtype_no_language_pcqwerty (8840928374394180189) -->
- <skip />
- <!-- no translation found for custom_input_styles_title (8429952441821251512) -->
- <skip />
- <!-- no translation found for add_style (6163126614514489951) -->
- <skip />
- <!-- no translation found for add (8299699805688017798) -->
- <skip />
- <!-- no translation found for remove (4486081658752944606) -->
- <skip />
- <!-- no translation found for save (7646738597196767214) -->
- <skip />
- <!-- no translation found for subtype_locale (8576443440738143764) -->
- <skip />
- <!-- no translation found for keyboard_layout_set (4309233698194565609) -->
- <skip />
- <!-- no translation found for custom_input_style_note_message (8826731320846363423) -->
- <skip />
- <!-- no translation found for enable (5031294444630523247) -->
- <skip />
- <!-- no translation found for not_now (6172462888202790482) -->
- <skip />
- <!-- no translation found for custom_input_style_already_exists (8008728952215449707) -->
- <skip />
- <!-- no translation found for prefs_usability_study_mode (1261130555134595254) -->
- <skip />
- <!-- no translation found for prefs_keypress_vibration_duration_settings (1829950405285211668) -->
- <skip />
- <!-- no translation found for prefs_keypress_sound_volume_settings (5875933757082305040) -->
- <skip />
-</resources>
diff --git a/java/res/values-ms/bools.xml b/java/res/values-ms/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-ms/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-ms/strings-appname.xml b/java/res/values-ms/strings-appname.xml
deleted file mode 100644
index 73b553751..000000000
--- a/java/res/values-ms/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Papan kekunci Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Penyemak ejaan Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Tetapan papan kekunci Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Tetapan penyemakan ejaan"</string>
-</resources>
diff --git a/java/res/values-ms/strings.xml b/java/res/values-ms/strings.xml
deleted file mode 100644
index 916919c16..000000000
--- a/java/res/values-ms/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Papan kekunci Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Pilihan input"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Arahan Log Penyelidikan"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Penyemak ejaan Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Cari nama kenalan"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Penyemak ejaan menggunakan entri dari senarai kenalan anda"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Getar pada tekanan kekunci"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Bunyi pada tekanan kekunci"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Pop timbul pada tekanan kunci"</string>
- <string name="general_category" msgid="1859088467017573195">"Umum"</string>
- <string name="correction_category" msgid="2236750915056607613">"Pembetulan teks"</string>
- <string name="misc_category" msgid="6894192814868233453">"Pilihan lain"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Tetapan terperinci"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Pilihan untuk pakar"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Tukar ke kaedah input lain"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kunci pertukaran bahasa meliputi kaedah masukan lain juga"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Kekunci tukar bahasa"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Tunjukkan apabila berbilang bahasa input didayakan"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Pop tmbl knci ketpkn lengah"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Tiada lengah"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Lalai"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Cadangkan nama Kenalan"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Menggunakan nama daripada Kenalan untuk cadangan dan pembetulan"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Huruf besar auto"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Kamus tambahan"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Kamus utama"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Tunjukkan cadangan pembetulan"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Paparkan cadangan perkataan semasa menaip"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Sentiasa tunjukkan"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Tunjukkan pada mod potret"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Sentiasa sembunyikan"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Auto Pembetulan"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Bar ruang dan tanda baca secara automatik membetulkan perkataan yang ditaip salah"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Matikan"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Sederhana"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresif"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Sangat agresif"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Cadangan perkataan seterusnya"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Berdasarkan perkataan sebelumnya"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Input gerak isyarat"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Masukkan perkataan dengan menyurih huruf perkataan itu."</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Tunjukkan jejak gerak isyarat"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Tunjukkan perkataan gerak isyarat"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Tunjukkan perkataan pratonton terapung dengan gerak isyarat"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Disimpan"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Pergi"</string>
- <string name="label_next_key" msgid="362972844525672568">"Seterusnya"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Sblm"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Selesai"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Hantar"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Jeda"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Tnggu"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Pasangkan set kepala untuk mendengar kekunci kata laluan disebut dengan kuat."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Teks semasa adalah %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Tiada teks dimasukkan"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Kod kunci %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Kunci anjak dihidupkan (ketik untuk melumpuhkan)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Kunci huruf besar dihidupkan (ketik untuk melumpuhkan)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Padam"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simbol"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Huruf"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Nombor"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Tetapan"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Space"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Input suara"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Muka senyum"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Carian"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Titik"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Tukar bahasa"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Seterusnya"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Sebelumnya"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Kunci anjak didayakan"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Kunci huruf besar didayakan"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Kunci anjak dilumpuhkan"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Mod simbol"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Mod huruf"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mod telefon"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mod simbol telefon"</string>
- <string name="voice_input" msgid="3583258583521397548">"Kunci input suara"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Hidpkn kekunci utama"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Pd ppn k’unci simbol"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Matikan"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mik. pd kekunci utma"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mik. pd kekunci smbl"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Input suara dilmphkn"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfigurasikan kaedah input"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Bahasa input"</string>
- <string name="select_language" msgid="3693815588777926848">"Bahasa input"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Sentuh lagi untuk menyimpan"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Kamus tersedia"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Dayakan maklum balas pengguna"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Bantu memperbaik editor input ini dengan menghantar statistik penggunaan dan laporan runtuhan kepada Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema papan kekunci"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Bahasa Inggeris (UK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Bahasa Inggeris (AS)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Bahasa Inggeris (UK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Bahasa Inggeris (AS) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Tiada bahasa"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Tiada bahasa (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Tiada bahasa (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Tiada bahasa (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Tiada bahasa (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Tiada bahasa (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Tiada bahasa (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Gaya input peribadi"</string>
- <string name="add_style" msgid="6163126614514489951">"Tambah gaya"</string>
- <string name="add" msgid="8299699805688017798">"Tambah"</string>
- <string name="remove" msgid="4486081658752944606">"Alih keluar"</string>
- <string name="save" msgid="7646738597196767214">"Simpan"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Bahasa"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Reka Letak"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Gaya input tersuai anda perlu didayakan sebelum anda mula menggunakannya. Adakah anda ingin mendayakannya sekarang?"</string>
- <string name="enable" msgid="5031294444630523247">"Dayakan"</string>
- <string name="not_now" msgid="6172462888202790482">"Bukan sekarang"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Gaya input yang sama sudah wujud: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Mod kajian kebolehgunaan"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Tetapan tempoh getaran tekan kekunci"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Tetapan kelantangan bunyi tekanan kekunci"</string>
-</resources>
diff --git a/java/res/values-nb/bools.xml b/java/res/values-nb/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-nb/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-nb/strings-appname.xml b/java/res/values-nb/strings-appname.xml
deleted file mode 100644
index 56c1c3c71..000000000
--- a/java/res/values-nb/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android-tastatur"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android-stavekontroll"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Innstillinger for Android-tastatur"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Innstillinger for stavekontroll"</string>
-</resources>
diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml
deleted file mode 100644
index 3942114ad..000000000
--- a/java/res/values-nb/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-tastatur (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Inndataalternativer"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Kommandoer for undersøkelseslogging"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android-stavekontroll (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Slå opp kontaktnavn"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Stavekontrollen bruker oppføringer fra kontaktlisten din"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrer ved tastetrykk"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Lyd ved tastetrykk"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Hurtigvindu ved tastetrykk"</string>
- <string name="general_category" msgid="1859088467017573195">"Generelt"</string>
- <string name="correction_category" msgid="2236750915056607613">"Tekstkorrigering"</string>
- <string name="misc_category" msgid="6894192814868233453">"Andre alternativer"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Avanserte innstillinger"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Alternativer for eksperter"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Bytt inndatametode"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tasten for språkbytte dekker også andre inndatametoder"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Nøkkel for språkskifte"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Vis når flere inndataspråk er aktivert"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Tregt tastevindu"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"U/ forsinkelse"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Standard"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Foreslå kontaktnavn"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Bruk navn fra Kontakter til forslag og korrigeringer"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Stor forbokstav"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Tilleggsordbøker"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Hovedordliste"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Vis rettingsforslag"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Vis ordforslag under skriving"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vis alltid"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Vis i stående modus"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Skjul alltid"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Automatisk retting"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Mellomromstast og skilletegn retter automat. feilstavede ord"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Av"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderat"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Omfattende"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Veldig aggressiv"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Forslag til neste ord"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Basert på det forrige ordet"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Ordføring"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Angi et ord ved å skrive bokstavene på skjermen med fingeren"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Vis bevegelsesspor"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Vis bevegelsesord"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Vis flytende forhåndsvisningsord under bevegelser"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Lagret"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Utfør"</string>
- <string name="label_next_key" msgid="362972844525672568">"Neste"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Forr."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Utfør"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Send"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Vent"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Koble til hodetelefoner for å høre opplesing av bokstavene i passordet."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Gjeldende tekst er %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Ingen tekst er skrevet inn"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Tastaturkode %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift er på (trykk for å deaktivere)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock er på (trykk for å deaktivere)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Slett"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symboler"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Bokstaver"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Tall"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Innstillinger"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabulator"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Mellomrom"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Taleinndata"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smilefjes"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Søk"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Prikk"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Bytt språk"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Neste"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Forrige"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift er aktivert"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock er aktivert"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift er deaktivert"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Symbolmodus"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Bokstavmodus"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Ringemodus"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Ringemodus med symboler"</string>
- <string name="voice_input" msgid="3583258583521397548">"Tast for taleinndata"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"På hovedtastatur"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"På talltastatur"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Av"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon på hovedtast."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofon på talltastatur"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Taleinndata er deaktiv."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfigurer inndatametoder"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Inndataspråk"</string>
- <string name="select_language" msgid="3693815588777926848">"Inndataspråk"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Trykk på nytt for å lagre"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Ordbok tilgjengelig"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Aktiver brukertilbakemelding"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Ved å sende bruksstatistikk og programstopprapporter til Google automatisk, hjelper du oss med å gjøre redigeringsfunksjonen for denne inndatametoden enda bedre."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tastaturtema"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Engelsk (Storbritannia)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Engelsk (USA)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Engelsk (Storbritannia) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Engelsk (USA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Ingen språk"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Ingen språk (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Ingen språk (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Ingen språk (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Ingen språk (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Ingen språk (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Ingen språk (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Egendefinerte inndata"</string>
- <string name="add_style" msgid="6163126614514489951">"Legg til stil"</string>
- <string name="add" msgid="8299699805688017798">"Legg til"</string>
- <string name="remove" msgid="4486081658752944606">"Fjern"</string>
- <string name="save" msgid="7646738597196767214">"Lagre"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Språk"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Oppsett"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Tilpasset inndatastil må aktiveres før bruk. Vil du aktivere nå?"</string>
- <string name="enable" msgid="5031294444630523247">"Aktiver"</string>
- <string name="not_now" msgid="6172462888202790482">"Ikke nå"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Inndatastilen finnes allerede: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Bruksstudiemodus"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Innstillinger for vibrasjonsvarighet ved tastetrykk"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Innstillinger for lydstyrke ved tastetrykk"</string>
-</resources>
diff --git a/java/res/values-nl/bools.xml b/java/res/values-nl/bools.xml
deleted file mode 100644
index c289e5bf3..000000000
--- a/java/res/values-nl/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-nl/strings-appname.xml b/java/res/values-nl/strings-appname.xml
deleted file mode 100644
index ee288efbb..000000000
--- a/java/res/values-nl/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android-toetsenbord"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Spellingcontrole van Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Instellingen voor Android-toetsenbord"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Instellingen voor spellingcontrole"</string>
-</resources>
diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml
deleted file mode 100644
index e4b5ef6d5..000000000
--- a/java/res/values-nl/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-toetsenbord (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Invoeropties"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Opdrachten in onderzoekslogbestand"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Spellingcontrole van Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Contactnamen opzoeken"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"De spellingcontrole gebruikt items uit uw contactenlijst"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Trillen bij toetsaanslag"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Geluid bij toetsaanslag"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Pop-up bij toetsaanslag"</string>
- <string name="general_category" msgid="1859088467017573195">"Algemeen"</string>
- <string name="correction_category" msgid="2236750915056607613">"Tekstcorrectie"</string>
- <string name="misc_category" msgid="6894192814868233453">"Andere opties"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Geavanceerde instellingen"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opties voor experts"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Invoermeth. overschakelen"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Schakelknop voor taal ook van toepassing op andere invoermethoden"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Schakelknop voor taal"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Weergeven wanneer meerdere invoertalen zijn geselecteerd"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Afwijz.vertr. toetspop-up"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Geen vertraging"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Standaard"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Contactnamen suggereren"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Namen uit Contacten gebruiken voor suggesties en correcties"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Auto-hoofdlettergebruik"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Woordenboeken toevoegen"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Algemeen woordenboek"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Correctievoorstellen weergeven"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Voorgestelde woorden weergeven tijdens typen"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Altijd weergeven"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Weergeven in staande modus"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Altijd verbergen"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Autocorrectie"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Met spatiebalk en interpunctie worden verkeerd gespelde woorden automatisch gecorrigeerd"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Uitgeschakeld"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Normaal"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agressief"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Zeer agressief"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Suggesties voor volgend woord"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Op basis van het vorige woord"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Invoer met bewegingen"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Voer een woord in door de letters van een woord te volgen"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Gebarenspoor weergeven"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Woord met gebaar weergeven"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Zwevend voorbeeldwoord met gebaar weergeven"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: opgeslagen"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Start"</string>
- <string name="label_next_key" msgid="362972844525672568">"Verder"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Vorig"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Gereed"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Zenden"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pauze"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Wacht"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Sluit een headset aan om wachtwoordtoetsen hardop te laten voorlezen."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Huidige tekst is %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Geen tekst ingevoerd"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Toetscode %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift aan (tik om uit te schakelen)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock aan (tik om uit te schakelen)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Verwijderen"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symbolen"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Letters"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Cijfers"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Instellingen"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Spatie"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Spraakinvoer"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smiley-gezichtje"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Zoeken"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Stip"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Taal wijzigen"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Volgende"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Vorige"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift ingeschakeld"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock ingeschakeld"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift uitgeschakeld"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Symbolen"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Alfanumeriek toetsenbord"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Toetsenbord telefoon"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefoonsymbolen"</string>
- <string name="voice_input" msgid="3583258583521397548">"Sleutel voor spraakinvoer"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Op hoofdtoetsenbord"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Op symbooltoetsenb."</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Uitgeschakeld"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic op hoofdtoetsb."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic op symb.toetsb."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Spraakinvoer is uit"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Invoermethoden configureren"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Invoertalen"</string>
- <string name="select_language" msgid="3693815588777926848">"Invoertalen"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Raak nogmaals aan om op te slaan"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Woordenboek beschikbaar"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Gebruikersfeedback inschakelen."</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Help deze invoermethode te verbeteren door automatisch gebruiksstatistieken en crashmeldingen naar Google te verzenden."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Toetsenbordthema"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Engels (GB)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Engels (VS)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Engels (VK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Engels (VS) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Geen taal"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Geen taal (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Geen taal (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Geen taal (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Geen taal (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Geen taal (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Geen taal (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Aangep. invoerstijlen"</string>
- <string name="add_style" msgid="6163126614514489951">"Stijl toev."</string>
- <string name="add" msgid="8299699805688017798">"Toevoegen"</string>
- <string name="remove" msgid="4486081658752944606">"Verwijderen"</string>
- <string name="save" msgid="7646738597196767214">"Opslaan"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Taal"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Lay-out"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"U moet uw aangepaste invoerstijl inschakelen voor u deze kunt gebruiken. Wilt u de invoerstijl nu inschakelen?"</string>
- <string name="enable" msgid="5031294444630523247">"Inschakelen"</string>
- <string name="not_now" msgid="6172462888202790482">"Niet nu"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Dezelfde invoerstijl bestaat al: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modus voor gebruiksvriendelijkheidsonderzoek"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Instellingen voor trillingsduur bij druk op een toets"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Instellingen voor geluidsvolume bij druk op een toets"</string>
-</resources>
diff --git a/java/res/values-pl/bools.xml b/java/res/values-pl/bools.xml
deleted file mode 100644
index c289e5bf3..000000000
--- a/java/res/values-pl/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-pl/strings-appname.xml b/java/res/values-pl/strings-appname.xml
deleted file mode 100644
index e460644a3..000000000
--- a/java/res/values-pl/strings-appname.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Klawiatura Android"</string>
- <!-- no translation found for spell_checker_service_name (6268342166872202903) -->
- <skip />
- <!-- no translation found for english_ime_settings (7470027018752707691) -->
- <skip />
- <!-- no translation found for android_spell_checker_settings (8397842018475560441) -->
- <skip />
-</resources>
diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml
deleted file mode 100644
index 44a40fda2..000000000
--- a/java/res/values-pl/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Klawiatura Androida (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Opcje wprowadzania"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Polecenia dziennika badań"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Sprawdzanie pisowni na Androidzie (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Przeszukaj kontakty"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Sprawdzanie pisowni bierze pod uwagę wpisy z listy kontaktów."</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Wibracja przy naciśnięciu"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Dźwięk przy naciśnięciu"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Powiększ po naciśnięciu"</string>
- <string name="general_category" msgid="1859088467017573195">"Ogólne"</string>
- <string name="correction_category" msgid="2236750915056607613">"Poprawianie tekstu"</string>
- <string name="misc_category" msgid="6894192814868233453">"Inne opcje"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Ustawienia zaawansowane"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opcje dla ekspertów"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Włącz inne metody wprowadzania"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Klawisz zmiany języka obejmuje też inne metody wprowadzania"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Klawisz zmiany języka"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Pokaż, gdy włączonych jest kilka języków wprowadzania"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Opóźnienie znikania klawiszy"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Bez opóźnienia"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Wartość domyślna"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Proponuj osoby z kontaktów"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"W propozycjach i poprawkach użyj nazwisk z kontaktów"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Wstawiaj wielkie litery"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Dodatkowe słowniki"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Słownik główny"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Pokazuj propozycje poprawek"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Wyświetl proponowane słowa podczas wpisywania"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Zawsze pokazuj"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Pokaż w trybie pionowym"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Zawsze ukrywaj"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Autokorekta"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Spacja i znaki przestankowe poprawiają błędnie wpisane słowa"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Wyłącz"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Umiarkowana"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresywna"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Bardzo agresywna"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Sugestie kolejnych słów"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Na podstawie poprzedniego słowa"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Pisanie gestem"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Podaj słowo, pisząc litery palcem"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Pokazuj ślad gestu"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Podpowiadaj przy pisaniu gestem"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Pokazuj pływający podgląd słowa podczas pisania gestem"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Zapisano"</string>
- <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
- <string name="label_next_key" msgid="362972844525672568">"Dalej"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Wstecz"</string>
- <string name="label_done_key" msgid="2441578748772529288">"OK"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Wyślij"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Czekaj"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Podłącz zestaw słuchawkowy, aby usłyszeć znaki hasła wypowiadane na głos."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Aktualny tekst: %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nie wprowadzono tekstu"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Kod klawisza: %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift włączony (kliknij, by wyłączyć)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock włączony (kliknij, by wyłączyć)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Usuń"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symbole"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Litery"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Liczby"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Ustawienia"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Spacja"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Rozpoznawanie mowy"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Uśmiechnięta buźka"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Szukaj"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Punkt"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Przełącz język"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Dalej"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Wstecz"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift włączony"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock włączony"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift wyłączony"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Tryb symboli"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Tryb liter"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Tryb telefonu"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Tryb symboli telefonu"</string>
- <string name="voice_input" msgid="3583258583521397548">"Klawisz rozpoznawania mowy"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Na klawiaturze głównej"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Na klawiaturze z symbolami"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Wyłącz"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofon na klawiaturze głównej"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofon na klawiaturze z symbolami"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Rozpoznawanie mowy jest wyłączone"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfiguruj metody wprowadzania"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Języki wprowadzania"</string>
- <string name="select_language" msgid="3693815588777926848">"Języki wprowadzania"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Dotknij ponownie, aby zapisać"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Słownik dostępny"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Włącz przesyłanie opinii użytkownika"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Pomóż ulepszyć edytor wprowadzania tekstu, automatycznie wysyłając do Google statystyki użycia i raporty o awariach."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Motyw klawiatury"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Angielska (Wielka Brytania)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Angielska (Stany Zjednoczone)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"angielski (UK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"angielski (USA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Brak języka"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Brak języka (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Brak języka (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Brak języka (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Brak języka (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Brak języka (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Brak języka (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Style niestandardowe"</string>
- <string name="add_style" msgid="6163126614514489951">"Dodaj styl"</string>
- <string name="add" msgid="8299699805688017798">"Dodaj"</string>
- <string name="remove" msgid="4486081658752944606">"Usuń"</string>
- <string name="save" msgid="7646738597196767214">"Zapisz"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Język"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Układ"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Niestandardowy styl wprowadzania trzeba przed użyciem włączyć. Zrobić to teraz?"</string>
- <string name="enable" msgid="5031294444630523247">"Włącz"</string>
- <string name="not_now" msgid="6172462888202790482">"Nie teraz"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Taki styl wprowadzania już istnieje: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tryb badania przydatności"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Czas trwania wibracji przy naciśnięciu"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Głośność dźwięku przy naciśnięciu"</string>
-</resources>
diff --git a/java/res/values-pt-rPT/strings-appname.xml b/java/res/values-pt-rPT/strings-appname.xml
deleted file mode 100644
index 1b88acb69..000000000
--- a/java/res/values-pt-rPT/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Teclado do Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Verificador ortográfico do Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Definições de teclado do Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Definições da verificação ortográfica"</string>
-</resources>
diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml
deleted file mode 100644
index e16a07479..000000000
--- a/java/res/values-pt-rPT/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclado Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Opções de introdução"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Comandos de Reg. Invest."</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Verificador ortográfico do Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Procurar nomes de contac."</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"O corretor ortográfico utiliza entradas da sua lista de contactos"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar ao primir as teclas"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Som ao premir as teclas"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Mostrar popup ao premir tecla"</string>
- <string name="general_category" msgid="1859088467017573195">"Geral"</string>
- <string name="correction_category" msgid="2236750915056607613">"Correção de texto"</string>
- <string name="misc_category" msgid="6894192814868233453">"Outras opções"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Definições avançadas"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opções para especialistas"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Mudar p/ outros mét. ent."</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A tecla de mudança de idioma abrange outros métodos de entrada"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla alterar idioma"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Mostrar quando estão ativados vários idiomas de entrada"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Atraso p/ ignorar pop-up"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Sem atraso"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Predefinido"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Sugerir nomes de Contactos"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilizar nomes dos Contactos para sugestões e correções"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Letras maiúsculas automáticas"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Dicionários extras"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Dicionário principal"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Mostrar sugestões de correcção"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Apresentar sugestões de palavras ao escrever"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar sempre"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostrar no modo de retrato"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Ocultar sempre"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Auto correcção"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Correcção automática de palavras mal escritas c/ barra de espaços e pontuação"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desligar"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderada"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agressiva"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Muito agressivo"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Sugestões da palavra seguinte"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Com base na palavra anterior"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Introd. por gestos"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Introduza uma palavra, desenhando as letras de uma palavra"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar percurso do gesto"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostrar palavra do gesto"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostrar visualização flutuante da palavra com gesto"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string>
- <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
- <string name="label_next_key" msgid="362972844525672568">"Avançar"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Ant."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Feito"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Esp."</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Ligar auscultadores com microfone integrado para ouvir as teclas da palavra-passe."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"O texto atual é %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nenhum texto digitado"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Código da tecla %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift ativado (tocar para desativar)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock ativado (tocar para desativar)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Símbolos"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Letras"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Números"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Definições"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Espaço"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Entrada de voz"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Cara sorridente"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Pesquisar"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Ponto"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Mudar de idioma"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Seguinte"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Anterior"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift ativado"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock ativado"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift desativado"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Modo de símbolos"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Modo de letras"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Modo de telemóvel"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Modo de símbolos de telemóvel"</string>
- <string name="voice_input" msgid="3583258583521397548">"Chave de entrada de voz"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"No teclado principal"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"No teclado símbolos"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Desligar"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic. tecl. principal"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic. tecl. símbolos"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entr. voz desact."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de introdução"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomas de introdução"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Toque novamente para guardar"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Dicionário disponível"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Activar comentários do utilizador"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Envie automaticamente estatísticas de utilização e relatórios de falhas para a Google e ajude-nos a melhorar este editor de método de introdução."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema do teclado"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Inglês (RU)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Inglês (EUA)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Inglês (RU) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Inglês (EUA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Nenhum idioma"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nenhum idioma (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Nenhum idioma (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Nenhum idioma (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Nenhum idioma (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Nenh. idioma (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Nenhum idioma (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Estilos entrada pers."</string>
- <string name="add_style" msgid="6163126614514489951">"Adic. estilo"</string>
- <string name="add" msgid="8299699805688017798">"Adicionar"</string>
- <string name="remove" msgid="4486081658752944606">"Remover"</string>
- <string name="save" msgid="7646738597196767214">"Guardar"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Esquema"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Tem de ativar o estilo de introdução personalizado antes de o usar. Quer ativar?"</string>
- <string name="enable" msgid="5031294444630523247">"Ativar"</string>
- <string name="not_now" msgid="6172462888202790482">"Agora não"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Já existe o mesmo estilo de introdução: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudo da capacidade de utilização"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Definições de duração da vibração ao premir as teclas"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Definições de volume de som ao premir as teclas"</string>
-</resources>
diff --git a/java/res/values-pt/bools.xml b/java/res/values-pt/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-pt/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-pt/strings-appname.xml b/java/res/values-pt/strings-appname.xml
deleted file mode 100644
index d78786d63..000000000
--- a/java/res/values-pt/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Teclado do Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Corretor ortográfico do Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Configurações de teclado do Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Configurações de verificação ortográfica"</string>
-</resources>
diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml
deleted file mode 100644
index a637f99a6..000000000
--- a/java/res/values-pt/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclado Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Opções de entrada"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Pesq. comandos de reg."</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Corretor ortográfico do Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Buscar nomes de contatos"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"O corretor ortográfico usa entradas de sua lista de contatos"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar ao tocar a tecla"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Som ao tocar a tecla"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Exibir pop-up ao digitar"</string>
- <string name="general_category" msgid="1859088467017573195">"Geral"</string>
- <string name="correction_category" msgid="2236750915056607613">"Correção de texto"</string>
- <string name="misc_category" msgid="6894192814868233453">"Outras opções"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Configurações avançadas"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opções para especialistas"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Outros métodos de entrada"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A tecla p/ mudar o idioma também cobre outros métodos de entrada"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de seleção de idioma"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Mostrar quando vários idiomas de entrada estiverem ativados"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Dispens. atraso chave princ."</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Sem atraso"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Padrão"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Sugerir nomes de contato"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Usar nomes dos Contatos para sugestões e correções"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Capitaliz. automática"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Dicionários complementares"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Dicionário principal"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Exibir sugestões de correção"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Exibir sugestões de palavras durante a digitação"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar sempre"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostrar em modo retrato"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Sempre ocultar"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Autocorreção"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"A barra de espaço e a pontuação corrigem automaticamente palavras com erro de digitação"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desativado"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderado"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agressivo"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Muito agressivo"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Sugestões para a palavra seguinte"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Com base na palavra anterior"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Entrada por gestos"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Introduza uma palavra traçando suas letras"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar percurso do gesto"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostrar palavra do gesto"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostrar visualização flutuante da palavra com gesto"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Salvo"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
- <string name="label_next_key" msgid="362972844525672568">"Avançar"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Volt."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Feito"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Esp."</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Conecte um fone de ouvido para ouvir as chaves de senha em voz alta."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"O texto atual é %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nenhum texto digitado"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Código de tecla %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift ativado (toque para desativar)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock ativado (toque para desativar)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Excluir"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Símbolos"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Letras"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Números"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Configurações"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Espaço"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Entrada de voz"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Carinha sorridente"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Voltar"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Pesquisar"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Ponto"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Alterar idioma"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Próximo"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Anterior"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift ativado"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock ativado"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift desativado"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Modo de símbolos"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Modo de cartas"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Modo de telefone"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Modo de símbolos de telefone"</string>
- <string name="voice_input" msgid="3583258583521397548">"Chave de entrada de texto por voz"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"No teclado principal"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"No teclado de símb."</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Desativado"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic. no teclado"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic. no teclado"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Texto por voz desat."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomas de entrada"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Toque novamente para salvar"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Dicionário disponível"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Ativar comentário do usuário"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Ajude a melhorar este editor de método de entrada enviando automaticamente ao Google estatísticas de uso e relatórios de falhas."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema do teclado"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Inglês (Reino Unido)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Inglês (EUA)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Inglês (Reino Unido) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Inglês (EUA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Sem idioma"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nenhum idioma (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Nenhum idioma (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Nenhum idioma (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Nenhum idioma (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Nenhum idioma (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Nenhum idioma (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Estilos personalizados"</string>
- <string name="add_style" msgid="6163126614514489951">"Adic. estilo"</string>
- <string name="add" msgid="8299699805688017798">"Adicionar"</string>
- <string name="remove" msgid="4486081658752944606">"Remover"</string>
- <string name="save" msgid="7646738597196767214">"Salvar"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Deseja ativar e usar o estilo de entrada personalizado?"</string>
- <string name="enable" msgid="5031294444630523247">"Ativar"</string>
- <string name="not_now" msgid="6172462888202790482">"Agora não"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"O estilo de entrada já existe: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudo de utilização"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Configurações de duração da vibração ao tocar a tecla"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Config. volume ao tocar a tecla"</string>
-</resources>
diff --git a/java/res/values-rm/strings.xml b/java/res/values-rm/strings.xml
deleted file mode 100644
index 84400a4b0..000000000
--- a/java/res/values-rm/strings.xml
+++ /dev/null
@@ -1,258 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- no translation found for aosp_android_keyboard_ime_name (7877134937939182296) -->
- <skip />
- <!-- no translation found for english_ime_input_options (3909945612939668554) -->
- <skip />
- <!-- no translation found for english_ime_research_log (8492602295696577851) -->
- <skip />
- <!-- no translation found for aosp_spell_checker_service_name (6985142605330377819) -->
- <skip />
- <!-- no translation found for use_contacts_for_spellchecking_option_title (5374120998125353898) -->
- <skip />
- <!-- no translation found for use_contacts_for_spellchecking_option_summary (8754413382543307713) -->
- <skip />
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar cun smatgar in buttun"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Tun cun smatgar in buttun"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Pop-up cun smatgar ina tasta"</string>
- <!-- no translation found for general_category (1859088467017573195) -->
- <skip />
- <!-- no translation found for correction_category (2236750915056607613) -->
- <skip />
- <!-- no translation found for misc_category (6894192814868233453) -->
- <skip />
- <!-- no translation found for advanced_settings (362895144495591463) -->
- <skip />
- <!-- no translation found for advanced_settings_summary (4487980456152830271) -->
- <skip />
- <!-- no translation found for include_other_imes_in_language_switch_list (4533689960308565519) -->
- <skip />
- <!-- no translation found for include_other_imes_in_language_switch_list_summary (840637129103317635) -->
- <skip />
- <!-- no translation found for show_language_switch_key (5915478828318774384) -->
- <skip />
- <!-- no translation found for show_language_switch_key_summary (7343403647474265713) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_delay (6213164897443068248) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_no_delay (2096123151571458064) -->
- <skip />
- <!-- no translation found for key_preview_popup_dismiss_default_delay (2166964333903906734) -->
- <skip />
- <!-- no translation found for use_contacts_dict (4435317977804180815) -->
- <skip />
- <!-- no translation found for use_contacts_dict_summary (6599983334507879959) -->
- <skip />
- <string name="auto_cap" msgid="1719746674854628252">"Maiusclas automaticas"</string>
- <!-- no translation found for configure_dictionaries_title (4238652338556902049) -->
- <skip />
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
- <!-- no translation found for prefs_show_suggestions (8026799663445531637) -->
- <skip />
- <!-- no translation found for prefs_show_suggestions_summary (1583132279498502825) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_show_name (3219916594067551303) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_show_only_portrait_name (3551821800439659812) -->
- <skip />
- <!-- no translation found for prefs_suggestion_visibility_hide_name (6309143926422234673) -->
- <skip />
- <!-- no translation found for auto_correction (4979925752001319458) -->
- <skip />
- <!-- no translation found for auto_correction_summary (5625751551134658006) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_off (8470882665417944026) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_modest (8788366690620799097) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_aggeressive (3524029103734923819) -->
- <skip />
- <!-- no translation found for auto_correction_threshold_mode_very_aggeressive (3386782235540547678) -->
- <skip />
- <!-- no translation found for bigram_prediction (5809665643352206540) -->
- <skip />
- <!-- no translation found for bigram_prediction_summary (3253961591626441019) -->
- <skip />
- <!-- no translation found for gesture_input (3310827802759290774) -->
- <skip />
- <!-- no translation found for gesture_input_summary (7019742443455085809) -->
- <skip />
- <!-- no translation found for gesture_preview_trail (3802333369335722221) -->
- <skip />
- <!-- no translation found for gesture_floating_preview_text (6859416520117939680) -->
- <skip />
- <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) -->
- <skip />
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Memorisà"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Dai"</string>
- <string name="label_next_key" msgid="362972844525672568">"Vinavant"</string>
- <!-- no translation found for label_previous_key (1211868118071386787) -->
- <skip />
- <string name="label_done_key" msgid="2441578748772529288">"Finì"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Trametter"</string>
- <!-- no translation found for label_to_alpha_key (4793983863798817523) -->
- <skip />
- <!-- no translation found for label_to_symbol_key (8516904117128967293) -->
- <skip />
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
- <!-- no translation found for label_pause_key (181098308428035340) -->
- <skip />
- <!-- no translation found for label_wait_key (6402152600878093134) -->
- <skip />
- <!-- no translation found for spoken_use_headphones (896961781287283493) -->
- <skip />
- <!-- no translation found for spoken_current_text_is (2485723011272583845) -->
- <skip />
- <!-- no translation found for spoken_no_text_entered (7479685225597344496) -->
- <skip />
- <!-- no translation found for spoken_description_unknown (3197434010402179157) -->
- <skip />
- <!-- no translation found for spoken_description_shift (244197883292549308) -->
- <skip />
- <!-- no translation found for spoken_description_shift_shifted (1681877323344195035) -->
- <skip />
- <!-- no translation found for spoken_description_caps_lock (3276478269526304432) -->
- <skip />
- <!-- no translation found for spoken_description_delete (8740376944276199801) -->
- <skip />
- <!-- no translation found for spoken_description_to_symbol (5486340107500448969) -->
- <skip />
- <!-- no translation found for spoken_description_to_alpha (23129338819771807) -->
- <skip />
- <!-- no translation found for spoken_description_to_numeric (591752092685161732) -->
- <skip />
- <!-- no translation found for spoken_description_settings (4627462689603838099) -->
- <skip />
- <!-- no translation found for spoken_description_tab (2667716002663482248) -->
- <skip />
- <!-- no translation found for spoken_description_space (2582521050049860859) -->
- <skip />
- <!-- no translation found for spoken_description_mic (615536748882611950) -->
- <skip />
- <!-- no translation found for spoken_description_smiley (2256309826200113918) -->
- <skip />
- <!-- no translation found for spoken_description_return (8178083177238315647) -->
- <skip />
- <!-- no translation found for spoken_description_search (1247236163755920808) -->
- <skip />
- <!-- no translation found for spoken_description_dot (40711082435231673) -->
- <skip />
- <!-- no translation found for spoken_description_language_switch (5507091328222331316) -->
- <skip />
- <!-- no translation found for spoken_description_action_next (8636078276664150324) -->
- <skip />
- <!-- no translation found for spoken_description_action_previous (800872415009336208) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_on (5700440798609574589) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_locked (593175803181701830) -->
- <skip />
- <!-- no translation found for spoken_description_shiftmode_off (657219998449174808) -->
- <skip />
- <!-- no translation found for spoken_description_mode_symbol (7183343879909747642) -->
- <skip />
- <!-- no translation found for spoken_description_mode_alpha (3528307674390156956) -->
- <skip />
- <!-- no translation found for spoken_description_mode_phone (6520207943132026264) -->
- <skip />
- <!-- no translation found for spoken_description_mode_phone_shift (5499629753962641227) -->
- <skip />
- <!-- no translation found for voice_input (3583258583521397548) -->
- <skip />
- <!-- no translation found for voice_input_modes_main_keyboard (3360660341121083174) -->
- <skip />
- <!-- no translation found for voice_input_modes_symbols_keyboard (7203213240786084067) -->
- <skip />
- <!-- no translation found for voice_input_modes_off (3745699748218082014) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_main_keyboard (6586544292900314339) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_symbols_keyboard (5233725927281932391) -->
- <skip />
- <!-- no translation found for voice_input_modes_summary_off (63875609591897607) -->
- <skip />
- <!-- no translation found for configure_input_method (373356270290742459) -->
- <skip />
- <string name="language_selection_title" msgid="1651299598555326750">"Linguas da cumonds vocals"</string>
- <!-- no translation found for select_language (3693815588777926848) -->
- <skip />
- <!-- no translation found for hint_add_to_dictionary (573678656946085380) -->
- <skip />
- <string name="has_dictionary" msgid="6071847973466625007">"Dicziunari disponibel"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Activar il feedback da l\'utilisader"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Gidai a meglierar quest editur da la metoda d\'endataziun cun trametter automaticamain datas statisticas davart l\'utilisaziun e rapports da collaps a Google."</string>
- <!-- no translation found for keyboard_layout (8451164783510487501) -->
- <skip />
- <!-- no translation found for subtype_en_GB (88170601942311355) -->
- <skip />
- <!-- no translation found for subtype_en_US (6160452336634534239) -->
- <skip />
- <!-- no translation found for subtype_with_layout_en_GB (2179097748724725906) -->
- <skip />
- <!-- no translation found for subtype_with_layout_en_US (1362581347576714579) -->
- <skip />
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
- <!-- no translation found for subtype_no_language_qwerty (2956121451616633133) -->
- <skip />
- <!-- no translation found for subtype_no_language_qwertz (1177848172397202890) -->
- <skip />
- <!-- no translation found for subtype_no_language_azerty (8721460968141187394) -->
- <skip />
- <!-- no translation found for subtype_no_language_dvorak (3122976737669823935) -->
- <skip />
- <!-- no translation found for subtype_no_language_colemak (4205992994906097244) -->
- <skip />
- <!-- no translation found for subtype_no_language_pcqwerty (8840928374394180189) -->
- <skip />
- <!-- no translation found for custom_input_styles_title (8429952441821251512) -->
- <skip />
- <!-- no translation found for add_style (6163126614514489951) -->
- <skip />
- <!-- no translation found for add (8299699805688017798) -->
- <skip />
- <!-- no translation found for remove (4486081658752944606) -->
- <skip />
- <!-- no translation found for save (7646738597196767214) -->
- <skip />
- <!-- no translation found for subtype_locale (8576443440738143764) -->
- <skip />
- <!-- no translation found for keyboard_layout_set (4309233698194565609) -->
- <skip />
- <!-- no translation found for custom_input_style_note_message (8826731320846363423) -->
- <skip />
- <!-- no translation found for enable (5031294444630523247) -->
- <skip />
- <!-- no translation found for not_now (6172462888202790482) -->
- <skip />
- <!-- no translation found for custom_input_style_already_exists (8008728952215449707) -->
- <skip />
- <!-- no translation found for prefs_usability_study_mode (1261130555134595254) -->
- <skip />
- <!-- no translation found for prefs_keypress_vibration_duration_settings (1829950405285211668) -->
- <skip />
- <!-- no translation found for prefs_keypress_sound_volume_settings (5875933757082305040) -->
- <skip />
-</resources>
diff --git a/java/res/values-ro/bools.xml b/java/res/values-ro/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-ro/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-ro/strings-appname.xml b/java/res/values-ro/strings-appname.xml
deleted file mode 100644
index dfa642204..000000000
--- a/java/res/values-ro/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Tastatură Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Verificator ortografic Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Setările tastaturii Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Setările de verificare ortografică"</string>
-</resources>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
deleted file mode 100644
index e369c059f..000000000
--- a/java/res/values-ro/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Tastatură Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Opţiuni de introducere text"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Comenzi jurnal cercetare"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Verificator ortografic Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Verificare nume în agendă"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Verificatorul ortografic utilizează intrări din lista de contacte"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrare la apăsarea tastei"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Sunet la apăsarea tastei"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Fereastră pop-up la apăsarea tastei"</string>
- <string name="general_category" msgid="1859088467017573195">"General"</string>
- <string name="correction_category" msgid="2236750915056607613">"Corectare text"</string>
- <string name="misc_category" msgid="6894192814868233453">"Alte opţiuni"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Setări avansate"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Opţiuni pentru experţi"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Comut. alte metode de introd."</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tasta de comutare între limbi include şi alte metode de introd."</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tastă comutare limbi"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Afişaţi când sunt activate mai multe limbi de intrare"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Înt. înch. pop-up esenţ."</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Fără întârziere"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Prestabilit"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Sugeraţi nume din Agendă"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilizaţi numele din Agendă pentru sugestii şi corecţii"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Auto-capitalizare"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Dicţionare suplimentare"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Dicţionar principal"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Afişaţi sugestii de corectare"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Afişaţi sugestii de cuvinte în timpul introducerii textului"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Afişaţi întotdeauna"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Afişaţi în modul Portret"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Ascundeţi întotdeauna"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Autocorecţie"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Corectare automată cuvinte prin bară spaţiu/semne punctuaţie"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Dezactivată"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderată"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresivă"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Foarte exigentă"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Sugestii pentru cuvântul următor"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Bazate pe cuvântul precedent"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Tastare gestuală"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Introduceţi un cuvânt desenând literele acestuia"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Se afişează urma gestului"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Afișează cuvântul sugerat prin tastare gestuală"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Se afișează cuvântul sugerat prin tastarea gestuală"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: salvat"</string>
- <string name="label_go_key" msgid="1635148082137219148">"OK"</string>
- <string name="label_next_key" msgid="362972844525672568">"Înainte"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Înapoi"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Terminat"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Trimiteţi"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pauză"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Aşt."</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Conectaţi un set căşti-microfon pentru a auzi tastele apăsate când introduceţi parola."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Textul curent este %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nu a fost introdus text"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Tasta cu codul %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Tasta Shift este activată (apăsaţi pentru a o dezactiva)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Tasta Caps Lock este activată (apăsaţi pentru a o dezactiva)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simboluri"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Litere"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Cifre"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Setări"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Spaţiu"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Intrare vocală"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Faţă zâmbitoare"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Căutaţi"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Punct"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Schimbaţi limba"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Înainte"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Înapoi"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Tasta Shift a fost activată"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Tasta Caps Lock a fost activată"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Tasta Shift a fost dezactivată"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Modul Simboluri"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Modul Alfanumeric"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Modul Telefon"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Modul Telefon cu simboluri"</string>
- <string name="voice_input" msgid="3583258583521397548">"Tastă pentru intrarea vocală"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Pe tastat. princip."</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Pe tastat. simbol."</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Dezactivată"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic. pe tast. princ."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micr. pe tast. simb."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Intr. vocală dezact."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Configuraţi metodele de intrare"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Selectaţi limba"</string>
- <string name="select_language" msgid="3693815588777926848">"Limbi de intrare"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Atingeţi din nou pentru a salva"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Dicţionar disponibil"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Activaţi feedback de la utilizatori"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Ajutaţi la îmbunătăţirea acestui instrument de editare a metodelor de introducere a textului trimiţând în mod automat la Google statistici de utilizare şi rapoarte de blocare."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Temă pentru tastatură"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Engleză (Marea Britanie)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Engleză (S.U.A.)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Engleză (Regatul Unit) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Engleză (S.U.A.) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Nicio limbă"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nicio limbă (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Nicio limbă (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Nicio limbă (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Nicio limbă (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Nicio limbă (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Nicio limbă (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Stiluri personalizate"</string>
- <string name="add_style" msgid="6163126614514489951">"Stil"</string>
- <string name="add" msgid="8299699805688017798">"Adăugaţi"</string>
- <string name="remove" msgid="4486081658752944606">"Eliminaţi"</string>
- <string name="save" msgid="7646738597196767214">"Salvaţi"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Limbă"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Aspect"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Stilul de introducere personalizat trebuie să fie activat pentru a-l utiliza. Îl activaţi acum?"</string>
- <string name="enable" msgid="5031294444630523247">"Activaţi"</string>
- <string name="not_now" msgid="6172462888202790482">"Nu acum"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Acelaşi stil de introducere există deja: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modul Studiu privind utilizarea"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Setări pentru durata vibrării la apăsarea tastei"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Setări pentru volumul sunetului la apăsarea tastei"</string>
-</resources>
diff --git a/java/res/values-ru/bools.xml b/java/res/values-ru/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-ru/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-ru/strings-appname.xml b/java/res/values-ru/strings-appname.xml
deleted file mode 100644
index 5db1d0bc9..000000000
--- a/java/res/values-ru/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Клавиатура Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Проверка правописания Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Настройки клавиатуры Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Настройки проверки правописания"</string>
-</resources>
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
deleted file mode 100644
index 12bc77b35..000000000
--- a/java/res/values-ru/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Клавиатура Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Настройки"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Все команды"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Проверка правописания Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Поиск контактов"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Обращаться к списку контактов при проверке правописания"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Виброотклик клавиш"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Звук клавиш"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Увеличение нажатых"</string>
- <string name="general_category" msgid="1859088467017573195">"Общие"</string>
- <string name="correction_category" msgid="2236750915056607613">"Исправление текста"</string>
- <string name="misc_category" msgid="6894192814868233453">"Другие варианты"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Расширенные настройки"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Для опытных пользователей"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Другой способ ввода"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Клавиша переключения языков также служит для смены способа ввода"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Клавиша переключения языков"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Показывать, когда включено несколько раскладок"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Задержка закрытия"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Без задержки"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"По умолчанию"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Подсказывать имена"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Подсказывать исправления на основе имен из списка контактов"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Заглавные автоматически"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Дополнительные словари"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Основной словарь"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Показать варианты исправлений"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Предлагать варианты слов во время ввода"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Всегда показывать"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Показать вертикально"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Всегда скрывать"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Автоисправление"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Автоматическое исправление опечаток при вводе знака препинания или пробела"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Откл."</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Умеренное"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Активное"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Очень активно"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Подсказка для следующего слова"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Подсказки, основанные на предыдущих словах"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Непрерывный ввод"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Перемещайте палец от буквы к букве, чтобы составить слово"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Рисовать линию"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Показывать подсказки"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Предлагать варианты во время ввода"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: сохранено"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Поиск"</string>
- <string name="label_next_key" msgid="362972844525672568">"Далее"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Пред."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Отправить"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"АБВ"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Ждать"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Подключите гарнитуру, чтобы услышать пароль."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Введенный текст: %s."</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Текст не введен"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Код клавиши:%d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Клавиша верхнего регистра"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Верхний регистр включен (нажмите, чтобы отключить)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock включен (нажмите, чтобы отключить)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Клавиша удаления"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Клавиша символов"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Буквы"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Цифры"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Настройки"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Клавиша табуляции"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Пробел"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Голосовой ввод"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Смайлик"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Клавиша \"Ввод\""</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Поиск"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Точка"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Сменить язык"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Далее"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Назад"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Верхний регистр включен"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock включен"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Верхний регистр отключен"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Режим добавления символов"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Режим ввода текста"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Режим набора номера"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Режим телефонных символов"</string>
- <string name="voice_input" msgid="3583258583521397548">"Ключ голосового ввода"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Значок на основной клавиатуре"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Значок на клавиатуре символов"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Выкл."</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Значок на основной клавиатуре"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Значок на клавиатуре символов"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Голосовой ввод откл."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Настройка способов ввода"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Языки ввода"</string>
- <string name="select_language" msgid="3693815588777926848">"Языки ввода"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Нажмите, чтобы сохранить"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Доступен словарь"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Включить отправку сведений"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Помогите усовершенствовать редактор способа ввода, разрешив отправку статистики и отчетов о сбоях в Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Тема клавиатуры"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"английский (Великобритания)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"английский (США)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Английская (Великобр.) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Английская (США) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Язык не указан"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"QWERTY-клавиатура"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Язык не задан (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Язык не задан (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Язык не задан (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Яз. не задан (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Язык не задан (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Персонализированные стили"</string>
- <string name="add_style" msgid="6163126614514489951">"Добавить стиль"</string>
- <string name="add" msgid="8299699805688017798">"Добавить"</string>
- <string name="remove" msgid="4486081658752944606">"Удалить"</string>
- <string name="save" msgid="7646738597196767214">"Сохранить"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Язык"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Раскладка"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Необходимо включить персонализированный стиль ввода."</string>
- <string name="enable" msgid="5031294444630523247">"Включить"</string>
- <string name="not_now" msgid="6172462888202790482">"Не сейчас"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Такой стиль ввода уже существует: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим проверки удобства использования"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Настройки вибросигнала при нажатии клавиш"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Настройки громкости звука при нажатии клавиш"</string>
-</resources>
diff --git a/java/res/values-sk/bools.xml b/java/res/values-sk/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-sk/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-sk/strings-appname.xml b/java/res/values-sk/strings-appname.xml
deleted file mode 100644
index 5b5590000..000000000
--- a/java/res/values-sk/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Klávesnica Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Kontrola pravopisu Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Nastavenia klávesnice Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Nastavenia kontroly pravopisu"</string>
-</resources>
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
deleted file mode 100644
index 50c59978b..000000000
--- a/java/res/values-sk/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Klávesnica Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti zadávania textu a údajov"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Príkazy denníka výskumu"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Kontrola pravopisu Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Vyhľadať kontakty"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Kontrola pravopisu používa záznamy z vášho zoznamu kontaktov"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Pri stlačení klávesu vibrovať"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk pri stlačení klávesu"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Zobraziť znaky pri stlačení klávesu"</string>
- <string name="general_category" msgid="1859088467017573195">"Všeobecné"</string>
- <string name="correction_category" msgid="2236750915056607613">"Oprava textu"</string>
- <string name="misc_category" msgid="6894192814868233453">"Ďalšie možnosti"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Rozšírené nastavenia"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Možnosti pre odborníkov"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Prepnúť na iné metódy vstupu"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kláves na prepnutie jazyka pokrýva aj ďalšie metódy vstupu"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Kľúč na prepínanie jazyka"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Zobraziť, keď je povolených viac jazykov vstupu"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Onesk. zrušenia kľúč. kon. okna"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Bez oneskorenia"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Predvolená"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Navrhnúť mená kontaktov"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Používať mená z Kontaktov na návrhy a opravy"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Veľké písmená automaticky"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Doplnkové slovníky"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Hlavný slovník"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Zobraziť návrhy opráv"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Zobrazovať navrhované slová počas písania"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vždy zobrazovať"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Zobraziť v režime na výšku"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Vždy skrývať"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Automatické opravy"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Stlačením medzerníka a interpunkcie sa aut. opravia chybné slová"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Vypnuté"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mierne"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresívne"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Veľmi agresívne"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Návrhy ďalšieho slova"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Na základe predchádzajúceho slova"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Zadávanie gestami"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Napíšte slovo zadaním jeho písmen"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Zobrazovať stopu gesta"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Zobrazovať slovo gesta"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Zobrazovať plávajúcu ukážku slova gesta"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Uložené"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Hľadať"</string>
- <string name="label_next_key" msgid="362972844525672568">"Ďalej"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Pred."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Hotovo"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Odoslať"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pozastaviť"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Čakajte"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Ak si chcete pri zadávaní hesla vypočuť nahlas vyslovené klávesy, pripojte náhlavnú súpravu."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Aktuálny text je %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nie je zadaný žiadny text"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Kód klávesu %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Kláves Shift je zapnutý (zakážete ho klepnutím)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Kláves Caps Lock je zapnutý (zakážete ho klepnutím)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symboly"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Písmená"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Čísla"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Nastavenia"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Karta"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Medzerník"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Hlasový vstup"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Usmiata tvár"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Hľadať"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Bodka"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Prepnúť jazyk"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Ďalšie"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Predchádzajúce"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Kláves Shift je povolený"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Kláves Caps Lock je povolený"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Kláves Shift je zakázaný"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Režim symbolov"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Režim písmen"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Režim telefónu"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Režim telefónnych symbolov"</string>
- <string name="voice_input" msgid="3583258583521397548">"Kľúč hlasového vstupu"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Na hlavnej klávesnici"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Na klávesnici so symbolmi"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Vypnuté"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mikrofón na hlavnej klávesnici"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofón na klávesnici so symbolmi"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hlasový vstup je zakázaný"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfigurovať metódy vstupu"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Jazyky vstupu"</string>
- <string name="select_language" msgid="3693815588777926848">"Jazyky vstupu"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Opätovným dotykom uložíte"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"K dispozícii je slovník"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Povoliť spätnú väzbu od používateľov"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Automatickým zasielaním štatistík o využívaní editora metódy vstupu a správ o jeho zlyhaní do služby Google môžete prispieť k vylepšeniu tohto nástroja."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Motív klávesnice"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Anglická klávesnica (UK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Anglická klávesnica (US)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"angličtina (UK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"angličtina (USA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Žiadny jazyk"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Žiadny jazyk (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Žiadny jazyk (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Žiadny jazyk (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Žiadny jazyk (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Žiadny jazyk (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Žiadny jazyk (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Vlastné štýly vstupu"</string>
- <string name="add_style" msgid="6163126614514489951">"Pridať štýl"</string>
- <string name="add" msgid="8299699805688017798">"Pridať"</string>
- <string name="remove" msgid="4486081658752944606">"Odstrániť"</string>
- <string name="save" msgid="7646738597196767214">"Uložiť"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Jazyk"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Rozloženie"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Pred použitím vlastného štýlu vstupu ho musíte povoliť. Chcete ho povoliť?"</string>
- <string name="enable" msgid="5031294444630523247">"Povoliť"</string>
- <string name="not_now" msgid="6172462888202790482">"Teraz nie"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Rovnaký štýl vstupu už existuje: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Režim štúdie použiteľnosti"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Nastavenia trvania vibrovania pri stlačení klávesu"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Nastavenia hlasitosti zvuku pri stlačení klávesu"</string>
-</resources>
diff --git a/java/res/values-sl/bools.xml b/java/res/values-sl/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-sl/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-sl/strings-appname.xml b/java/res/values-sl/strings-appname.xml
deleted file mode 100644
index fd303d8dd..000000000
--- a/java/res/values-sl/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Tipkovnica Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Črkovalnik za Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Nastavitve tipkovnice Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Nastavitve preverjanja črkovanja"</string>
-</resources>
diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml
deleted file mode 100644
index db1fdc6f7..000000000
--- a/java/res/values-sl/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Tipkovnica Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti vnosa"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Ukazi za dnevnik raziskav"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Črkovalnik za Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Iskanje imen stikov"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Črkovalnik uporablja vnose s seznama stikov"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibriranje ob pritisku tipke"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Zvok ob pritisku tipke"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Povečaj črko ob pritisku"</string>
- <string name="general_category" msgid="1859088467017573195">"Splošno"</string>
- <string name="correction_category" msgid="2236750915056607613">"Popravljanje besedila"</string>
- <string name="misc_category" msgid="6894192814868233453">"Druge možnosti"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Dodatne nastavitve"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Možnosti za strokovnjake"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Prekl. na drug nač. vnosa"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tipka za preklop jezika, ki vključuje tudi druge načine vnosa"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tipka za preklop med jeziki"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Pokaži, ko je omogočenih več jezikov vnosa"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Trajanje povečanja tipke"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Brez zakasnitve"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Privzeto"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Predlagaj imena stikov"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Uporaba imen iz stikov za predloge in popravke"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Samod. velike začetnice"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Dodatni slovarji"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Glavni slovar"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Pokaži predloge popravkov"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Pokaži predlagane besede med tipkanjem"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vedno pokaži"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Pokaži v pokončnem načinu"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Vedno skrij"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Samodejni popravek"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Preslednica in ločila samodejno popravijo napačno vtipkane besede"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Izklopljeno"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Zmerno"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Strogo"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Zelo strogo"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Predlogi za naslednjo besedo"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Na podlagi prejšnje besede"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Vnos s potezo"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Vnašanje besede z drsenjem po zaslonu od črke do črke"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Prikaži pot poteze"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Pokaži besedo za potezo"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Pokaži plavajoči predogled besede za potezo"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: shranjeno"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Pojdi"</string>
- <string name="label_next_key" msgid="362972844525672568">"Naprej"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Nazaj"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Dokončano"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Pošlji"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Premor"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Čakaj"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Priključite slušalke, če želite slišati izgovorjene tipke gesla."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Trenutno besedilo je %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Ni vnesenega besedila"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Koda tipke %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift je vklopljen (dotaknite se, da onemogočite)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock je vklopljen (dotaknite se, da onemogočite)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simboli"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Pisma"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Številke"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Nastavitve"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabulator"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Presledek"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Glasovni vnos"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smeško"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Vračalka"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Iskanje"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Pika"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Preklop jezika"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Naprej"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Nazaj"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Način »Shift« je omogočen"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Način »Caps Lock« je omogočen"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Način »Shift« je onemogočen"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Način simbolov"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Način črk"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Način telefona"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Način simbolov telefona"</string>
- <string name="voice_input" msgid="3583258583521397548">"Tipka za glasovni vnos"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Na glavni tipkovnici"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Na tipk. s simboli"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Izklopljeno"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mik. na glavni tipk."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mik. na tipk. s sim."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Glas. vnos je onem."</string>
- <string name="configure_input_method" msgid="373356270290742459">"Nastavitev načinov vnosa"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Jeziki vnosa"</string>
- <string name="select_language" msgid="3693815588777926848">"Jeziki vnosa"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Dotaknite se še enkrat, da shranite"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Slovar je na voljo"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Omogoči povratne informacije uporabnikov"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"S samodejnim pošiljanjem statističnih podatkov o uporabi in poročil o zrušitvah Googlu nam lahko pomagate izboljšati urejevalnik načina vnosa."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema tipkovnice"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"angleščina (Združeno kraljestvo)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"angleščina (ZDA)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Angleška (Zdr. kralj.) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Angleška (ZDA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Ni jezika"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Ni jezika (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Ni jezika (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Ni jezika (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Ni jezika (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Ni jezika (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Ni jezika (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Slogi vnosa po meri"</string>
- <string name="add_style" msgid="6163126614514489951">"Dodaj slog"</string>
- <string name="add" msgid="8299699805688017798">"Dodaj"</string>
- <string name="remove" msgid="4486081658752944606">"Odstrani"</string>
- <string name="save" msgid="7646738597196767214">"Shrani"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Jezik"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Postavitev"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Slog vnosa po meri morate omogočiti. Ali ga želite omogočiti?"</string>
- <string name="enable" msgid="5031294444630523247">"Omogoči"</string>
- <string name="not_now" msgid="6172462888202790482">"Ne zdaj"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Isti slog vnosa že obstaja: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Način za preučevanje uporabnosti"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Nastavitve za trajanje vibriranja ob pritisku tipke"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Nastavitve za glasnost zvoka ob pritisku tipke"</string>
-</resources>
diff --git a/java/res/values-sr/bools.xml b/java/res/values-sr/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-sr/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-sr/strings-appname.xml b/java/res/values-sr/strings-appname.xml
deleted file mode 100644
index 449fe551a..000000000
--- a/java/res/values-sr/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android тастатура"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android провера правописа"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Подешавања Android тастатуре"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Подешавања провере правописа"</string>
-</resources>
diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml
deleted file mode 100644
index 3425b0f00..000000000
--- a/java/res/values-sr/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android тастатура (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Опције уноса"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Команде евиденције истраживања"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android провера правописа (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Потражи имена контаката"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Контролор правописа користи уносе са листе контаката"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Вибрирај на притисак тастера"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Звук на притисак тастера"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Искачући прозор приликом притиска тастера"</string>
- <string name="general_category" msgid="1859088467017573195">"Опште"</string>
- <string name="correction_category" msgid="2236750915056607613">"Исправљање текста"</string>
- <string name="misc_category" msgid="6894192814868233453">"Друге опције"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Напредна подешавања"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Опције за стручњаке"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Пребаци на друге методе уноса"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Тастер за пребацивање језика обухвата и друге методе уноса"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Тастер за пребацивање језика"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Прикажи када је омогућено више језика уноса"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Одложи одбац. иск. прозора тастера"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Без одлагања"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Подразумевано"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Предложи имена контаката"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Користи имена из Контаката за предлоге и исправке"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Аутоматски унос великих слова"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Помоћни речници"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Главни речник"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Прикажи предлоге за исправку"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Приказивање предложених речи током уноса текста"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Увек прикажи"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Прикажи у усправном режиму"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Увек сакриј"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Аутоматско исправљање"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Размак и интерпункција аутоматски исправљају грешке у куцању"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Искључи"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Умерено"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Агресивно"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Веома агресивно"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Предлози за следећу реч"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"На основу претходне речи"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Унос покретом"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Унесите реч исписивањем слова речи"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Прикажи траг покрета"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Прикажи реч уз покрет"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Приказ плутајућег прегледа речи уз покрет"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Сачувано"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Иди"</string>
- <string name="label_next_key" msgid="362972844525672568">"Следеће"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Прет."</string>
- <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Пошаљи"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"АБВ"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Чекај"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Укључите слушалице да бисте чули наглас изговорене тастере за лозинку."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Тренутни текст је %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Текст није унет"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Кôд тастера %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift је укључен (додирните да бисте га онемогућили)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock је укључен (додирните да бисте га онемогућили)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Симболи"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Слова"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Бројеви"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Подешавања"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Размак"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Гласовни унос"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Смајли"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Претражи"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Тачка"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Пребаци језик"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Следеће"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Претходно"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift је омогућен"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock је омогућен"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift је онемогућен"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Режим симбола"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Режим слова"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Режим телефона"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Режим симбола телефона"</string>
- <string name="voice_input" msgid="3583258583521397548">"Тастер за гласовни унос"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"На главној тастатури"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"На тастатури са симболима"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Искључи"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Микрофон на главној тастатури"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Микрофон на тастатури са симболима"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Гласовни унос је онемогућен"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Конфигурисање метода уноса"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Језици за унос"</string>
- <string name="select_language" msgid="3693815588777926848">"Језици уноса"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Поново додирните да бисте сачували"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Речник је доступан"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Омогући повратну информацију корисника"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Помозите да се побољша овај уређивач режима уноса тако што ће се аутоматски послати статистика о коришћењу и извештаји о грешкама компанији Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Тема тастатуре"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"енглески (УК)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"енглески (САД)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"енглески (УК) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"енглески (САД) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Без језика"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Нема језика (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Без језика (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Без језика (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Без језика (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Без језика (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Без језика (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Прилаг. стилови уноса"</string>
- <string name="add_style" msgid="6163126614514489951">"Додав. стила"</string>
- <string name="add" msgid="8299699805688017798">"Додај"</string>
- <string name="remove" msgid="4486081658752944606">"Уклони"</string>
- <string name="save" msgid="7646738597196767214">"Сачувај"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Језик"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Распоред"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Прилагођени стил уноса треба да буде омогућен да бисте почели да га користите. Желите ли да га омогућите сада?"</string>
- <string name="enable" msgid="5031294444630523247">"Омогући"</string>
- <string name="not_now" msgid="6172462888202790482">"Не сада"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Исти стил уноса већ постоји: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим за студију могућности коришћења"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Подешавања трајања вибрације при притиску на тастере"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Подешавања јачине звука при притиску на тастере"</string>
-</resources>
diff --git a/java/res/values-sv/bools.xml b/java/res/values-sv/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-sv/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-sv/strings-appname.xml b/java/res/values-sv/strings-appname.xml
deleted file mode 100644
index 9b4a7dbd1..000000000
--- a/java/res/values-sv/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Androids tangentbord"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Stavningskontroll i Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Inställningar för Androids tangentbord"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Inställningar för stavningskontroll"</string>
-</resources>
diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml
deleted file mode 100644
index 16e88449f..000000000
--- a/java/res/values-sv/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Androids tangentbord (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Inmatningsalternativ"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Loggkommandon"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Stavningskontroll i Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Sök namn på kontakter"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"I stavningskontrollen används poster från kontaktlistan"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrera vid tangenttryck"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Knappljud"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Popup vid knapptryck"</string>
- <string name="general_category" msgid="1859088467017573195">"Allmänt"</string>
- <string name="correction_category" msgid="2236750915056607613">"Textkorrigering"</string>
- <string name="misc_category" msgid="6894192814868233453">"Andra alternativ"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Avancerade inställningar"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Alternativ för experter"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Byt till annan inmatning"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Språkbytesknappen omfattar även andra inmatningsmetoder"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Knapp för att byta språk"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Visa när flera inmatningsspråk är aktiverade"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Ta bort popup-fördröjning"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Fördröj inte"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Standard"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Föreslå kontaktnamn"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Använd namn från Kontakter för förslag och korrigeringar"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Automatiska versaler"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Tilläggsordlistor"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Huvudordlistan"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Visa rättningsförslag"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Visar ordförslag när du skriver"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Visa alltid"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Visa stående"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Dölj alltid"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Autokorrigering"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Blanksteg/skiljetecken rättar felstavning"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Av"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Måttlig"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Aggressiv"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Mycket aggressivt"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Föreslå nästa ord"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Baserat på föregående ord"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Svepskrivning"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Skriv ett ord för hand genom att rita bokstäverna i ordet"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Visa spår efter rörelse"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Visa svävande ord för rörelse"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Visa förhandsgranskning av svävande ord med rörelse"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: sparat"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Kör"</string>
- <string name="label_next_key" msgid="362972844525672568">"Nästa"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Föreg"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Färdig"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Skicka"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Vänta"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Anslut hörlurar om du vill att lösenordet ska läsas upp."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Nuvarande text är %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Ingen text har angetts"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Nyckelkod %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Skift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Skift på (knacka lätt för att inaktivera)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock på (knacka lätt för att inaktivera)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symboler"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Bokstäver"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Siffror"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Inställningar"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tabb"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Blanksteg"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Röstinmatning"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Uttryckssymbol"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Retur"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Sök"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Punkt"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Byt språk"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Nästa"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Föregående"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Skift är aktiverat"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock är aktiverat"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Skift är inaktiverat"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Symbolläge"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Bokstavsläge"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefonläge"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefonsymbolläge"</string>
- <string name="voice_input" msgid="3583258583521397548">"Röstinmatningsknapp"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"På huvudtangentbord"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"På symboltangentbord"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Av"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mick huvudtangentbord"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mick bland symboler"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Röstinmatning inaktiv"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfigurera inmatningsmetoder"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Inmatningsspråk"</string>
- <string name="select_language" msgid="3693815588777926848">"Inmatningsspråk"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Spara genom att trycka igen"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"En ordlista är tillgänglig"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Aktivera synpunkter från användare"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Du kan hjälpa till att förbättra inmatningsmetoden genom att automatiskt skicka användningsstatistik och felrapporter till Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tangentbordstema"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Engelskt (brittiskt)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Engelskt (amerikanskt)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Engelskt (brittiskt) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Engelskt (amerikanskt) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Inget språk"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Inget språk (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Inget språk (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Inget språk (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Inget språk (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Inget språk (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Inget språk (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Anpassade indatastilar"</string>
- <string name="add_style" msgid="6163126614514489951">"Ny stil"</string>
- <string name="add" msgid="8299699805688017798">"Lägg till"</string>
- <string name="remove" msgid="4486081658752944606">"Ta bort"</string>
- <string name="save" msgid="7646738597196767214">"Spara"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Språk"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Din anpassade indatatyp måste aktiveras innan du börjar använda den. Vill du aktivera den nu?"</string>
- <string name="enable" msgid="5031294444630523247">"Aktivera"</string>
- <string name="not_now" msgid="6172462888202790482">"Inte nu"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Samma indatastil finns redan: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Läge för studie av användbarhet"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Inställningar för vibrationslängd vid knapptryck"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Volyminställningar för knappljud"</string>
-</resources>
diff --git a/java/res/values-sw/bools.xml b/java/res/values-sw/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-sw/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-sw/strings-appname.xml b/java/res/values-sw/strings-appname.xml
deleted file mode 100644
index 51de0a6b8..000000000
--- a/java/res/values-sw/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Kibodi ya Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Kikagua tahajia cha Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Mipangilio ya kibodi ya Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Mipangilio ya kukagua tahajia"</string>
-</resources>
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
deleted file mode 100644
index b9dee3b4e..000000000
--- a/java/res/values-sw/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Kicharazio cha Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Chaguo za uingizaji"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Amri za Kumbukumbu za Utafiti"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Kikagua tahajia cha Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Angalia majina ya unaowasiliana nao"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Kikagua tahajia hutumia ingizo kutoka kwa orodha yako ya anwani"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Tetema unabofya kitufe"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Toa sauti unapobofya kitufe"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Ibuka kitufe kinapobonyezwa"</string>
- <string name="general_category" msgid="1859088467017573195">"Kawaida"</string>
- <string name="correction_category" msgid="2236750915056607613">"Marekebisho ya maandishi"</string>
- <string name="misc_category" msgid="6894192814868233453">"Chaguo zingine"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Mipangilio mahiri"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Chaguo za wataalamu"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Badilisha hadi kwa mbinu zingine za ingizo"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Ufunguo wa kubadilisha lugha unashughulikia mbinu zingine za ingizo pia"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Kitufe cha kubadilisha lugha"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Onyesha wakati lugha ingizo mbalimbali zinapowezeshwa"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Kuchelewesha kutupa kitufe ibukizi"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Hakuna kuchelewa"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Chaguo-msingi"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Pendekeza majini ya Anwani"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Tumia majina kutoka kwa Anwani kwa mapendekezo na marekebisho"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Uwekaji wa herufi kubwa kiotomatiki"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Nyongeza za kamusi"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Kamusi kuu"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Onyesha mapendekezo ya marekebisho"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Onyesha maneno yaliyopendekezwa wakati unachapa"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Onyesha kila wakati"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Onyesha kwenye hali wima"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Ficha kila wakati"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Usahihishaji Kioto"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Kiaamba na kiakifishi hurekebisha maneno ambayo yamechapishwa vibaya"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Zima"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Ya wastani"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Ya hima"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Changamfu zaidi"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Mapendekezo ya neno lifuatalo"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Kulingana na neno la awali"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Kuandika kwa ishara"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Ingiza neno kwa kufuatilia herufi za neno"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Onyesha njia ya ishara"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Onyesha neno la ishara"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Onyesha neno hakiki linaloelea lililo na ishara"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Imehifadhiwa"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Nenda"</string>
- <string name="label_next_key" msgid="362972844525672568">"Ifuatayo"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Iliyotangulia"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Kwisha"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Tuma"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"? 123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pumzisha"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Subiri"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Chomeka plagi ya kifaa cha kichwa cha kusikiza ili kusikiliza msimbo wa nenosiri inayozungumwa kwa sauti ya juu."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Maandishi ya sasa ni %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Hakuna maandishi yaliyoingizwa"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Msimbo wa kitufe %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Badilisha"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift imewashwa (gonga ili kulemaza)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock imewashwa (gonga ili kulemaza)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Futa"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Alama"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Herufi"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Namba"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Mipangilio"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Kichupo"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Nafasi"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Uingizaji sauti"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Uso wenye tabasamu"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Rudi"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Tafuta"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Nukta"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Badili lugha"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Inayofuata"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Iliyotangulia"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift imewezeshwa"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock imewezeshwa"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift imelemazwa"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Hali ya alama"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Hali ya barua"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Hali ya simu"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Hali ya alama za simu"</string>
- <string name="voice_input" msgid="3583258583521397548">"Kibao cha kuingizia sauti"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Kwenye kibodi kuu"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Kwenye kibodi ya ishara"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Zima"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Maikrofoni kwenye kibodi kuu"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Maikrofoni kwenye kibodi ya ishara"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Uingizaji sauti umelemazwa"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Sanidi mbinu za uingizaji"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Lugha za uingizaji"</string>
- <string name="select_language" msgid="3693815588777926848">"Lugha zinazoruhusiwa"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Gusa tena ili kuhifadhi"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Kamusi inapatikana"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Wezesha maoni ya watumiaji"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Saidia kuimarisha mbinu ya uingizaji wa kihariri, kwa kutuma takwimu za matumizi na ripoti za kuvurugika kwa Google kiotomatiki."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Maandhari ya kibodi"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Kiingereza cha (Uingereza)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Kiingereza cha (Marekani)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Kiingereza (Uingereza) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Kiingereza (Marekani) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Hakuna lugha"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Hakuna lugha (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Hakuna lugha (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Hakuna lugha (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Hakuna lugha (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Hakuna lugha (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Hakuna lugha (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Mitindo maalum ya ingizo"</string>
- <string name="add_style" msgid="6163126614514489951">"Ongeza mtindo"</string>
- <string name="add" msgid="8299699805688017798">"Ongeza"</string>
- <string name="remove" msgid="4486081658752944606">"Ondoa"</string>
- <string name="save" msgid="7646738597196767214">"Hifadhi"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Lugha"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Mpangilio"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Mtindo wa ingizo lako maalum unahitaji kuwa umewezeshwa kabla uanze kulitumia. Unataka kuuwesha sasa?"</string>
- <string name="enable" msgid="5031294444630523247">"Wezesha"</string>
- <string name="not_now" msgid="6172462888202790482">"Sio sasa"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Mfumo sawa wa maingizo tayari upo: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modi ya uchunguzi wa utumizi"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Bonyeza mipangilio ya kipindi cha mtetemo"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Bonyeza mipangilio ya nguvu za sauti"</string>
-</resources>
diff --git a/java/res/values-sw600dp-land/config.xml b/java/res/values-sw600dp-land/config.xml
deleted file mode 100644
index b3cd7278d..000000000
--- a/java/res/values-sw600dp-land/config.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <bool name="config_use_fullscreen_mode">false</bool>
-</resources>
diff --git a/java/res/values-sw600dp-land/dimens.xml b/java/res/values-sw600dp-land/dimens.xml
deleted file mode 100644
index 51c710fa4..000000000
--- a/java/res/values-sw600dp-land/dimens.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Preferable keyboard height in absolute scale: 45.0mm -->
- <!-- This keyboardHeight value should match with keyboard-heights.xml -->
- <dimen name="keyboardHeight">283.5dp</dimen>
- <fraction name="minKeyboardHeight">45%p</fraction>
-
- <fraction name="keyboard_top_padding">2.444%p</fraction>
- <fraction name="keyboard_bottom_padding">0.0%p</fraction>
- <fraction name="key_bottom_gap">4.911%p</fraction>
- <fraction name="key_horizontal_gap">1.284%p</fraction>
-
- <fraction name="key_bottom_gap_stone">4.355%p</fraction>
- <fraction name="key_horizontal_gap_stone">1.505%p</fraction>
-
- <fraction name="key_bottom_gap_gb">5.200%p</fraction>
- <fraction name="key_horizontal_gap_gb">1.447%p</fraction>
-
- <fraction name="key_bottom_gap_ics">4.5%p</fraction>
- <fraction name="key_horizontal_gap_ics">0.9%p</fraction>
- <fraction name="keyboard_bottom_padding_ics">0.0%p</fraction>
-
- <dimen name="popup_key_height">81.9dp</dimen>
-
- <!-- left or right padding of label alignment -->
- <dimen name="key_label_horizontal_padding">18dp</dimen>
-
- <fraction name="key_letter_ratio">50%</fraction>
- <fraction name="key_large_letter_ratio">48%</fraction>
- <fraction name="key_label_ratio">32%</fraction>
- <fraction name="key_hint_letter_ratio">23%</fraction>
- <fraction name="key_hint_label_ratio">34%</fraction>
- <fraction name="key_uppercase_letter_ratio">29%</fraction>
- <fraction name="spacebar_text_ratio">30.0%</fraction>
- <dimen name="key_uppercase_letter_padding">4dp</dimen>
-
- <!-- For 5-row keyboard -->
- <fraction name="key_bottom_gap_5row">3.20%p</fraction>
- <fraction name="key_letter_ratio_5row">62%</fraction>
- <fraction name="key_uppercase_letter_ratio_5row">36%</fraction>
-
- <dimen name="suggestions_strip_padding">252.0dp</dimen>
- <integer name="max_more_suggestions_row">5</integer>
- <fraction name="min_more_suggestions_width">50%</fraction>
-
- <!-- Gesture floating preview text parameters -->
- <dimen name="gesture_floating_preview_text_size">26dp</dimen>
- <dimen name="gesture_floating_preview_text_offset">76dp</dimen>
- <dimen name="gesture_floating_preview_horizontal_padding">26dp</dimen>
- <dimen name="gesture_floating_preview_vertical_padding">17dp</dimen>
-</resources>
diff --git a/java/res/values-sw600dp/config.xml b/java/res/values-sw600dp/config.xml
deleted file mode 100644
index e296623b2..000000000
--- a/java/res/values-sw600dp/config.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Device form factor. This value must be aligned with {@link KeyboardId.DEVICE_FORM_FACTOR_TABLET7} -->
- <integer name="config_device_form_factor">1</integer>
- <bool name="config_enable_show_voice_key_option">false</bool>
- <bool name="config_enable_show_popup_on_keypress_option">false</bool>
- <bool name="config_enable_bigram_suggestions_option">false</bool>
- <!-- Whether or not Popup on key press is enabled by default -->
- <bool name="config_default_popup_preview">false</bool>
- <bool name="config_default_sound_enabled">true</bool>
- <bool name="config_auto_correction_spacebar_led_enabled">false</bool>
- <!-- The language is never displayed if == 0, always displayed if < 0 -->
- <integer name="config_delay_before_fadeout_language_on_spacebar">1200</integer>
- <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. -->
- <string name="config_default_keyboard_theme_index" translatable="false">5</string>
- <integer name="config_max_more_keys_column">5</integer>
- <!--
- Configuration for MainKeyboardView
- -->
- <dimen name="config_key_hysteresis_distance">40.0dp</dimen>
- <bool name="config_sliding_key_input_enabled">false</bool>
- <!-- Showing more keys keyboard, just above the touched point if true, aligned to the key if
- false -->
- <bool name="config_show_more_keys_keyboard_at_touched_point">true</bool>
-</resources>
diff --git a/java/res/values-sw600dp/dimens.xml b/java/res/values-sw600dp/dimens.xml
deleted file mode 100644
index 586fbe6da..000000000
--- a/java/res/values-sw600dp/dimens.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Preferable keyboard height in absolute scale: 48.0mm -->
- <!-- This keyboardHeight value should match with keyboard-heights.xml -->
- <dimen name="keyboardHeight">302.4dp</dimen>
- <fraction name="maxKeyboardHeight">46%p</fraction>
- <fraction name="minKeyboardHeight">-35.0%p</fraction>
-
- <dimen name="popup_key_height">63.0dp</dimen>
-
- <fraction name="keyboard_top_padding">2.291%p</fraction>
- <fraction name="keyboard_bottom_padding">0.0%p</fraction>
- <fraction name="key_bottom_gap">3.750%p</fraction>
- <fraction name="key_horizontal_gap">1.857%p</fraction>
-
- <fraction name="key_bottom_gap_stone">3.75%p</fraction>
- <fraction name="key_horizontal_gap_stone">1.602%p</fraction>
-
- <fraction name="key_bottom_gap_gb">4.625%p</fraction>
- <fraction name="key_horizontal_gap_gb">2.113%p</fraction>
-
- <fraction name="key_bottom_gap_ics">4.5%p</fraction>
- <fraction name="key_horizontal_gap_ics">1.565%p</fraction>
- <fraction name="keyboard_bottom_padding_ics">4.0%p</fraction>
-
- <dimen name="more_keys_keyboard_key_horizontal_padding">6dp</dimen>
- <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
- <!-- popup_key_height x 1.2 -->
- <dimen name="more_keys_keyboard_slide_allowance">98.3dp</dimen>
- <!-- popup_key_height x -1.0 -->
- <dimen name="more_keys_keyboard_vertical_correction">-81.9dp</dimen>
-
- <!-- left or right padding of label alignment -->
- <dimen name="key_label_horizontal_padding">6dp</dimen>
- <dimen name="key_hint_letter_padding">3dp</dimen>
- <dimen name="key_uppercase_letter_padding">3dp</dimen>
-
- <fraction name="key_letter_ratio">42%</fraction>
- <fraction name="key_large_letter_ratio">45%</fraction>
- <fraction name="key_label_ratio">25%</fraction>
- <fraction name="key_large_label_ratio">32%</fraction>
- <fraction name="key_hint_letter_ratio">23%</fraction>
- <fraction name="key_hint_label_ratio">28%</fraction>
- <fraction name="key_uppercase_letter_ratio">22%</fraction>
- <fraction name="key_preview_text_ratio">50%</fraction>
- <fraction name="spacebar_text_ratio">28.0%</fraction>
- <dimen name="key_preview_height">94.5dp</dimen>
- <dimen name="key_preview_offset">16.0dp</dimen>
-
- <!-- For 5-row keyboard -->
- <fraction name="key_bottom_gap_5row">3.20%p</fraction>
- <fraction name="key_letter_ratio_5row">52%</fraction>
- <fraction name="key_uppercase_letter_ratio_5row">27%</fraction>
-
- <dimen name="key_preview_offset_ics">8.0dp</dimen>
- <!-- popup_key_height x -0.5 -->
- <dimen name="more_keys_keyboard_vertical_correction_ics">-31.5dp</dimen>
-
- <dimen name="suggestions_strip_height">44dp</dimen>
- <dimen name="more_suggestions_row_height">44dp</dimen>
- <integer name="max_more_suggestions_row">6</integer>
- <fraction name="min_more_suggestions_width">90%</fraction>
- <dimen name="suggestions_strip_padding">94.5dp</dimen>
- <dimen name="suggestion_min_width">48.0dp</dimen>
- <dimen name="suggestion_padding">12dp</dimen>
- <dimen name="suggestion_text_size">22dp</dimen>
- <dimen name="more_suggestions_hint_text_size">33dp</dimen>
-
- <!-- Gesture preview trail parameters -->
- <dimen name="gesture_preview_trail_width">2.5dp</dimen>
- <!-- Gesture floating preview text parameters -->
- <dimen name="gesture_floating_preview_text_size">28dp</dimen>
- <dimen name="gesture_floating_preview_text_offset">87dp</dimen>
- <dimen name="gesture_floating_preview_horizontal_padding">28dp</dimen>
- <dimen name="gesture_floating_preview_vertical_padding">19dp</dimen>
- <dimen name="gesture_floating_preview_round_radius">3dp</dimen>
-</resources>
diff --git a/java/res/values-sw768dp-land/config.xml b/java/res/values-sw768dp-land/config.xml
deleted file mode 100644
index b3cd7278d..000000000
--- a/java/res/values-sw768dp-land/config.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <bool name="config_use_fullscreen_mode">false</bool>
-</resources>
diff --git a/java/res/values-sw768dp-land/dimens.xml b/java/res/values-sw768dp-land/dimens.xml
deleted file mode 100644
index f4a57ffb0..000000000
--- a/java/res/values-sw768dp-land/dimens.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Preferable keyboard height in absolute scale: 58.0mm -->
- <!-- This keyboardHeight value should match with keyboard-heights.xml -->
- <dimen name="keyboardHeight">365.4dp</dimen>
- <fraction name="minKeyboardHeight">45%p</fraction>
-
- <fraction name="keyboard_top_padding">1.896%p</fraction>
- <fraction name="keyboard_bottom_padding">0.0%p</fraction>
-
- <fraction name="key_bottom_gap">4.103%p</fraction>
- <fraction name="key_horizontal_gap">1.034%p</fraction>
-
- <fraction name="key_bottom_gap_stone">3.379%p</fraction>
- <fraction name="key_horizontal_gap_stone">1.062%p</fraction>
-
- <fraction name="key_bottom_gap_gb">3.896%p</fraction>
- <fraction name="key_horizontal_gap_gb">1.195%p</fraction>
-
- <fraction name="keyboard_top_padding_ics">1.896%p</fraction>
- <fraction name="keyboard_bottom_padding_ics">0.0%p</fraction>
- <fraction name="key_bottom_gap_ics">3.690%p</fraction>
- <fraction name="key_horizontal_gap_ics">1.030%p</fraction>
-
- <dimen name="popup_key_height">81.9dp</dimen>
-
- <!-- left or right padding of label alignment -->
- <dimen name="key_label_horizontal_padding">18dp</dimen>
-
- <fraction name="key_letter_ratio">43%</fraction>
- <fraction name="key_large_letter_ratio">42%</fraction>
- <fraction name="key_label_ratio">28%</fraction>
- <fraction name="key_hint_letter_ratio">23%</fraction>
- <fraction name="key_hint_label_ratio">28%</fraction>
- <fraction name="key_uppercase_letter_ratio">24%</fraction>
- <fraction name="spacebar_text_ratio">24.00%</fraction>
- <dimen name="key_preview_height">107.1dp</dimen>
-
- <!-- For 5-row keyboard -->
- <fraction name="key_bottom_gap_5row">2.65%p</fraction>
- <fraction name="key_letter_ratio_5row">53%</fraction>
- <fraction name="key_uppercase_letter_ratio_5row">30%</fraction>
-
- <dimen name="key_preview_offset_ics">8.0dp</dimen>
-
- <dimen name="suggestions_strip_padding">252.0dp</dimen>
- <fraction name="min_more_suggestions_width">50%</fraction>
-
- <!-- Gesture floating preview text parameters -->
- <dimen name="gesture_floating_preview_text_size">32dp</dimen>
- <dimen name="gesture_floating_preview_text_offset">100dp</dimen>
- <dimen name="gesture_floating_preview_horizontal_padding">32dp</dimen>
- <dimen name="gesture_floating_preview_vertical_padding">21dp</dimen>
-</resources>
diff --git a/java/res/values-sw768dp/config.xml b/java/res/values-sw768dp/config.xml
deleted file mode 100644
index 346fa9979..000000000
--- a/java/res/values-sw768dp/config.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Device form factor. This value must be aligned with {@link KeyboardId.DEVICE_FORM_FACTOR_TABLET10} -->
- <integer name="config_device_form_factor">2</integer>
- <bool name="config_enable_show_voice_key_option">false</bool>
- <bool name="config_enable_show_popup_on_keypress_option">false</bool>
- <bool name="config_enable_bigram_suggestions_option">false</bool>
- <!-- Whether or not Popup on key press is enabled by default -->
- <bool name="config_default_popup_preview">false</bool>
- <bool name="config_default_sound_enabled">true</bool>
- <bool name="config_auto_correction_spacebar_led_enabled">false</bool>
- <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. -->
- <string name="config_default_keyboard_theme_index" translatable="false">5</string>
- <integer name="config_max_more_keys_column">5</integer>
- <!--
- Configuration for MainKeyboardView
- -->
- <bool name="config_sliding_key_input_enabled">false</bool>
- <!-- Showing more keys keyboard, just above the touched point if true, aligned to the key if
- false -->
- <bool name="config_show_more_keys_keyboard_at_touched_point">true</bool>
- <!-- Screen metrics for logging.
- 0 = "mdpi phone screen"
- 1 = "hdpi phone screen"
- 2 = "mdpi 11 inch tablet screen"
- 3 = "xhdpi phone screen?"
- 4 = ?
- -->
- <integer name="log_screen_metrics">2</integer>
-</resources>
diff --git a/java/res/values-sw768dp/dimens.xml b/java/res/values-sw768dp/dimens.xml
deleted file mode 100644
index 2fd732293..000000000
--- a/java/res/values-sw768dp/dimens.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Preferable keyboard height in absolute scale: 48.0mm -->
- <!-- This keyboardHeight value should match with keyboard-heights.xml -->
- <dimen name="keyboardHeight">302.4dp</dimen>
- <fraction name="maxKeyboardHeight">46%p</fraction>
- <fraction name="minKeyboardHeight">-35.0%p</fraction>
-
- <fraction name="keyboard_top_padding">2.291%p</fraction>
- <fraction name="keyboard_bottom_padding">0.0%p</fraction>
-
- <fraction name="key_bottom_gap">4.270%p</fraction>
- <fraction name="key_horizontal_gap">1.551%p</fraction>
-
- <fraction name="key_bottom_gap_stone">3.75%p</fraction>
- <fraction name="key_horizontal_gap_stone">1.059%p</fraction>
-
- <fraction name="key_bottom_gap_gb">4.687%p</fraction>
- <fraction name="key_horizontal_gap_gb">1.272%p</fraction>
-
- <fraction name="keyboard_bottom_padding_ics">0.0%p</fraction>
- <fraction name="key_bottom_gap_ics">3.312%p</fraction>
- <fraction name="key_horizontal_gap_ics">1.066%p</fraction>
-
- <dimen name="popup_key_height">63.0dp</dimen>
-
- <dimen name="more_keys_keyboard_key_horizontal_padding">12dp</dimen>
- <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
- <!-- popup_key_height x 1.2 -->
- <dimen name="more_keys_keyboard_slide_allowance">98.3dp</dimen>
- <!-- popup_key_height x -1.0 -->
- <dimen name="more_keys_keyboard_vertical_correction">-81.9dp</dimen>
-
- <!-- left or right padding of label alignment -->
- <dimen name="key_label_horizontal_padding">6dp</dimen>
- <dimen name="key_hint_letter_padding">3dp</dimen>
- <dimen name="key_uppercase_letter_padding">3dp</dimen>
-
- <fraction name="key_letter_ratio">40%</fraction>
- <fraction name="key_large_letter_ratio">42%</fraction>
- <fraction name="key_label_ratio">28%</fraction>
- <fraction name="key_large_label_ratio">28%</fraction>
- <fraction name="key_hint_letter_ratio">23%</fraction>
- <fraction name="key_hint_label_ratio">28%</fraction>
- <fraction name="key_uppercase_letter_ratio">26%</fraction>
- <fraction name="key_preview_text_ratio">50%</fraction>
- <fraction name="spacebar_text_ratio">29.03%</fraction>
- <dimen name="key_preview_height">94.5dp</dimen>
- <dimen name="key_preview_offset">16.0dp</dimen>
-
- <!-- For 5-row keyboard -->
- <fraction name="key_bottom_gap_5row">2.95%p</fraction>
- <fraction name="key_letter_ratio_5row">51%</fraction>
- <fraction name="key_uppercase_letter_ratio_5row">33%</fraction>
-
- <dimen name="key_preview_offset_ics">8.0dp</dimen>
- <!-- popup_key_height x -0.5 -->
- <dimen name="more_keys_keyboard_vertical_correction_ics">-31.5dp</dimen>
-
- <dimen name="suggestions_strip_height">44dp</dimen>
- <dimen name="more_suggestions_row_height">44dp</dimen>
- <integer name="max_more_suggestions_row">6</integer>
- <fraction name="min_more_suggestions_width">90%</fraction>
- <dimen name="suggestions_strip_padding">94.5dp</dimen>
- <dimen name="suggestion_min_width">46dp</dimen>
- <dimen name="suggestion_padding">8dp</dimen>
- <dimen name="suggestion_text_size">22dp</dimen>
- <dimen name="more_suggestions_hint_text_size">33dp</dimen>
-
- <!-- Gesture preview trail parameters -->
- <dimen name="gesture_preview_trail_width">2.5dp</dimen>
- <!-- Gesture floating preview text parameters -->
- <dimen name="gesture_floating_preview_text_size">26dp</dimen>
- <dimen name="gesture_floating_preview_text_offset">86dp</dimen>
- <dimen name="gesture_floating_preview_horizontal_padding">26dp</dimen>
- <dimen name="gesture_floating_preview_vertical_padding">17dp</dimen>
- <dimen name="gesture_floating_preview_round_radius">3dp</dimen>
-</resources>
diff --git a/java/res/values-th/bools.xml b/java/res/values-th/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-th/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-th/strings-appname.xml b/java/res/values-th/strings-appname.xml
deleted file mode 100644
index 7fc7e3e43..000000000
--- a/java/res/values-th/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"แป้นพิมพ์แอนดรอยด์"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"การตรวจสอบการสะกดของแอนดรอยด์"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"การตั้งค่าแป้นพิมพ์แอนดรอยด์"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"การตั้งค่าการตรวจสอบการสะกด"</string>
-</resources>
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
deleted file mode 100644
index d46af858f..000000000
--- a/java/res/values-th/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android keyboard (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"ตัวเลือกการป้อนข้อมูล"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"คำสั่งบันทึกการวิจัย"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"แอนดรอยด์ตรวจสอบการสะกด (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"ค้นหารายชื่อติดต่อ"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"เครื่องมือตรวจการสะกดใช้รายการจากรายชื่อติดต่อของคุณ"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"สั่นเมื่อกดปุ่ม"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"ส่งเสียงเมื่อกดปุ่ม"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"ป๊อปอัปเมื่อกดแป้น"</string>
- <string name="general_category" msgid="1859088467017573195">"ทั่วไป"</string>
- <string name="correction_category" msgid="2236750915056607613">"การแก้ไขข้อความ"</string>
- <string name="misc_category" msgid="6894192814868233453">"ตัวเลือกอื่นๆ"</string>
- <string name="advanced_settings" msgid="362895144495591463">"การตั้งค่าขั้นสูง"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"ตัวเลือกสำหรับผู้เชี่ยวชาญ"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ใช้วิธีการป้อนข้อมูลอื่น"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"แป้นสลับภาษาครอบคลุมวิธีการป้อนข้อมูลอื่นๆ ด้วย"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"แป้นสลับภาษา"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"แสดงเมื่อเปิดใช้งานภาษาสำหรับอินพุตหลายภาษา"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"หน่วงเวลาก่อนปิดป๊อปอัพหลัก"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"ไม่มีการหน่วงเวลา"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"ค่าเริ่มต้น"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"แนะนำชื่อผู้ติดต่อ"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"ใช้ชื่อจากรายชื่อติดต่อสำหรับคำแนะนำและการแก้ไข"</string>
- <string name="auto_cap" msgid="1719746674854628252">"ปรับเป็นตัวพิมพ์ใหญ่อัตโนมัติ"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"พจนานุกรม Add-On"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"พจนานุกรมหลัก"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"แสดงคำแนะนำการแก้ไข"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"แสดงคำที่แนะนำขณะพิมพ์"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"แสดงทุกครั้ง"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"แสดงในโหมดแนวตั้ง"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"ซ่อนทุกครั้ง"</string>
- <string name="auto_correction" msgid="4979925752001319458">"การแก้ไขอัตโนมัติ"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"กดเว้นวรรคและเครื่องหมายจะแก้คำผิดอัตโนมัติ"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"ปิด"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"ปานกลาง"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"เข้มงวด"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"เข้มงวดมาก"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"คำแนะนำสำหรับคำถัดไป"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"ตามคำก่อนหน้า"</string>
- <string name="gesture_input" msgid="3310827802759290774">"ป้อนท่าทางสัมผัส"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"ป้อนคำโดยลากนิ้วเป็นรูปตัวอักษรที่อยู่ในคำ โดยไม่ยกนิ้วขึ้น"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"แสดงรอยทางเดินของท่าทางสัมผัส"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"แสดงคำแนะนำท่าทางสัมผัส"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"แสดงตัวอย่างคำแนะนำพร้อมด้วยท่าทางสัมผัส"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : บันทึกแล้ว"</string>
- <string name="label_go_key" msgid="1635148082137219148">"ไป"</string>
- <string name="label_next_key" msgid="362972844525672568">"ถัดไป"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"ก่อนหน้า"</string>
- <string name="label_done_key" msgid="2441578748772529288">"เสร็จสิ้น"</string>
- <string name="label_send_key" msgid="2815056534433717444">"ส่ง"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"กขค"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"หยุดชั่วคราว"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"รอ"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"เสียบชุดหูฟังเพื่อฟังเสียงเมื่อพิมพ์รหัสผ่าน"</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"ข้อความปัจจุบันคือ %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"ไม่มีข้อความ"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"รหัสคีย์ %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift เปิดอยู่ (แตะเพื่อปิดใช้งาน)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock เปิดอยู่ (แตะเพื่อปิดใช้งาน)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"ลบ"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"สัญลักษณ์"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"ตัวอักษร"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"หมายเลข"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"การตั้งค่า"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"แท็บ"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Space"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"การป้อนข้อมูลด้วยเสียง"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"หน้ายิ้ม"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"ค้นหา"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"เครื่องหมายจุด"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"เปลี่ยนภาษา"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"ถัดไป"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"ก่อนหน้า"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"เปิดใช้งาน Shift แล้ว"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"เปิดใช้งาน Caps Lock แล้ว"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"ปิดใช้งาน Shift แล้ว"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"โหมดสัญลักษณ์"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"โหมดตัวอักษร"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"โหมดโทรศัพท์"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"โหมดสัญลักษณ์โทรศัพท์"</string>
- <string name="voice_input" msgid="3583258583521397548">"แป้นการป้อนข้อมูลด้วยเสียง"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"บนแป้นพิมพ์หลัก"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"บนแป้นพิมพ์สัญลักษณ์"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"ปิด"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"ไมค์บนแป้นพิมพ์หลัก"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"ไมค์บนแป้นพิมพ์สัญลักษณ์"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ปิดใช้งานป้อนข้อมูลด้วยเสียง"</string>
- <string name="configure_input_method" msgid="373356270290742459">"กำหนดค่าวิธีการป้อนข้อมูล"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ภาษาในการป้อนข้อมูล"</string>
- <string name="select_language" msgid="3693815588777926848">"ภาษาสำหรับการป้อนข้อมูล"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"แตะอีกครั้งเพื่อบัน​​ทึก"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"มีพจนานุกรมให้ใช้งาน"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"เปิดใช้งานการแสดงความคิดเห็นจากผู้ใช้"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"ช่วยปรับปรุงตัวแก้ไขวิธีการป้อนข้อมูลนี้โดยการส่งสถิติการใช้งานและรายงานการขัดข้องถึง Google โดยอัตโนมัติ"</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"ชุดรูปแบบแป้นพิมพ์"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"อังกฤษ (สหราชอาณาจักร)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"อังกฤษ (อเมริกัน)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"อังกฤษ (สหราชอาณาจักร) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"อังกฤษ (สหรัฐอเมริกา) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"ไม่มีภาษา"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"ไม่มีภาษา (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"ไม่มีภาษา (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"ไม่มีภาษา (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"ไม่มีภาษา (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"ไม่มีภาษา (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"ไม่มีภาษา (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"รูปแบบอินพุตกำหนดเอง"</string>
- <string name="add_style" msgid="6163126614514489951">"เพิ่มสไตล์"</string>
- <string name="add" msgid="8299699805688017798">"เพิ่ม"</string>
- <string name="remove" msgid="4486081658752944606">"นำออก"</string>
- <string name="save" msgid="7646738597196767214">"บันทึก"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"ภาษา"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"การจัดวาง"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"ต้องเปิดใช้รูปแบบอินพุตที่กำหนดเองก่อน เปิดใช้เลยไหม"</string>
- <string name="enable" msgid="5031294444630523247">"เปิดใช้งาน"</string>
- <string name="not_now" msgid="6172462888202790482">"ข้ามไปก่อน"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"รูปแบบการป้อนข้อมูลเดียวกันนี้มีอยู่แล้ว: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"โหมดศึกษาประโยชน์ในการใช้งาน"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"การตั้งค่าระยะเวลาการสั่นเมื่อกดแป้นพิมพ์"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"การตั้งค่าระดับเสียงเมื่อกดแป้นพิมพ์"</string>
-</resources>
diff --git a/java/res/values-tl/bools.xml b/java/res/values-tl/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-tl/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-tl/strings-appname.xml b/java/res/values-tl/strings-appname.xml
deleted file mode 100644
index fd2b3f55b..000000000
--- a/java/res/values-tl/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Keyboard ng Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Spell checker ng Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Mga setting ng keyboard ng Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Mga setting ng pag-spell check"</string>
-</resources>
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
deleted file mode 100644
index 7d2a0e8f7..000000000
--- a/java/res/values-tl/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android keyboard (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Mga pagpipilian sa input"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Cmmnd sa Log ng Pnnliksik"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Pang-check ng pagbabaybay ng Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Maghanap pangalan contact"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Gumagamit pang-check pagbabaybay entry sa iyong listahan contact"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Mag-vibrate sa keypress"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Tunog sa keypress"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Popup sa keypress"</string>
- <string name="general_category" msgid="1859088467017573195">"Pangkalahatan"</string>
- <string name="correction_category" msgid="2236750915056607613">"Pagwawasto ng teksto"</string>
- <string name="misc_category" msgid="6894192814868233453">"Iba pang mga pagpipilian"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Mga advanced na setting"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Mga pagpipilian para sa mga dalubhasa"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Lipat iba paraan ng input"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Saklaw din ng key ng pagpalit ng wika ang ibang paraan ng input"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Key ng panlipat ng wika"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Ipakita kapag maraming wika ng input na pinagana"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Balewala antala key popup"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Walang antala"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Default"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Mungkahi pangalan Contact"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Gamitin pangalan mula Mga Contact sa mga mungkahi\'t pagwawasto"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Auto-capitalization"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Mga diksyunaryo na add-on"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Pangunahing diksyunaryo"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Magpakita ng mga suhestiyon ng pagwawasto"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Ipakita ang mga iminumungkahing salita habang nagta-type"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Palaging ipakita"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Ipakita sa portrait mode"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Palaging itago"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Awtomatikong pagwasto"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Awto tinatama ng spacebar at bantas ang maling na-type"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Naka-off"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Modest"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresibo"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Napaka-agresibo"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Mga suhestiyon sa susunod na salita"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Batay sa nakaraang salita"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Pagpasok ng galaw"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Magpasok ng salita sa gamit ang pagsulat sa mga titik ng salita"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Ipakita ang trail ng galaw"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Ipakita ang salita ng galaw"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Ipakita ang lumulutang na preview ng salita na may galaw"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Na-save"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Punta"</string>
- <string name="label_next_key" msgid="362972844525672568">"Susunod"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Nkrn"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Tapos na"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Ipadala"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Intay"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Mag-plug in ng headset upang marinig ang mga password key na binabanggit nang malakas."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Ang kasalukuyang teksto ay %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Walang tekstong inilagay"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Code ng key %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Naka-on ang shift (i-tap upang huwag paganahin)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Naka-on ang caps lock (i-tap upang huwag paganahin)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Tanggalin"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Mga Simbolo"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Mga Titik"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Mga Numero"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Mga Setting"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Puwang"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Input ng boses"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Smiley na mukha"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Bumalik"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Paghahanap"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Tuldok"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Magpalit ng wika"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Susunod"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Nakaraan"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Pinagana ang shift"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Pinagana ang caps lock"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Hindi pinagana ang shift"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Mode ng mga simbolo"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Mode ng mga titik"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mode ng telepono"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mode ng mga simbolo ng telepono"</string>
- <string name="voice_input" msgid="3583258583521397548">"Voice input key"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Sa pangunahing keyboard"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Sa keyboard ng mga simbolo"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Naka-off"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Mic sa pangunahing keyboard"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mic sa keyboard ng mga simbolo"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hindi pinagana ang voice input"</string>
- <string name="configure_input_method" msgid="373356270290742459">"I-configure ang mga pamamaraan ng pag-input"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Mag-input ng mga wika"</string>
- <string name="select_language" msgid="3693815588777926848">"Mga wika ng input"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Pinduting muli upang i-save"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Available ang diksyunaryo"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Paganahin ang feedback ng user"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Tumulong na pahusayin ang editor ng paraan ng pag-input na ito sa pamamagitan ng awtomatikong pagpapadala ng mga istatistika ng paggamit at mga ulat ng crash sa Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Tema ng keyboard"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Ingles (UK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Ingles (Estados Unidos)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Ingles (UK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Ingles (US) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Walang wika"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Walang wika (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Walang wika (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Walang wika (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Walang wika (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Walang wika (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Walang wika (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Custom style ng input"</string>
- <string name="add_style" msgid="6163126614514489951">"Dagdag style"</string>
- <string name="add" msgid="8299699805688017798">"Idagdag"</string>
- <string name="remove" msgid="4486081658752944606">"Alisin"</string>
- <string name="save" msgid="7646738597196767214">"I-save"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Wika"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Kailangan pinagana ang custom na istilo ng input bago simulang gamitin. Nais itong paganahin?"</string>
- <string name="enable" msgid="5031294444630523247">"Paganahin"</string>
- <string name="not_now" msgid="6172462888202790482">"Hindi ngayon"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Umiiral na ang parehong estilo ng input: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Study mode ng pagiging kapaki-pakinabang"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Mga setting ng tagal ng vibration ng keypress"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Mga setting ng volume ng tunog ng keypress"</string>
-</resources>
diff --git a/java/res/values-tr/bools.xml b/java/res/values-tr/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-tr/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-tr/strings-appname.xml b/java/res/values-tr/strings-appname.xml
deleted file mode 100644
index f5e36d2e8..000000000
--- a/java/res/values-tr/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android klavyesi"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android yazım denetleyici"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android klavye ayarları"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Yazım denetimi ayarları"</string>
-</resources>
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
deleted file mode 100644
index 6769b3618..000000000
--- a/java/res/values-tr/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android klavye (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Giriş seçenekleri"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Araştırma Günlüğü Komutları"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android yazım denetleyici (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Kişi adlarını denetle"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Yazım denetleyici, kişi listenizdeki girişleri kullanır"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Tuşa basıldığında titret"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Tuşa basıldığında ses çıkar"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Tuşa basıldığında pop-up aç"</string>
- <string name="general_category" msgid="1859088467017573195">"Genel"</string>
- <string name="correction_category" msgid="2236750915056607613">"Metin düzeltme"</string>
- <string name="misc_category" msgid="6894192814868233453">"Diğer seçenekler"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Gelişmiş ayarlar"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Uzmanlar için seçenekler"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Diğer giriş yöntemine geç"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Dil geçiş tuşu diğer giriş yöntemlerini de kapsar"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Dil değiştirme tuşu"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Birden fazla giriş dili etkin olduğunda göster"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Tuş popup\'ının kapatılmasını geciktirme"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Gecikme yok"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Varsayılan"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Kişi Adları öner"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Öneri ve düzeltmeler için Kişiler\'deki adları kullan"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Otomatik olarak büyük fark yap"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Ek sözlükler"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Ana sözlük"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Düzeltme önerilerini göster"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Yazarken, önerilen kelimeleri görüntüle"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Her zaman göster"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Dikey modda göster"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Her zaman gizle"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Otomatik düzeltme"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Boşluk tuşu ve noktalama işaretleri yanlış yazılan kelimeleri otomatikman düzeltir"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Kapalı"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Ölçülü"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresif"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Çok geniş ölçekte"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Sonraki kelime önerileri"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Önceki kelimeye dayanarak"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Hareketle giriş"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Bir kelimeyi harflerini izleyerek girin"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Hareket izini göster"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Hareketle yazılan kelimeyi göster"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Hareketle kayan önizleme kelimesini göster"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Kaydedildi"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Git"</string>
- <string name="label_next_key" msgid="362972844525672568">"İleri"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Önceki"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Bitti"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Gönder"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Durkl"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Bekle"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Şifre tuşlarının sesli okunmasını dinlemek için mikrofonlu kulaklık takın."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Mevcut metin: %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Hiç metin girilmedi"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Tuş kodu: %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Üst Karakter"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Üst karakter açık (devre dışı bırakmak için hafifçe vurun)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Büyük harf kilidi açık (devre dışı bırakmak içinn hafifçe vurun)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simgeler"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Harfler"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Rakamlar"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Ayarlar"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Sekme"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Boşluk"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Ses girişi"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Gülen yüz"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Ara"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Nokta"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Dili değiştir"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Sonraki"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Önceki"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Üst karakter etkin"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Büyük harf kilidi etkin"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Üst karakter devre dışı"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Sembol modu"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Harf modu"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefon modu"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefon sembolleri modu"</string>
- <string name="voice_input" msgid="3583258583521397548">"Ses girişi tuşu"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Ana klavyede"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Simge klavyesinde"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Kapalı"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Ana klavyedeki mikrofon"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Simge klavysnd mikrf"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Sesle grş devre dışı"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Giriş yöntemlerini yapılandır"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Giriş dilleri"</string>
- <string name="select_language" msgid="3693815588777926848">"Giriş dilleri"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Kaydetmek için tekrar dokunun"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Sözlük kullanılabilir"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Kullanıcı geri bildirimini etkinleştir"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Kullanım istatistiklerini ve kilitlenme raporlarını Google\'a otomatik olarak göndererek bu giriş yöntemi düzenleyicisinin iyileştirilmesine yardımcı olun."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Klavye teması"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"İngilizce (BK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"İngilizce (ABD)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"İngilizce (İngiltere) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"İngilizce (ABD) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Dil yok"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Dil yok (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Dil yok (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Dil yok (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Dil yok (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Dil yok (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Dil yok (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Özel giriş stilleri"</string>
- <string name="add_style" msgid="6163126614514489951">"Stil ekle"</string>
- <string name="add" msgid="8299699805688017798">"Ekle"</string>
- <string name="remove" msgid="4486081658752944606">"Kaldır"</string>
- <string name="save" msgid="7646738597196767214">"Kaydet"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Dil"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Düzen"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Kullanmaya başlamadan önce özel giriş stilinizin etkinleştirilmesi gerekiyor. Şimdi etkinleştirmek ister misiniz?"</string>
- <string name="enable" msgid="5031294444630523247">"Etkinleştir"</string>
- <string name="not_now" msgid="6172462888202790482">"Şimdi değil"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Aynı giriş stili zaten var: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Kullanılabilirlik çalışması modu"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Tuşa basma titreşim süresi ayarları"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Tuşa basma ses düzeyi ayarları"</string>
-</resources>
diff --git a/java/res/values-uk/bools.xml b/java/res/values-uk/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-uk/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-uk/strings-appname.xml b/java/res/values-uk/strings-appname.xml
deleted file mode 100644
index fdbb89fd9..000000000
--- a/java/res/values-uk/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Клавіатура Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Засіб перевірки орфографії Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Налаштування клавіатури Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Налаштування перевірки орфографії"</string>
-</resources>
diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml
deleted file mode 100644
index a601fa8e2..000000000
--- a/java/res/values-uk/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Клавіатура Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Парам. введення"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Команди журналу дослідж."</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Засіб перевірки орфографії Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Шукати імена контактів"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Програма перевірки правопису використ. записи зі списку контактів"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Вібр. при натисканні клавіш"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Звук при натиску клав."</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Сплив. при нат.клав."</string>
- <string name="general_category" msgid="1859088467017573195">"Загальні"</string>
- <string name="correction_category" msgid="2236750915056607613">"Виправлення тексту"</string>
- <string name="misc_category" msgid="6894192814868233453">"Інші опції"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Розширені налаштування"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Налаштування для досвідчених користувачів"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Інші методи введення"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Клавіша зміни мови дозволяє змінювати методи введення"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Клавіша зміни мови"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Показувати, коли ввімкнено декілька мов введення"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Затримка клавіши закриття"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Без затримки"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"За умовчанням"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Пропон. імена контактів"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Використ. імена зі списку контактів для пропозицій і виправлень"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Авто викор. вел. літер"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Додані словники"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Основний словник"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Показувати пропозиції виправлень"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Відображати пропоновані слова під час вводу"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Завжди показувати"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Показувати в книжковому режимі"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Завжди ховати"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Автомат. виправлення"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Пробіл і пунктуація автоматично виправляють слова з помилками"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Вимк."</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Помірне"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Активне"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Дуже активне"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Пропозиції наступного слова"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"На основі попереднього слова"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Ввід жестами"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Введіть слово, малюючи літери, з яких воно складається"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Показувати слід жестів"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Показувати слово для жесту"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Показувати спливаючий перегляд слова під час жесту"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : збережено"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Іти"</string>
- <string name="label_next_key" msgid="362972844525672568">"Далі"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Назад"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Готово"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Надісл."</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"АБВ"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Чек."</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Підключіть гарнітуру, щоб прослухати відтворені вголос символи пароля."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Поточний текст – %s."</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Текст не введено"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Код клавіші – %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Клавіша Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift увімкнено (швидко торкніться, щоб вимкнути)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock увімкнено (швидко торкніться, щоб вимкнути)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Клавіша Delete"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Символи"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Літери"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Цифри"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Налаштування"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Вкладка"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Пробіл"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Голосовий ввід"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Смайлик"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Клавіша Return"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Пошук"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Крапка"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Змінити мову"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Далі"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Назад"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift увімкнено"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock увімкнено"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift вимкнено"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Режим символів"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Режим букв і цифр"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Режим набору номера"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Режим набору символів"</string>
- <string name="voice_input" msgid="3583258583521397548">"Ключ голосового вводу"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"На основ. клавіатурі"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Символьна клавіатура"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Вимк."</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Miкр. на осн. клав."</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Miкр. на симв. клавіат."</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Голос. ввід вимкнено"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Налаштування методів введення"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Мови вводу"</string>
- <string name="select_language" msgid="3693815588777926848">"Мови введення"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Торкніться знову, щоб зберегти"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Словник доступний"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Увімк. відгуки корист."</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Допоможіть покращ. редактор методу введ., автомат. надсилаючи в Google статистику використ. та звіти про збої."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Тема клавіатури"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Англійська (Великобританія)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Англійська (США)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Англійська (Великобр.) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Англійська (США) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Мову не вибрано"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Немає мови (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Без мови (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Без мови (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Без мови (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Без мови (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Без мови (ПК)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Персональні стилі введення"</string>
- <string name="add_style" msgid="6163126614514489951">"Додати стиль"</string>
- <string name="add" msgid="8299699805688017798">"Додати"</string>
- <string name="remove" msgid="4486081658752944606">"Видалити"</string>
- <string name="save" msgid="7646738597196767214">"Зберегти"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Мова"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Розкладка"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Щоб використовувати персональний стиль введення, його потрібно ввімкнути. Увімкнути його?"</string>
- <string name="enable" msgid="5031294444630523247">"Увімкнути"</string>
- <string name="not_now" msgid="6172462888202790482">"Не зараз"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Такий стиль введення вже існує: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим вивчення зручності у використанні"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Налаштування тривалості вібрації під час натискання клавіші"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Налаштування гучності звуку під час натискання клавіші"</string>
-</resources>
diff --git a/java/res/values-vi/bools.xml b/java/res/values-vi/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-vi/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-vi/strings-appname.xml b/java/res/values-vi/strings-appname.xml
deleted file mode 100644
index 6e32d0370..000000000
--- a/java/res/values-vi/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Bàn phím Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Trình kiểm tra chính tả Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Cài đặt bàn phím Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Cài đặt kiểm tra chính tả"</string>
-</resources>
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
deleted file mode 100644
index efd85a4f7..000000000
--- a/java/res/values-vi/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Bàn phím Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Tùy chọn nhập"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Lệnh ghi nhật ký cho nghiên cứu"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Trình kiểm tra chính tả Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Tra cứu tên liên hệ"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Trình kiểm tra chính tả sử dụng các mục nhập từ danh sách liên hệ của bạn"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Rung khi nhấn phím"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Âm thanh khi nhấn phím"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Cửa sổ bật lên khi nhấn phím"</string>
- <string name="general_category" msgid="1859088467017573195">"Chung"</string>
- <string name="correction_category" msgid="2236750915056607613">"Sửa văn bản"</string>
- <string name="misc_category" msgid="6894192814868233453">"Tùy chọn khác"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Cài đặt nâng cao"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Tùy chọn dành cho chuyên gia"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Phương thức nhập khác"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Khóa chuyển ngôn ngữ bao gồm cả các phương thức nhập liệu khác"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Phím chuyển đổi ngôn ngữ"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Hiển thị khi nhiều ngôn ngữ đầu vào được bật"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Loại bỏ hiển thị phím trễ"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Không có tgian trễ"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Mặc định"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Đề xuất tên liên hệ"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Sử dụng tên từ Danh bạ cho các đề xuất và chỉnh sửa"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Tự động viết hoa"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Thêm từ điển"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Từ điển chính"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Hiển thị gợi ý sửa"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Hiển thị từ được đề xuất khi nhập"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Luôn hiển thị"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Hiển thị trên chế độ khổ đứng"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Luôn ẩn"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Tự động sửa"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Phím cách và dấu câu tự động sửa từ nhập sai"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Tắt"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Đơn giản"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Linh hoạt"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Rất linh hoạt"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Đề xuất từ tiếp theo"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Dựa trên từ trước đó"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Nhập bằng cử chỉ"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Nhập từ bằng cách lần theo các chữ cái của từ"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Hiển thị vệt cử chỉ"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Hiển thị từ theo cử chỉ"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Hiển thị từ xem trước nổi bằng cử chỉ"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Đã lưu"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Tìm"</string>
- <string name="label_next_key" msgid="362972844525672568">"Tiếp theo"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Trước"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Xong"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Gửi"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Tạm dừng"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Đợi"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Cắm tai nghe để nghe mật khẩu."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Ký tự hiện tại là %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Không có ký tự nào được nhập"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Mã phím %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift đang bật (bấm để tắt)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps lock đang bật (bấm để tắt)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Xóa"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Biểu tượng"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Chữ cái"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Số"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Cài đặt"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Dấu cách"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Nhập dữ liệu bằng giọng nói"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Mặt cười"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Quay lại"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Tìm kiếm"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Dấu chấm"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Chuyển ngôn ngữ"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Tiếp theo"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Trước"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Đã bật Shift"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Đã bật Caps lock"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Đã tắt Shift"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Chế độ biểu tượng"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Chế độ chữ cái"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Chế độ điện thoại"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Chế độ biểu tượng điện thoại"</string>
- <string name="voice_input" msgid="3583258583521397548">"Khóa nhập giọng nói"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Trên bàn phím chính"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Trên bàn phím biểu tượng"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"Tắt"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"Micrô trên bàn phím chính"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micrô trên bàn phím biểu tượng"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Nhập liệu bằng giọng nói đã bị tắt"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Định cấu hình phương thức nhập"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Ngôn ngữ nhập"</string>
- <string name="select_language" msgid="3693815588777926848">"Ngôn ngữ nhập"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Chạm lại để lưu"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Có sẵn từ điển"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Bật phản hồi của người dùng"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Giúp nâng cao trình chỉnh sửa phương thức nhập này bằng cách tự động gửi thống kê sử dụng và báo cáo sự cố cho Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Chủ đề bàn phím"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Tiếng Anh (Anh)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Tiếng Anh (Mỹ)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Tiếng Anh (Anh) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Tiếng Anh (Mỹ) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Không có ngôn ngữ nào"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Không có ngôn ngữ (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"0 ngôn ngữ (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"0 ngôn ngữ (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"0 ngôn ngữ (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"0 ngôn ngữ (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"0 ngôn ngữ (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Kiểu nhập tùy chỉnh"</string>
- <string name="add_style" msgid="6163126614514489951">"Thêm kiểu"</string>
- <string name="add" msgid="8299699805688017798">"Thêm"</string>
- <string name="remove" msgid="4486081658752944606">"Xóa"</string>
- <string name="save" msgid="7646738597196767214">"Lưu"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Ngôn ngữ"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Bố cục"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Bạn cần phải bật kiểu nhập tùy chỉnh trước khi bắt đầu sử dụng nó. Bạn có muốn bật kiểu nhập tùy chỉnh ngay bây giờ không?"</string>
- <string name="enable" msgid="5031294444630523247">"Bật"</string>
- <string name="not_now" msgid="6172462888202790482">"Để sau"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Đã tồn tại kiểu nhập tương tự: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Chế độ nghiên cứu tính khả dụng"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Cài đặt thời gian rung khi nhấn phím"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Cài đặt âm lượng khi nhấn phím"</string>
-</resources>
diff --git a/java/res/values-zh-rCN/strings-appname.xml b/java/res/values-zh-rCN/strings-appname.xml
deleted file mode 100644
index f5e12fd5e..000000000
--- a/java/res/values-zh-rCN/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android 键盘"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android 拼写检查工具"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android 键盘设置"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"拼写检查设置"</string>
-</resources>
diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml
deleted file mode 100644
index c8950c43d..000000000
--- a/java/res/values-zh-rCN/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android 键盘 (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"输入选项"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"研究记录命令"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android 拼写检查工具 (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"查找联系人姓名"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"拼写检查工具会使用您的联系人列表中的条目"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"按键振动"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"按键音效"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"按键时弹出显示字符"</string>
- <string name="general_category" msgid="1859088467017573195">"常规"</string>
- <string name="correction_category" msgid="2236750915056607613">"文本更正"</string>
- <string name="misc_category" msgid="6894192814868233453">"其他选项"</string>
- <string name="advanced_settings" msgid="362895144495591463">"高级设置"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"高级选项"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"切换到其他输入法"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"语言切换键也可用于切换其他输入法"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"语言切换键"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"启用了多种输入语言时显示"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"弹出字符隐藏延迟"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"无延迟"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"默认"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"联系人姓名建议"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"使用联系人中的姓名提供建议和更正"</string>
- <string name="auto_cap" msgid="1719746674854628252">"自动大写"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"附加词典"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"主词典"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"显示更正建议"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"键入时显示建议的字词"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"始终显示"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"在纵向模式时显示"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"始终隐藏"</string>
- <string name="auto_correction" msgid="4979925752001319458">"自动更正"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"按空格键和标点可自动更正错别字"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"关闭"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"小改"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"大改"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"改动极大"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"下一字词建议"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"根据上一个字词提供建议"</string>
- <string name="gesture_input" msgid="3310827802759290774">"滑行输入"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"连笔书写输入字词"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"显示滑行输入轨迹"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"显示滑行输入文字"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"滑行输入时显示漂浮预览文字"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:已保存"</string>
- <string name="label_go_key" msgid="1635148082137219148">"开始"</string>
- <string name="label_next_key" msgid="362972844525672568">"下一步"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"后退"</string>
- <string name="label_done_key" msgid="2441578748772529288">"完成"</string>
- <string name="label_send_key" msgid="2815056534433717444">"发送"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"暂停"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"等待"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"需要插入耳机才能听到密码的按键声。"</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"当前文本为%s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"未输入文字"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"键码为 %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift 模式已启用(点按即可停用)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"大写锁定已启用(点按即可停用)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"删除"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"符号"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"字母"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"数字"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"设置"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"空格"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"语音输入"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"笑脸"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"返回"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"搜索"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"点"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"切换语言"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"下一个"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"上一个"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift 模式已启用"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"大写锁定已启用"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift 模式已停用"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"符号模式"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"字母模式"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"电话模式"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"电话符号模式"</string>
- <string name="voice_input" msgid="3583258583521397548">"语音输入键"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"主键盘上"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"符号键盘上"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"关闭"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"主键盘上的麦克风"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"符号键盘上的麦克风"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"语音输入功能已停用"</string>
- <string name="configure_input_method" msgid="373356270290742459">"配置输入法"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"输入语言"</string>
- <string name="select_language" msgid="3693815588777926848">"输入语言"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"再次触摸即可保存"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"有可用词典"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"启用用户反馈"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"自动向 Google 发送使用情况统计信息和崩溃报告,帮助改进该输入法编辑器。"</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"键盘主题"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"英语(英国)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"英语(美国)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"英语(英国)(<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"英语(美国)(<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"无语言"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"无语言(QWERTY 键盘)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"无语言(QWERTZ 键盘)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"无语言(AZERTY 键盘)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"无语言(Dvorak 键盘)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"无语言(Colemak 键盘)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"无语言(PC 键盘)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"自定义输入样式"</string>
- <string name="add_style" msgid="6163126614514489951">"添加样式"</string>
- <string name="add" msgid="8299699805688017798">"添加"</string>
- <string name="remove" msgid="4486081658752944606">"删除"</string>
- <string name="save" msgid="7646738597196767214">"保存"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"语言"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"布局"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"您需要先启用自定义输入风格,然后才能开始使用。要立即启用该风格吗?"</string>
- <string name="enable" msgid="5031294444630523247">"启用"</string>
- <string name="not_now" msgid="6172462888202790482">"以后再说"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"已经存在相同的输入风格:<xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"可用性研究模式"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"按键振动持续时间设置"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"按键音量设置"</string>
-</resources>
diff --git a/java/res/values-zh-rTW/strings-appname.xml b/java/res/values-zh-rTW/strings-appname.xml
deleted file mode 100644
index 8cc663826..000000000
--- a/java/res/values-zh-rTW/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Android 鍵盤"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Android 拼字檢查"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Android 鍵盤設定"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"拼字檢查設定"</string>
-</resources>
diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml
deleted file mode 100644
index fdb8a8643..000000000
--- a/java/res/values-zh-rTW/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android 鍵盤 (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"輸入選項"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"研究紀錄指令"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android 拼字檢查 (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"查詢聯絡人姓名"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"拼字檢查程式使用您的聯絡人清單項目"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"按鍵時震動"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"按鍵時播放音效"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"按鍵時顯示彈出式視窗"</string>
- <string name="general_category" msgid="1859088467017573195">"一般設定"</string>
- <string name="correction_category" msgid="2236750915056607613">"文字修正"</string>
- <string name="misc_category" msgid="6894192814868233453">"其他選項"</string>
- <string name="advanced_settings" msgid="362895144495591463">"進階設定"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"進階選項"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"切換至其他輸入法"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"使語言切換鍵包含其他輸入法"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"語言切換鍵"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"有多種輸入語言可選用時顯示切換鍵"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"關閉彈出式鍵盤的延遲時間"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"不延遲"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"預設"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"建議聯絡人名稱"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"根據「聯絡人」名稱提供建議與修正"</string>
- <string name="auto_cap" msgid="1719746674854628252">"自動大寫"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"外掛字典"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"主要字典"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"顯示修正建議"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"輸入時顯示建議字詞"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"一律顯示"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"以垂直模式顯示"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"永遠隱藏"</string>
- <string name="auto_correction" msgid="4979925752001319458">"自動修正"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"按空白鍵或標點符號時,自動修正前面的錯字"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"關閉"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"更正範圍小"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"更正範圍大"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"更正範圍極大"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"下一個字詞建議"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"根據上一個字詞產生"</string>
- <string name="gesture_input" msgid="3310827802759290774">"滑行輸入"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"以手指寫出字詞中字母的方式來輸入字詞"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"顯示手勢軌跡"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"顯示手勢字詞"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"使用手勢輸入時顯示浮動預覽字詞"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:已儲存"</string>
- <string name="label_go_key" msgid="1635148082137219148">"開始"</string>
- <string name="label_next_key" msgid="362972844525672568">"繼續"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"上一步"</string>
- <string name="label_done_key" msgid="2441578748772529288">"完成"</string>
- <string name="label_send_key" msgid="2815056534433717444">"傳送"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"暫停"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"等候"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"連接耳機即可聽取系統朗讀密碼按鍵。"</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"目前文字為 %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"未輸入文字"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"按鍵代碼 %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift 鍵"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift 鍵已開啟 (輕按即可停用)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"大寫鎖定已開啟 (輕按即可停用)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"刪除"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"符號"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"字母"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"數字"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"設定"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab 鍵"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"空白鍵"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"語音輸入"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"笑臉"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"返回"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"搜尋"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"點"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"切換語言"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"下一步"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"上一步"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift 鍵已啟用"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"大寫鎖定已啟用"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift 鍵已停用"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"符號模式"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"字母模式"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"撥號模式"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"撥號符號模式"</string>
- <string name="voice_input" msgid="3583258583521397548">"語音輸入按鍵"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"主鍵盤上"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"符號鍵盤上"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"關閉"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"主鍵盤上的麥克風"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"符號鍵盤上的麥克風"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"語音輸入已停用"</string>
- <string name="configure_input_method" msgid="373356270290742459">"設定輸入法"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"輸入語言"</string>
- <string name="select_language" msgid="3693815588777926848">"輸入語言"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"再次輕觸即可儲存"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"可使用字典"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"啟用使用者意見回饋"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"自動將使用統計資料和當機報告傳送給 Google,協助改善這個輸入法編輯器。"</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"鍵盤主題"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"英文 (英式)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"英文 (美式)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"英文 (英國) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"英文 (美國) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"無語言"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"無語言 (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"無語言 (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"無語言 (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"無語言 (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"無語言 (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"無語言 (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"自訂輸入樣式"</string>
- <string name="add_style" msgid="6163126614514489951">"新增樣式"</string>
- <string name="add" msgid="8299699805688017798">"新增"</string>
- <string name="remove" msgid="4486081658752944606">"移除"</string>
- <string name="save" msgid="7646738597196767214">"儲存"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"語言"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"配置"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"您必須先啟用自訂輸入樣式,才能開始使用。您要立即啟用嗎?"</string>
- <string name="enable" msgid="5031294444630523247">"啟用"</string>
- <string name="not_now" msgid="6172462888202790482">"暫時不要"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"已存在相同的輸入樣式:<xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"使用習慣學習模式"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"按鍵震動持續時間設定"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"按鍵音量設定"</string>
-</resources>
diff --git a/java/res/values-zu/bools.xml b/java/res/values-zu/bools.xml
deleted file mode 100644
index 840d20c21..000000000
--- a/java/res/values-zu/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">true</bool>
-</resources>
diff --git a/java/res/values-zu/strings-appname.xml b/java/res/values-zu/strings-appname.xml
deleted file mode 100644
index a0fb51716..000000000
--- a/java/res/values-zu/strings-appname.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="178705338187710493">"Ikhibhodi ye-Android"</string>
- <string name="spell_checker_service_name" msgid="6268342166872202903">"Isihloli sokupela se-Android"</string>
- <string name="english_ime_settings" msgid="7470027018752707691">"Izilungiselelo zekhibhodi ye-Android"</string>
- <string name="android_spell_checker_settings" msgid="8397842018475560441">"Izilungiselelo zokuhlola ukupela"</string>
-</resources>
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
deleted file mode 100644
index 14446ac12..000000000
--- a/java/res/values-zu/strings.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Ikhibhodi ye-Android (AOSP)"</string>
- <string name="english_ime_input_options" msgid="3909945612939668554">"Okukhethwa kukho kokungenayo"</string>
- <string name="english_ime_research_log" msgid="8492602295696577851">"Imiyalo yefayela lokungena lokucwaninga"</string>
- <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Isihloli sokupela se-Android (AOSP)"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Bheka amagama woxhumana nabo"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Isihloli sokupela sisebenzisa okungenayo kusuka kuhlu lalabo oxhumana nabo"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Dlidlizelisa ngokucindezela inkinobho"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Umsindo wokucindezela ukhiye"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Ugaxekile ngokucindezela ukhiye"</string>
- <string name="general_category" msgid="1859088467017573195">"Okuvamile"</string>
- <string name="correction_category" msgid="2236750915056607613">"Ukulungiswa kombhalo"</string>
- <string name="misc_category" msgid="6894192814868233453">"Okunye okukhethwa kukho"</string>
- <string name="advanced_settings" msgid="362895144495591463">"Izilungiselelo ezithuthukisiwe"</string>
- <string name="advanced_settings_summary" msgid="4487980456152830271">"Izinketho zezingcwenti"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Shintshela kwezinye izindlela zokungena"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Ukhiye wokushintsha ulimi ubandakanya ezinye izindlela zokungenayo"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Ukhiye wokushintsha ullimi"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Bonisa uma izilimi zokufaka zinikwe amandla"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Ukuvela kokhiye cashisa ukulibazisa"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Cha ukulibazisa"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Okuzenzakalelayo"</string>
- <string name="use_contacts_dict" msgid="4435317977804180815">"Sikisela amagama Othintana nabo"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Amagama abasebenzisi kusuka Kothintana nabo bokusikisela nokulungisa"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Ukwenza ofeleba okuzenzakalelayo"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"Faka izichazamazwi"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Isichazamazwi sakho ngqangi"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"Bonisa ukusikesela kokulungisa"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Bonisa amagama aphakamisiwe ngenkathi uthayipha"</string>
- <string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Bonisa njalo"</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Bonisa kwimodi emile"</string>
- <string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Fihla njalo"</string>
- <string name="auto_correction" msgid="4979925752001319458">"Ukulungisa okuzenzakalelayo"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"Ibha yesikhala nokubhala ngamagama amakhulu kulungisa amaphutha amagama athayiphwe kabi"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Valiwe"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Thobekile"</string>
- <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Bukhali"</string>
- <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Nobudlova kakhulu"</string>
- <string name="bigram_prediction" msgid="5809665643352206540">"Iziphakamiso zegama elilandelayo"</string>
- <string name="bigram_prediction_summary" msgid="3253961591626441019">"Ngokususela egameni langaphambilini"</string>
- <string name="gesture_input" msgid="3310827802759290774">"Okokufaka kokuthinta"</string>
- <string name="gesture_input_summary" msgid="7019742443455085809">"Faka igama ngokulandela ngomkhondo izinhlamvu zegama"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Bonisa i-trail yokuthinta"</string>
- <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Bonisa igama lokuthinta"</string>
- <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Bonisa igama lokuhlola kuqala elintantayo nokuthinta"</string>
- <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Kulondoloziwe"</string>
- <string name="label_go_key" msgid="1635148082137219148">"Iya"</string>
- <string name="label_next_key" msgid="362972844525672568">"Okulandelayo"</string>
- <string name="label_previous_key" msgid="1211868118071386787">"Eledlule"</string>
- <string name="label_done_key" msgid="2441578748772529288">"Kwenziwe"</string>
- <string name="label_send_key" msgid="2815056534433717444">"Thumela"</string>
- <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340">"Misa okwesikhashana"</string>
- <string name="label_wait_key" msgid="6402152600878093134">"Linda"</string>
- <string name="spoken_use_headphones" msgid="896961781287283493">"Plaka ku-headset ukuze uzwe okhiye bephasiwedi ezindlebeni zakho bezwakala kakhulu."</string>
- <string name="spoken_current_text_is" msgid="2485723011272583845">"Umbhalo wamanje ngu %s"</string>
- <string name="spoken_no_text_entered" msgid="7479685225597344496">"Awukho umbhalo ofakiwe"</string>
- <string name="spoken_description_unknown" msgid="3197434010402179157">"Ikhodi yokhiye %d"</string>
- <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string>
- <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"U-Shift uvuliwe (thepha ukuwuvimbela)"</string>
- <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Ofeleba bavuliwe (thepha ukubavimbela)"</string>
- <string name="spoken_description_delete" msgid="8740376944276199801">"Susa"</string>
- <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Amasimbuli"</string>
- <string name="spoken_description_to_alpha" msgid="23129338819771807">"Imbhalo"</string>
- <string name="spoken_description_to_numeric" msgid="591752092685161732">"Izinombolo"</string>
- <string name="spoken_description_settings" msgid="4627462689603838099">"Izilungiselelo"</string>
- <string name="spoken_description_tab" msgid="2667716002663482248">"Tab"</string>
- <string name="spoken_description_space" msgid="2582521050049860859">"Isikhala"</string>
- <string name="spoken_description_mic" msgid="615536748882611950">"Okungenayo kwezwi"</string>
- <string name="spoken_description_smiley" msgid="2256309826200113918">"Ubuso-obumomothekayo"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Buyisela"</string>
- <string name="spoken_description_search" msgid="1247236163755920808">"Sesha"</string>
- <string name="spoken_description_dot" msgid="40711082435231673">"Icashazi"</string>
- <string name="spoken_description_language_switch" msgid="5507091328222331316">"Shintsha ulimi"</string>
- <string name="spoken_description_action_next" msgid="8636078276664150324">"Okulandelayo"</string>
- <string name="spoken_description_action_previous" msgid="800872415009336208">"Okwangaphambilini"</string>
- <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"U-Shift uvunyelwe"</string>
- <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Ofeleba bavunyelwe"</string>
- <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"U-Shift uvimbelwe"</string>
- <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Imodi yezimpawu"</string>
- <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Imodi yezinhlamvu"</string>
- <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Imodi yefoni"</string>
- <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Imodi yezimpawu zefoni"</string>
- <string name="voice_input" msgid="3583258583521397548">"Inkinobho yokufaka izwi"</string>
- <string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"Kwikhibhodi eyisisekelo"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"Ikhibhodi yezimpawu"</string>
- <string name="voice_input_modes_off" msgid="3745699748218082014">"VALIWE"</string>
- <string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"I-mic kwikhibhodi eyisisekelo"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Ikhibhodi yezimpawu ze-mic"</string>
- <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Okufakwayo ngezwi kuvinjelwe"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Misa izindlela zokufakwayo"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Izilimi zokufakwayo"</string>
- <string name="select_language" msgid="3693815588777926848">"Izilimi zokufakwayo"</string>
- <string name="hint_add_to_dictionary" msgid="573678656946085380">"Thinta futhi ukuze ulondoloze"</string>
- <string name="has_dictionary" msgid="6071847973466625007">"Isichazamazwi siyatholakala"</string>
- <string name="prefs_enable_log" msgid="6620424505072963557">"Vumela impendulo yomsebenzisi"</string>
- <string name="prefs_description_log" msgid="5827825607258246003">"Siza ukuthuthukisa lo mhleli wendlela yokufakwa ngokusithumela ngokuzenzakalela izibalo zokusetshenziswa nokukhubeka ku-Google."</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"Indikimba yekhibhodi"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"i-English(UK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"i-English (US)"</string>
- <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"I-English (UK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"I-English (US) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_no_language" msgid="141420857808801746">"Akunalimi"</string>
- <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Akunalimi (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Alukho ulimi (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8721460968141187394">"Alukho ulimi (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="3122976737669823935">"Alukho ulimi (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="4205992994906097244">"Alukho ulimi (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="8840928374394180189">"Alukho ulimi (PC)"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"Izitayela zokufaka ngokwezifiso"</string>
- <string name="add_style" msgid="6163126614514489951">"Engeza isitayela"</string>
- <string name="add" msgid="8299699805688017798">"Engeza"</string>
- <string name="remove" msgid="4486081658752944606">"Khipha"</string>
- <string name="save" msgid="7646738597196767214">"Londoloza"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"Ulimi"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"Isakhiwo"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"Isitayela sakho sokufakwayo sokwenza ngokwezifiso sidinga ukunikwa amandla ngaphambi kokusisebenzisa. Ufuna ukusinika amandla manje?"</string>
- <string name="enable" msgid="5031294444630523247">"Nika amandla"</string>
- <string name="not_now" msgid="6172462888202790482">"Hhayi manje"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"Isitayela sokufaka esifanayo sesivele sikhona: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Imodi yesitadi yokusebenziseka"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Izilungiselelo ze-keypress vibration duraton"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Izilungiselelo zevolumu yomsindo wekeypress"</string>
-</resources>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
deleted file mode 100644
index 7e8c77e13..000000000
--- a/java/res/values/attrs.xml
+++ /dev/null
@@ -1,415 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
- <declare-styleable name="KeyboardTheme">
- <!-- Keyboard style -->
- <attr name="keyboardStyle" format="reference" />
- <!-- KeyboardView style -->
- <attr name="keyboardViewStyle" format="reference" />
- <!-- MainKeyboardView style -->
- <attr name="mainKeyboardViewStyle" format="reference" />
- <!-- MoreKeysKeyboard style -->
- <attr name="moreKeysKeyboardStyle" format="reference" />
- <!-- MoreKeysKeyboardView style -->
- <attr name="moreKeysKeyboardViewStyle" format="reference" />
- <attr name="moreKeysKeyboardPanelStyle" format="reference" />
- <!-- Suggestions strip style -->
- <attr name="suggestionsStripBackgroundStyle" format="reference" />
- <attr name="suggestionStripViewStyle" format="reference" />
- <attr name="moreSuggestionsViewStyle" format="reference" />
- <attr name="suggestionBackgroundStyle" format="reference" />
- <attr name="suggestionPreviewBackgroundStyle" format="reference" />
- </declare-styleable>
-
- <declare-styleable name="KeyboardView">
- <!-- Image for the key. This image needs to be a StateListDrawable, with the following
- possible states: normal, pressed, checkable, checkable+pressed, checkable+checked,
- checkable+checked+pressed. -->
- <attr name="keyBackground" format="reference" />
-
- <!-- Horizontal padding of left/right aligned key label to the edge of the key. -->
- <attr name="keyLabelHorizontalPadding" format="dimension" />
- <!-- Right padding of hint letter to the edge of the key.-->
- <attr name="keyHintLetterPadding" format="dimension" />
- <!-- Bottom padding of popup hint letter "..." to the edge of the key.-->
- <attr name="keyPopupHintLetterPadding" format="dimension" />
- <!-- Right padding of shifted letter hint to the edge of the key.-->
- <attr name="keyShiftedLetterHintPadding" format="dimension" />
- <!-- Blur radius of key text shadow. -->
- <attr name="keyTextShadowRadius" format="float" />
-
- <!-- Layout resource for key press feedback.-->
- <attr name="keyPreviewLayout" format="reference" />
- <!-- Key preview background states -->
- <attr name="state_left_edge" format="boolean" />
- <attr name="state_right_edge" format="boolean" />
- <attr name="state_has_morekeys" format="boolean" />
- <!-- Vertical offset of the key press feedback from the key. -->
- <attr name="keyPreviewOffset" format="dimension" />
- <!-- Height of the key press feedback popup. -->
- <attr name="keyPreviewHeight" format="dimension" />
- <!-- Delay after key releasing and key press feedback dismissing in millisecond -->
- <attr name="keyPreviewLingerTimeout" format="integer" />
-
- <!-- Amount to offset the touch Y coordinate by, for bias correction. -->
- <attr name="verticalCorrection" format="dimension" />
-
- <!-- Layout resource for more keys panel -->
- <attr name="moreKeysLayout" format="reference" />
-
- <attr name="backgroundDimAlpha" format="integer" />
-
- <!-- Attributes for PreviewPlacerView -->
- <attr name="gestureFloatingPreviewTextSize" format="dimension" />
- <attr name="gestureFloatingPreviewTextColor" format="color" />
- <attr name="gestureFloatingPreviewTextOffset" format="dimension" />
- <attr name="gestureFloatingPreviewColor" format="color" />
- <attr name="gestureFloatingPreviewHorizontalPadding" format="dimension" />
- <attr name="gestureFloatingPreviewVerticalPadding" format="dimension" />
- <attr name="gestureFloatingPreviewRoundRadius" format="dimension" />
- <!-- Delay after gesture input and gesture floating preview text dismissing in millisecond -->
- <attr name="gestureFloatingPreviewTextLingerTimeout" format="integer" />
- <!-- Delay after gesture trail starts fading out in millisecond. -->
- <attr name="gesturePreviewTrailFadeoutStartDelay" format="integer" />
- <!-- Duration while gesture preview trail is fading out in millisecond. -->
- <attr name="gesturePreviewTrailFadeoutDuration" format="integer" />
- <!-- Interval of updating gesture preview trail in millisecond. -->
- <attr name="gesturePreviewTrailUpdateInterval" format="integer" />
- <attr name="gesturePreviewTrailColor" format="color" />
- <attr name="gesturePreviewTrailStartWidth" format="dimension" />
- <attr name="gesturePreviewTrailEndWidth" format="dimension" />
- </declare-styleable>
-
- <declare-styleable name="MainKeyboardView">
- <attr name="autoCorrectionSpacebarLedEnabled" format="boolean" />
- <attr name="autoCorrectionSpacebarLedIcon" format="reference" />
- <!-- Size of the text for spacebar language label, in the proportion of key height. -->
- <attr name="spacebarTextRatio" format="fraction" />
- <attr name="spacebarTextColor" format="color" />
- <attr name="spacebarTextShadowColor" format="color" />
- <!-- Fadeout animator for spacebar language label. -->
- <attr name="languageOnSpacebarFinalAlpha" format="integer" />
- <attr name="languageOnSpacebarFadeoutAnimator" format="reference" />
- <!-- Fadeout and fadein animator for altCodeWhileTyping keys. -->
- <attr name="altCodeKeyWhileTypingFadeoutAnimator" format="reference" />
- <attr name="altCodeKeyWhileTypingFadeinAnimator" format="reference" />
- <!-- Key detection hysteresis distance. -->
- <attr name="keyHysteresisDistance" format="dimension" />
- <!-- Touch noise threshold time in millisecond -->
- <attr name="touchNoiseThresholdTime" format="integer" />
- <!-- Touch noise threshold distance in millimeter -->
- <attr name="touchNoiseThresholdDistance" format="dimension" />
- <!-- Sliding key input enable -->
- <attr name="slidingKeyInputEnable" format="boolean" />
- <!-- Key repeat start timeout -->
- <attr name="keyRepeatStartTimeout" format="integer" />
- <!-- Key repeat interval in millisecond. -->
- <attr name="keyRepeatInterval" format="integer" />
- <!-- Long press timeout of letter key in millisecond. -->
- <attr name="longPressKeyTimeout" format="integer" />
- <!-- Long press timeout of shift key in millisecond. -->
- <attr name="longPressShiftKeyTimeout" format="integer" />
- <!-- Ignore special key timeout while typing in millisecond. -->
- <attr name="ignoreAltCodeKeyTimeout" format="integer" />
- <!-- More keys keyboard will shown at touched point. -->
- <attr name="showMoreKeysKeyboardAtTouchedPoint" format="boolean" />
- </declare-styleable>
-
- <declare-styleable name="SuggestionStripView">
- <attr name="suggestionStripOption" format="integer">
- <!-- This should be aligned with SuggestionStripViewParams.AUTO_CORRECT_* and etc. -->
- <flag name="autoCorrectBold" value="0x01" />
- <flag name="autoCorrectUnderline" value="0x02" />
- <flag name="validTypedWordBold" value="0x04" />
- </attr>
- <attr name="colorValidTypedWord" format="color" />
- <attr name="colorTypedWord" format="color" />
- <attr name="colorAutoCorrect" format="color" />
- <attr name="colorSuggested" format="color" />
- <attr name="alphaValidTypedWord" format="fraction" />
- <attr name="alphaTypedWord" format="fraction" />
- <attr name="alphaAutoCorrect" format="fraction" />
- <attr name="alphaSuggested" format="fraction" />
- <attr name="alphaObsoleted" format="fraction" />
- <attr name="suggestionsCountInStrip" format="integer" />
- <attr name="centerSuggestionPercentile" format="fraction" />
- <attr name="maxMoreSuggestionsRow" format="integer" />
- <attr name="minMoreSuggestionsWidth" format="float" />
- </declare-styleable>
-
- <declare-styleable name="Keyboard">
- <attr name="themeId" format="integer" />
- <!-- Touch position correction -->
- <attr name="touchPositionCorrectionData" format="reference" />
- <!-- Default keyboard height -->
- <attr name="keyboardHeight" format="dimension|fraction" />
- <!-- Maximum keyboard height, in pixels or percentage of display height -->
- <attr name="maxKeyboardHeight" format="dimension|fraction" />
- <!-- Minimum keyboard height represented in pixels, percentage of display height if fraction
- is positive, or percentage of display width if fraction is negative. -->
- <attr name="minKeyboardHeight" format="dimension|fraction" />
- <!-- Keyboard top, bottom, both horizontal edges paddings. -->
- <attr name="keyboardTopPadding" format="dimension|fraction" />
- <attr name="keyboardBottomPadding" format="dimension|fraction" />
- <attr name="keyboardHorizontalEdgesPadding" format="dimension|fraction" />
- <!-- Default height of a row (key height + vertical gap), in pixels or percentage of
- keyboard height. -->
- <attr name="rowHeight" format="dimension|fraction" />
- <!-- Default horizontal gap between keys, in pixels or percentage of keyboard width. -->
- <attr name="horizontalGap" format="dimension|fraction" />
- <!-- Default vertical gap between rows of keys, in pixels or percentage of keyboard
- height. -->
- <attr name="verticalGap" format="dimension|fraction" />
- <!-- More keys keyboard layout template -->
- <attr name="moreKeysTemplate" format="reference" />
- <!-- Icon set for key top and key preview.
- These should be aligned with KeyboardIconsSet.NAMES_AND_ATTR_IDS[] -->
- <attr name="iconShiftKey" format="reference" />
- <attr name="iconDeleteKey" format="reference" />
- <attr name="iconSettingsKey" format="reference" />
- <attr name="iconSpaceKey" format="reference" />
- <attr name="iconEnterKey" format="reference" />
- <attr name="iconSearchKey" format="reference" />
- <attr name="iconTabKey" format="reference" />
- <attr name="iconShortcutKey" format="reference" />
- <attr name="iconShortcutForLabel" format="reference" />
- <attr name="iconSpaceKeyForNumberLayout" format="reference" />
- <attr name="iconShiftKeyShifted" format="reference" />
- <attr name="iconShortcutKeyDisabled" format="reference" />
- <attr name="iconTabKeyPreview" format="reference" />
- <attr name="iconLanguageSwitchKey" format="reference" />
- <attr name="iconZwnjKey" format="reference" />
- <attr name="iconZwjKey" format="reference" />
- </declare-styleable>
-
- <declare-styleable name="Keyboard_Key">
- <!-- The unicode value that this key outputs.
- Code value represented in hexadecimal prefixed with "0x" or code value reference using
- "!code/<code_name>" notation. -->
- <attr name="code" format="string" />
- <!-- The alternate unicode value that this key outputs while typing.
- Code value represented in hexadecimal prefixed with "0x" or code value reference using
- "!code/<code_name>" notation. -->
- <attr name="altCode" format="string" />
- <!-- The keys to display in the more keys keyboard. -->
- <attr name="moreKeys" format="string" />
- <!-- The keys to display in the more keys keyboard in addition to moreKeys.
- The additional more keys are inserted at the '%' markers in the moreKeys if any.
- They are inserted at the head of moreKeys if none.
- If there are remaining entries of additionalMoreKeys even after all '%' markers have
- been replaced, those remaining entries are appended at the end of moreKeys. -->
- <attr name="additionalMoreKeys" format="string" />
- <!-- Maximum column of more keys keyboard -->
- <attr name="maxMoreKeysColumn" format="integer" />
- <attr name="backgroundType" format="enum">
- <!-- This should be aligned with Key.BACKGROUND_TYPE_* -->
- <enum name="normal" value="0" />
- <enum name="functional" value="1" />
- <enum name="action" value="2" />
- <enum name="stickyOff" value="3" />
- <enum name="stickyOn" value="4" />
- </attr>
- <!-- The key action flags. -->
- <attr name="keyActionFlags" format="integer">
- <!-- This should be aligned with Key.ACTION_FLAGS_* -->
- <flag name="isRepeatable" value="0x01" />
- <flag name="noKeyPreview" value="0x02" />
- <flag name="altCodeWhileTyping" value="0x04" />
- <flag name="enableLongPress" value="0x08" />
- </attr>
- <!-- The string of characters to output when this key is pressed. -->
- <attr name="keyOutputText" format="string" />
- <!-- The label to display on the key. -->
- <attr name="keyLabel" format="string" />
- <!-- The hint label to display on the key in conjunction with the label. -->
- <attr name="keyHintLabel" format="string" />
- <!-- The key label flags. -->
- <attr name="keyLabelFlags" format="integer">
- <!-- This should be aligned with Key.LABEL_FLAGS__* -->
- <flag name="alignLeft" value="0x01" />
- <flag name="alignRight" value="0x02" />
- <flag name="alignLeftOfCenter" value="0x08" />
- <flag name="fontNormal" value="0x10" />
- <flag name="fontMonoSpace" value="0x20" />
- <flag name="followKeyLargeLetterRatio" value="0x40" />
- <flag name="followKeyLetterRatio" value="0x80" />
- <flag name="followKeyLabelRatio" value="0xC0" />
- <flag name="followKeyLargeLabelRatio" value="0x100" />
- <flag name="followKeyHintLabelRatio" value="0x140" />
- <flag name="hasPopupHint" value="0x200" />
- <flag name="hasShiftedLetterHint" value="0x400" />
- <flag name="hasHintLabel" value="0x800" />
- <flag name="withIconLeft" value="0x1000" />
- <flag name="withIconRight" value="0x2000" />
- <flag name="autoXScale" value="0x4000" />
- <!-- If true, character case of code, altCode, moreKeys, keyOutputText, keyLabel,
- or keyHintLabel will never be subject to change. -->
- <flag name="preserveCase" value="0x8000" />
- <!-- If true, use keyShiftedLetterHintActivatedColor for the shifted letter hint and
- keyTextInactivatedColor for the primary key top label. -->
- <flag name="shiftedLetterActivated" value="0x10000" />
- <!-- If true, use EditorInfo.actionLabel for the key label. -->
- <flag name="fromCustomActionLabel" value="0x20000" />
- <!-- If true, disable keyHintLabel. -->
- <flag name="disableKeyHintLabel" value="0x40000000" />
- <!-- If true, disable additionalMoreKeys. -->
- <flag name="disableAdditionalMoreKeys" value="0x80000000" />
- </attr>
- <!-- The icon to display on the key instead of the label. -->
- <attr name="keyIcon" format="string" />
- <!-- The icon for disabled key -->
- <attr name="keyIconDisabled" format="string" />
- <!-- The icon to show in the popup preview. -->
- <attr name="keyIconPreview" format="string" />
- <!-- The key style to specify a set of key attributes defined by <key_style/> -->
- <attr name="keyStyle" format="string" />
- <!-- Visual insets -->
- <attr name="visualInsetsLeft" format="dimension|fraction" />
- <attr name="visualInsetsRight" format="dimension|fraction" />
- <!-- Width of the key, in pixels or percentage of display width.
- If the value is fillRight, the actual key width will be determined to fill out the area
- up to the right edge of the keyboard. -->
- <!-- This should be aligned with KeyboardBuilder.Row.KEYWIDTH_* -->
- <attr name="keyWidth" format="dimension|fraction|enum">
- <enum name="fillRight" value="-1" />
- </attr>
- <!-- The X-coordinate of upper right corner of this key including horizontal gap.
- If the value is negative, the origin is the right edge of the keyboard. -->
- <attr name="keyXPos" format="dimension|fraction" />
-
- <!-- Key top visual attributes -->
- <attr name="keyTypeface" format="enum">
- <!-- This should be aligned with Typeface.NORMAL etc. -->
- <enum name="normal" value="0" />
- <enum name="bold" value="1" />
- <enum name="italic" value="2" />
- <enum name="boldItalic" value="3" />
- </attr>
- <!-- Size of the text for one letter keys. If specified as fraction, the text size is
- measured in the proportion of key height. -->
- <attr name="keyLetterSize" format="dimension|fraction" />
- <!-- Size of the text for keys with multiple letters. If specified as fraction, the text
- size is measured in the proportion of key height. -->
- <attr name="keyLabelSize" format="dimension|fraction" />
- <!-- Large size of the text for one letter keys, in the proportion of key height. -->
- <attr name="keyLargeLetterRatio" format="fraction" />
- <!-- Large size of the text for keys with multiple letters, in the proportion of key height. -->
- <attr name="keyLargeLabelRatio" format="fraction" />
- <!-- Size of the text for hint letter (= one character hint label), in the proportion of
- key height. -->
- <attr name="keyHintLetterRatio" format="fraction" />
- <!-- Size of the text for hint label, in the proportion of key height. -->
- <attr name="keyHintLabelRatio" format="fraction" />
- <!-- Size of the text for shifted letter hint, in the proportion of key height. -->
- <attr name="keyShiftedLetterHintRatio" format="fraction" />
- <!-- Color to use for the label in a key. -->
- <attr name="keyTextColor" format="color" />
- <attr name="keyTextShadowColor" format="color" />
- <!-- Color to use for the label in a key when in inactivated state. -->
- <attr name="keyTextInactivatedColor" format="color" />
- <!-- Key hint letter (= one character hint label) color -->
- <attr name="keyHintLetterColor" format="color" />
- <!-- Key hint label color -->
- <attr name="keyHintLabelColor" format="color" />
- <!-- Shifted letter hint colors -->
- <attr name="keyShiftedLetterHintInactivatedColor" format="color" />
- <attr name="keyShiftedLetterHintActivatedColor" format="color" />
-
- <!-- Key preview visual parameters -->
- <!-- The text color for key press feedback. -->
- <attr name="keyPreviewTextColor" format="color" />
- <!-- Size of the text for key press feedback popup, in the proportion of key height. -->
- <attr name="keyPreviewTextRatio" format="fraction" />
- </declare-styleable>
-
- <declare-styleable name="Keyboard_Include">
- <attr name="keyboardLayout" format="reference" />
- </declare-styleable>
-
- <declare-styleable name="Keyboard_Case">
- <!-- This should be aligned with KeyboardLayoutSet_Element's elementName. -->
- <attr name="keyboardLayoutSetElement" format="enum|string">
- <enum name="alphabet" value="0" />
- <enum name="alphabetManualShifted" value="1" />
- <enum name="alphabetAutomaticShifted" value="2" />
- <enum name="alphabetShiftLocked" value="3" />
- <enum name="alphabetShiftLockShifted" value="4" />
- <enum name="symbols" value="5" />
- <enum name="symbolsShifted" value="6" />
- <enum name="phone" value="7" />
- <enum name="phoneSymbols" value="8" />
- <enum name="number" value="9" />
- </attr>
- <!-- This should be aligned with KeyboardId.MODE_* -->
- <attr name="mode" format="enum|string">
- <enum name="text" value="0" />
- <enum name="url" value="1" />
- <enum name="email" value="2" />
- <enum name="im" value="3" />
- <enum name="phone" value="4" />
- <enum name="number" value="5" />
- </attr>
- <attr name="navigateNext" format="boolean" />
- <attr name="navigatePrevious" format="boolean" />
- <attr name="passwordInput" format="boolean" />
- <attr name="clobberSettingsKey" format="boolean" />
- <attr name="shortcutKeyEnabled" format="boolean" />
- <attr name="hasShortcutKey" format="boolean" />
- <attr name="languageSwitchKeyEnabled" format="boolean" />
- <attr name="isMultiLine" format="boolean" />
- <attr name="imeAction" format="enum">
- <!-- This should be aligned with EditorInfo.IME_ACTION_* -->
- <enum name="actionUnspecified" value="0" />
- <enum name="actionNone" value="1" />
- <enum name="actionGo" value="2" />
- <enum name="actionSearch" value="3" />
- <enum name="actionSend" value="4" />
- <enum name="actionNext" value="5" />
- <enum name="actionDone" value="6" />
- <enum name="actionPrevious" value="7" />
- <!-- This should be aligned with KeyboardId.IME_ACTION_* -->
- <enum name="actionCustomLabel" value="0x100" />
- </attr>
- <attr name="localeCode" format="string" />
- <attr name="languageCode" format="string" />
- <attr name="countryCode" format="string" />
- </declare-styleable>
-
- <declare-styleable name="Keyboard_KeyStyle">
- <attr name="styleName" format="string" />
- <attr name="parentStyle" format="string" />
- </declare-styleable>
-
- <declare-styleable name="KeyboardLayoutSet_Element">
- <!-- This should be aligned with KeyboardId.ELEMENT_* -->
- <attr name="elementName" format="enum">
- <enum name="alphabet" value="0" />
- <enum name="alphabetManualShifted" value="1" />
- <enum name="alphabetAutomaticShifted" value="2" />
- <enum name="alphabetShiftLocked" value="3" />
- <enum name="alphabetShiftLockShifted" value="4" />
- <enum name="symbols" value="5" />
- <enum name="symbolsShifted" value="6" />
- <enum name="phone" value="7" />
- <enum name="phoneSymbols" value="8" />
- <enum name="number" value="9" />
- </attr>
- <attr name="elementKeyboard" format="reference"/>
- <!-- Enable proximity characters correction. Disabled by default. -->
- <attr name="enableProximityCharsCorrection" format="boolean" />
- </declare-styleable>
-</resources>
diff --git a/java/res/values/bools.xml b/java/res/values/bools.xml
deleted file mode 100644
index 10d217985..000000000
--- a/java/res/values/bools.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <!-- Whether this input method should be used as the default for a locale. Override it
- for supported languages. -->
- <bool name="im_is_default">false</bool>
-</resources>
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
deleted file mode 100644
index 8e2d43e4e..000000000
--- a/java/res/values/config.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Device form factor. This value must be aligned with {@link KeyboardId.DEVICE_FORM_FACTOR_PHONE} -->
- <integer name="config_device_form_factor">0</integer>
- <bool name="config_use_fullscreen_mode">false</bool>
- <bool name="config_enable_show_voice_key_option">true</bool>
- <bool name="config_enable_show_popup_on_keypress_option">true</bool>
- <!-- TODO: Disable the following configuration for production. -->
- <bool name="config_enable_usability_study_mode_option">true</bool>
- <!-- Whether or not Popup on key press is enabled by default -->
- <bool name="config_default_popup_preview">true</bool>
- <!-- Default value for next word prediction: after entering a word and a space only, should we look
- at input history to suggest a hopefully helpful suggestions for the next word? -->
- <bool name="config_default_next_word_prediction">true</bool>
- <bool name="config_default_sound_enabled">false</bool>
- <bool name="config_default_vibration_enabled">true</bool>
- <integer name="config_delay_update_suggestions">100</integer>
- <integer name="config_delay_update_old_suggestions">300</integer>
- <integer name="config_delay_update_shift_state">100</integer>
- <integer name="config_language_on_spacebar_final_alpha">128</integer>
- <integer name="config_more_keys_keyboard_fadein_anim_time">0</integer>
- <integer name="config_more_keys_keyboard_fadeout_anim_time">100</integer>
- <integer name="config_keyboard_grid_width">32</integer>
- <integer name="config_keyboard_grid_height">16</integer>
- <integer name="config_double_spaces_turn_into_period_timeout">1100</integer>
- <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. -->
- <string name="config_default_keyboard_theme_index" translatable="false">5</string>
- <integer name="config_max_more_keys_column">5</integer>
- <!--
- Configuration for KeyboardView
- -->
- <integer name="config_key_preview_linger_timeout">70</integer>
- <integer name="config_gesture_floating_preview_text_linger_timeout">200</integer>
- <integer name="config_gesture_preview_trail_fadeout_start_delay">100</integer>
- <integer name="config_gesture_preview_trail_fadeout_duration">800</integer>
- <integer name="config_gesture_preview_trail_update_interval">20</integer>
- <!--
- Configuration for MainKeyboardView
- -->
- <dimen name="config_key_hysteresis_distance">8.0dp</dimen>
- <integer name="config_touch_noise_threshold_time">40</integer>
- <dimen name="config_touch_noise_threshold_distance">12.6dp</dimen>
- <bool name="config_sliding_key_input_enabled">true</bool>
- <integer name="config_key_repeat_start_timeout">400</integer>
- <integer name="config_key_repeat_interval">50</integer>
- <integer name="config_long_press_key_timeout">400</integer>
- <!-- Long pressing shift will invoke caps-lock if > 0, never invoke caps-lock if == 0 -->
- <integer name="config_long_press_shift_key_timeout">1200</integer>
- <integer name="config_ignore_alt_code_key_timeout">350</integer>
- <!-- Showing more keys keyboard, just above the touched point if true, aligned to the key if
- false -->
- <bool name="config_show_more_keys_keyboard_at_touched_point">false</bool>
- <!--
- Configuration for auto correction
- -->
- <string-array name="auto_correction_threshold_values" translatable="false">
- <!-- Off, When auto correction setting is Off, this value is not used. -->
- <item></item>
- <!-- Modest : Suggestion whose normalized score is greater than this value
- will be subject to auto-correction. -->
- <item>0.185</item>
- <!-- Aggressive -->
- <item>0.067</item>
- <!-- Very Aggressive : Suggestion whose normalized score is greater than this value
- will be subject to auto-correction. -->
- <item>0</item>
- </string-array>
- <!-- Threshold of the normalized score of the best suggestion for the spell checker to declare
- a word to be "recommended" -->
- <string name="spellchecker_recommended_threshold_value" translatable="false">0.11</string>
- <!-- Threshold of the normalized score of any dictionary lookup to be offered as a suggestion
- by the spell checker -->
- <string name="spellchecker_suggestion_threshold_value" translatable="false">0.03</string>
- <!-- Screen metrics for logging.
- 0 = "mdpi phone screen"
- 1 = "hdpi phone screen"
- 2 = "mdpi 11 inch tablet screen"
- 3 = "xhdpi phone screen?"
- 4 = ?
- -->
- <integer name="log_screen_metrics">0</integer>
-</resources>
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
deleted file mode 100644
index c7d993698..000000000
--- a/java/res/values/dimens.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Preferable keyboard height in absolute scale: 1.285in -->
- <!-- This keyboardHeight value should match with keyboard-heights.xml -->
- <dimen name="keyboardHeight">205.6dp</dimen>
- <fraction name="maxKeyboardHeight">46%p</fraction>
- <fraction name="minKeyboardHeight">-61.8%p</fraction>
-
- <dimen name="popup_key_height">52.8dp</dimen>
-
- <dimen name="more_keys_keyboard_key_horizontal_padding">8dp</dimen>
-
- <fraction name="keyboard_top_padding">1.556%p</fraction>
- <fraction name="keyboard_bottom_padding">4.669%p</fraction>
- <fraction name="keyboard_horizontal_edges_padding">0%p</fraction>
- <fraction name="key_bottom_gap">6.250%p</fraction>
- <fraction name="key_horizontal_gap">1.352%p</fraction>
-
- <fraction name="keyboard_top_padding_stone">1.556%p</fraction>
- <fraction name="keyboard_bottom_padding_stone">0.778%p</fraction>
- <fraction name="key_bottom_gap_stone">7.506%p</fraction>
- <fraction name="key_horizontal_gap_stone">1.739%p</fraction>
-
- <fraction name="key_bottom_gap_gb">6.495%p</fraction>
- <fraction name="key_horizontal_gap_gb">1.971%p</fraction>
-
- <fraction name="keyboard_top_padding_ics">2.335%p</fraction>
- <fraction name="keyboard_bottom_padding_ics">4.669%p</fraction>
- <fraction name="key_bottom_gap_ics">6.127%p</fraction>
- <fraction name="key_horizontal_gap_ics">1.739%p</fraction>
- <dimen name="more_keys_keyboard_horizontal_edges_padding_ics">4dp</dimen>
-
- <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
- <!-- popup_key_height x 1.2 -->
- <dimen name="more_keys_keyboard_slide_allowance">63.36dp</dimen>
- <!-- popup_key_height x -1.0 -->
- <dimen name="more_keys_keyboard_vertical_correction">-52.8dp</dimen>
- <dimen name="keyboard_vertical_correction">0.0dp</dimen>
-
- <fraction name="key_letter_ratio">55%</fraction>
- <fraction name="key_large_letter_ratio">65%</fraction>
- <fraction name="key_label_ratio">34%</fraction>
- <fraction name="key_large_label_ratio">40%</fraction>
- <fraction name="key_hint_letter_ratio">25%</fraction>
- <fraction name="key_hint_label_ratio">44%</fraction>
- <fraction name="key_uppercase_letter_ratio">35%</fraction>
- <fraction name="key_preview_text_ratio">82%</fraction>
- <fraction name="spacebar_text_ratio">33.735%</fraction>
- <dimen name="key_preview_height">80dp</dimen>
- <dimen name="key_preview_offset">-8.0dp</dimen>
-
- <dimen name="key_label_horizontal_padding">4dp</dimen>
- <dimen name="key_hint_letter_padding">1dp</dimen>
- <dimen name="key_popup_hint_letter_padding">2dp</dimen>
- <dimen name="key_uppercase_letter_padding">2dp</dimen>
-
- <!-- For 5-row keyboard -->
- <fraction name="key_bottom_gap_5row">3.20%p</fraction>
- <fraction name="key_letter_ratio_5row">64%</fraction>
- <fraction name="key_uppercase_letter_ratio_5row">41%</fraction>
-
- <dimen name="key_preview_offset_ics">8.0dp</dimen>
- <!-- popup_key_height x -0.5 -->
- <dimen name="more_keys_keyboard_vertical_correction_ics">-26.4dp</dimen>
-
- <dimen name="suggestions_strip_height">40dp</dimen>
- <dimen name="more_suggestions_key_horizontal_padding">12dp</dimen>
- <dimen name="more_suggestions_row_height">40dp</dimen>
- <dimen name="more_suggestions_bottom_gap">6dp</dimen>
- <dimen name="more_suggestions_modal_tolerance">32.0dp</dimen>
- <dimen name="more_suggestions_slide_allowance">16.0dp</dimen>
- <integer name="max_more_suggestions_row">6</integer>
- <fraction name="min_more_suggestions_width">90%</fraction>
- <fraction name="more_suggestions_info_ratio">18%</fraction>
- <dimen name="suggestions_strip_padding">0dp</dimen>
- <dimen name="suggestion_min_width">44dp</dimen>
- <dimen name="suggestion_padding">6dp</dimen>
- <dimen name="suggestion_text_size">18dp</dimen>
- <dimen name="more_suggestions_hint_text_size">27dp</dimen>
- <integer name="suggestions_count_in_strip">3</integer>
- <fraction name="center_suggestion_percentile">36%</fraction>
-
- <!-- Gesture preview trail parameters -->
- <dimen name="gesture_preview_trail_start_width">12.6dp</dimen>
- <dimen name="gesture_preview_trail_end_width">2.5dp</dimen>
- <!-- Gesture floating preview text parameters -->
- <dimen name="gesture_floating_preview_text_size">24dp</dimen>
- <dimen name="gesture_floating_preview_text_offset">73dp</dimen>
- <dimen name="gesture_floating_preview_horizontal_padding">24dp</dimen>
- <dimen name="gesture_floating_preview_vertical_padding">16dp</dimen>
- <dimen name="gesture_floating_preview_round_radius">3dp</dimen>
-
- <!-- Inset used in Accessibility mode to avoid accidental key presses when a finger slides off the screen. -->
- <dimen name="accessibility_edge_slop">8dp</dimen>
-</resources>
diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml
deleted file mode 100644
index 9e07b2248..000000000
--- a/java/res/values/donottranslate.xml
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2009, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- Symbols that are suggested between words -->
- <string name="suggested_punctuations">!,?,\\,,:,;,\",(,),\',-,/,@,_</string>
- <!-- Symbols that should be swapped with a weak space -->
- <string name="weak_space_swapping_symbols">.,;:!?)]}\"</string>
- <!-- Symbols that should strip a weak space -->
- <string name="weak_space_stripping_symbols">"&#x0009;&#x0020;\n/_\'-"@</string>
- <!-- Symbols that should convert weak spaces into real space -->
- <string name="phantom_space_promoting_symbols">([*&amp;{&lt;&gt;+=|</string>
- <!-- Symbols that do NOT separate words -->
- <string name="symbols_excluded_from_word_separators">\'-</string>
- <!-- Word separator list is the union of all symbols except those that are not separators:
- weak_space_swapping_symbols | weak_space_stripping_symbols
- \ symbols_excluded_from_word_separators -->
- <!-- Symbol characters list that should switch back to the main layout -->
- <!-- U+2018: "‘" LEFT SINGLE QUOTATION MARK
- U+2019: "’" RIGHT SINGLE QUOTATION MARK
- U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
- U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
- U+201C: "“" LEFT DOUBLE QUOTATION MARK
- U+201D: "”" RIGHT DOUBLE QUOTATION MARK
- U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
- U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
- U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
- <!-- <string name="layout_switch_back_symbols">\"\'&#x2018;&#x2019;&#x201A;&#x201B;&#x201C;&#x201D;&#x201E;&#x201F;&#x00AB;&#x00BB;</string> -->
- <string name="layout_switch_back_symbols"></string>
-
- <!-- Always show the suggestion strip -->
- <string name="prefs_suggestion_visibility_show_value">0</string>
- <!-- Show the suggestion strip only on portrait mode -->
- <string name="prefs_suggestion_visibility_show_only_portrait_value">1</string>
- <!-- Always hide the suggestion strip -->
- <string name="prefs_suggestion_visibility_hide_value">2</string>
- <!-- Default value of the visibility of the suggestion strip -->
- <string name="prefs_suggestion_visibility_default_value">0</string>
- <!-- Option to show/hide the suggestion strip -->
- <string-array name="prefs_suggestion_visibility_values">
- <item>@string/prefs_suggestion_visibility_show_value</item>
- <item>@string/prefs_suggestion_visibility_show_only_portrait_value</item>
- <item>@string/prefs_suggestion_visibility_hide_value</item>
- </string-array>
- <string-array name="prefs_suggestion_visibilities">
- <item>@string/prefs_suggestion_visibility_show_name</item>
- <item>@string/prefs_suggestion_visibility_show_only_portrait_name</item>
- <item>@string/prefs_suggestion_visibility_hide_name</item>
- </string-array>
-
- <string name="auto_correction_threshold_mode_index_off">0</string>
- <string name="auto_correction_threshold_mode_index_modest">1</string>
- <string name="auto_correction_threshold_mode_index_aggeressive">2</string>
- <string name="auto_correction_threshold_mode_index_very_aggeressive">3</string>
- <string-array name="auto_correction_threshold_mode_indexes">
- <item>@string/auto_correction_threshold_mode_index_off</item>
- <item>@string/auto_correction_threshold_mode_index_modest</item>
- <item>@string/auto_correction_threshold_mode_index_aggeressive</item>
- <item>@string/auto_correction_threshold_mode_index_very_aggeressive</item>
- </string-array>
- <string-array name="auto_correction_threshold_modes">
- <item>@string/auto_correction_threshold_mode_off</item>
- <item>@string/auto_correction_threshold_mode_modest</item>
- <item>@string/auto_correction_threshold_mode_aggeressive</item>
- <item>@string/auto_correction_threshold_mode_very_aggeressive</item>
- </string-array>
-
- <string name="voice_mode_main">0</string>
- <string name="voice_mode_symbols">1</string>
- <string name="voice_mode_off">2</string>
- <string-array name="voice_input_modes_values">
- <item>@string/voice_mode_main</item>
- <item>@string/voice_mode_symbols</item>
- <item>@string/voice_mode_off</item>
- </string-array>
- <!-- Array of Voice Input modes -->
- <string-array name="voice_input_modes">
- <item>@string/voice_input_modes_main_keyboard</item>
- <item>@string/voice_input_modes_symbols_keyboard</item>
- <item>@string/voice_input_modes_off</item>
- </string-array>
- <!-- Array of Voice Input modes summary -->
- <string-array name="voice_input_modes_summary">
- <item>@string/voice_input_modes_summary_main_keyboard</item>
- <item>@string/voice_input_modes_summary_symbols_keyboard</item>
- <item>@string/voice_input_modes_summary_off</item>
- </string-array>
-
- <!-- Title for Latin keyboard debug settings activity / dialog -->
- <string name="english_ime_debug_settings">Android keyboard Debug settings</string>
- <string name="prefs_debug_mode">Debug Mode</string>
- <string name="prefs_force_non_distinct_multitouch">Force non-distinct multitouch</string>
-
- <!-- Keyboard theme names -->
- <string name="layout_basic">Basic</string>
- <string name="layout_high_contrast">Basic (High Contrast)</string>
- <string name="layout_stone_bold">Stone (bold)</string>
- <string name="layout_stone_normal">Stone (normal)</string>
- <string name="layout_gingerbread">Gingerbread</string>
- <string name="layout_ics">IceCreamSandwich</string>
-
- <!-- For keyboard theme switcher dialog -->
- <string-array name="keyboard_layout_modes">
- <item>@string/layout_basic</item>
- <item>@string/layout_high_contrast</item>
- <item>@string/layout_stone_normal</item>
- <item>@string/layout_stone_bold</item>
- <item>@string/layout_gingerbread</item>
- <item>@string/layout_ics</item>
- </string-array>
- <string-array name="keyboard_layout_modes_values">
- <item>0</item>
- <item>1</item>
- <item>2</item>
- <item>3</item>
- <item>4</item>
- <item>5</item>
- </string-array>
-
- <!-- Subtype locale display name exceptions.
- For each exception, there should be related string resource for display name that has
- explicit keyboard layout. The string resource name must be "subtype_with_layout_<locale>. -->
- <string-array name="subtype_locale_exception_keys">
- <item>en_US</item>
- <item>en_GB</item>
- </string-array>
- <string-array name="subtype_locale_exception_values">
- <item>English (US)</item>
- <item>English (UK)</item>
- </string-array>
-
- <!-- Generic subtype label -->
- <string name="subtype_generic">%s</string>
-
- <!-- Predefined keyboard layouts for additional subtype -->
- <string-array name="predefined_layouts">
- <item>qwerty</item>
- <item>qwertz</item>
- <item>azerty</item>
- <item>dvorak</item>
- <item>colemak</item>
- <item>pcqwerty</item>
- </string-array>
- <!-- Predefined keyboard layout display names -->
- <string-array name="predefined_layout_display_names">
- <item>QWERTY</item>
- <item>QWERTZ</item>
- <item>AZERTY</item>
- <item>Dvorak</item>
- <item>Colemak</item>
- <item>PC</item>
- </string-array>
- <!-- Description for generic subtype that has predefined layout.
- The string resource name must be "subtype_generic_<layout name>".
- The string resource with "No language" also must be added to strings.xml and the resource
- name must be "subtype_no_language_<layout name>" -->
- <string name="subtype_generic_qwerty">%s (QWERTY)</string>
- <string name="subtype_generic_qwertz">%s (QWERTZ)</string>
- <string name="subtype_generic_azerty">%s (AZERTY)</string>
- <string name="subtype_generic_dvorak">%s (Dvorak)</string>
- <string name="subtype_generic_colemak">%s (Colemak)</string>
- <string name="subtype_generic_pcqwerty">%s (PC)</string>
-
- <!-- Description for Bulgarian (BDS) subtype. -->
- <string name="subtype_bulgarian_bds">%s (BDS)</string>
-
- <!-- Compatibility map from subtypeLocale:subtypeExtraValue to keyboardLayoutSet -->
- <string-array name="locale_and_extra_value_to_keyboard_layout_set_map">
- <item>en_US:TrySuppressingImeSwitcher,AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwerty</item>
- <item>en_GB:TrySuppressingImeSwitcher,AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwerty</item>
- <item>ar:SupportTouchPositionCorrection</item>
- <item>arabic</item>
- <item>cs:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwertz</item>
- <item>da:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>nordic</item>
- <item>de:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwertz</item>
- <item>es:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>spanish</item>
- <item>fi:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>nordic</item>
- <item>fr:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>azerty</item>
- <item>fr_CA:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwerty</item>
- <item>hr:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwertz</item>
- <item>hu:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwertz</item>
- <item>it:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwerty</item>
- <item>iw:SupportTouchPositionCorrection</item>
- <item>hebrew</item>
- <item>nb:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>nordic</item>
- <item>nl:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwerty</item>
- <item>pl:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwerty</item>
- <item>ru:SupportTouchPositionCorrection</item>
- <item>east_slavic</item>
- <item>sr:SupportTouchPositionCorrection</item>
- <item>south_slavic</item>
- <item>sv:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>nordic</item>
- <item>tr:AsciiCapable,SupportTouchPositionCorrection</item>
- <item>qwerty</item>
- </string-array>
-
- <!-- dictionary pack package name /settings activity (for shared prefs and settings) -->
- <string name="dictionary_pack_package_name">com.google.android.inputmethod.latin.dictionarypack</string>
- <string name="dictionary_pack_settings_activity">com.google.android.inputmethod.latin.dictionarypack.DictionarySettingsActivity</string>
- <string name="settings_ms">ms</string>
- <string name="settings_warning_researcher_mode">Attention! You are using the special keyboard for research purposes.</string>
-</resources>
diff --git a/java/res/values/gesture-input.xml b/java/res/values/gesture-input.xml
deleted file mode 100644
index 235616fbe..000000000
--- a/java/res/values/gesture-input.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <bool name="config_gesture_input_enabled_by_build_config">false</bool>
-</resources>
diff --git a/java/res/values/keyboard-heights.xml b/java/res/values/keyboard-heights.xml
deleted file mode 100644
index 7d85994be..000000000
--- a/java/res/values/keyboard-heights.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Build.HARDWARE,keyboard_height_in_dp -->
- <string-array name="keyboard_heights" translatable="false">
- <!-- Preferable keyboard height in absolute scale: 1.285in -->
- <!-- Droid -->
- <item>sholes,227.0167</item>
- <!-- Nexus One -->
- <item>mahimahi,217.5932</item>
- <!-- Nexus S -->
- <item>herring,200.8554</item>
- <!-- Galaxy Nexus -->
- <item>tuna,202.5869</item>
- <!-- Preferable keyboard height in absolute scale: 48.0mm -->
- <!-- Xoom -->
- <item>stingray,283.1337</item>
- </string-array>
-</resources>
diff --git a/java/res/values/keyboard-icons-black.xml b/java/res/values/keyboard-icons-black.xml
deleted file mode 100644
index e9c5733b5..000000000
--- a/java/res/values/keyboard-icons-black.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
- <style name="KeyboardIcons.Black">
- <!-- Keyboard icons -->
- <!-- TODO: The following holo icon for phone (drawable-hdpi and drawable-xhdpi) are too
- ambiguous.
- sym_bkeyboard_voice_off
- -->
- <item name="iconShiftKey">@drawable/sym_bkeyboard_shift</item>
- <item name="iconDeleteKey">@drawable/sym_bkeyboard_delete</item>
- <item name="iconSettingsKey">@drawable/sym_bkeyboard_settings</item>
- <item name="iconSpaceKey">@drawable/sym_bkeyboard_space</item>
- <item name="iconEnterKey">@drawable/sym_bkeyboard_return</item>
- <item name="iconSearchKey">@drawable/sym_bkeyboard_search</item>
- <item name="iconTabKey">@drawable/sym_bkeyboard_tab</item>
- <item name="iconShortcutKey">@drawable/sym_bkeyboard_mic</item>
- <item name="iconShortcutForLabel">@drawable/sym_bkeyboard_label_mic</item>
- <item name="iconSpaceKeyForNumberLayout">@drawable/sym_bkeyboard_space</item>
- <item name="iconShiftKeyShifted">@drawable/sym_bkeyboard_shift_locked</item>
- <item name="iconShortcutKeyDisabled">@drawable/sym_bkeyboard_voice_off</item>
- <item name="iconTabKeyPreview">@drawable/sym_keyboard_feedback_tab</item>
- <!-- TODO: Needs dedicated black theme globe icon -->
- <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch</item>
- <!-- TODO: Needs dedicated black theme ZWNJ and ZWJ icons -->
- <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo</item>
- <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo</item>
- </style>
-</resources>
diff --git a/java/res/values/keyboard-icons-ics.xml b/java/res/values/keyboard-icons-ics.xml
deleted file mode 100644
index 8eba196de..000000000
--- a/java/res/values/keyboard-icons-ics.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
- <style name="KeyboardIcons.IceCreamSandwich">
- <!-- Keyboard icons -->
- <!-- TODO: The following holo icon for phone (drawable-hdpi and drawable-xhdpi) are missing.
- sym_keyboard_123_mic_holo
- -->
- <item name="iconShiftKey">@drawable/sym_keyboard_shift_holo</item>
- <item name="iconDeleteKey">@drawable/sym_keyboard_delete_holo</item>
- <item name="iconSettingsKey">@drawable/sym_keyboard_settings_holo</item>
- <item name="iconSpaceKey">@null</item>
- <item name="iconEnterKey">@drawable/sym_keyboard_return_holo</item>
- <item name="iconSearchKey">@drawable/sym_keyboard_search_holo</item>
- <item name="iconTabKey">@drawable/sym_keyboard_tab_holo</item>
- <item name="iconShortcutKey">@drawable/sym_keyboard_voice_holo</item>
- <item name="iconShortcutForLabel">@drawable/sym_keyboard_label_mic_holo</item>
- <item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space_holo</item>
- <item name="iconShiftKeyShifted">@drawable/sym_keyboard_shift_locked_holo</item>
- <item name="iconShortcutKeyDisabled">@drawable/sym_keyboard_voice_off_holo</item>
- <item name="iconTabKeyPreview">@drawable/sym_keyboard_feedback_tab</item>
- <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch</item>
- <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo</item>
- <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo</item>
- </style>
-</resources>
diff --git a/java/res/values/keyboard-icons-white.xml b/java/res/values/keyboard-icons-white.xml
deleted file mode 100644
index e52099867..000000000
--- a/java/res/values/keyboard-icons-white.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
- <style name="KeyboardIcons">
- <!-- Keyboard icons -->
- <item name="iconShiftKey">@drawable/sym_keyboard_shift</item>
- <item name="iconDeleteKey">@drawable/sym_keyboard_delete</item>
- <item name="iconSettingsKey">@drawable/sym_keyboard_settings</item>
- <item name="iconSpaceKey">@drawable/sym_keyboard_space</item>
- <item name="iconEnterKey">@drawable/sym_keyboard_return</item>ZZ
- <item name="iconSearchKey">@drawable/sym_keyboard_search</item>
- <item name="iconTabKey">@drawable/sym_keyboard_tab</item>
- <item name="iconShortcutKey">@drawable/sym_keyboard_mic</item>
- <item name="iconShortcutForLabel">@drawable/sym_keyboard_label_mic</item>
- <item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space</item>
- <item name="iconShiftKeyShifted">@drawable/sym_keyboard_shift_locked</item>
- <!-- TODO: Needs non-holo disabled shortcut icon drawable -->
- <item name="iconShortcutKeyDisabled">@drawable/sym_keyboard_voice_off_holo</item>
- <item name="iconTabKeyPreview">@drawable/sym_keyboard_feedback_tab</item>
- <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch</item>
- <!-- TODO: Needs dedicated black theme ZWNJ and ZWJ icons -->
- <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo</item>
- <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo</item>
- </style>
-</resources>
diff --git a/java/res/values/keypress-vibration-durations.xml b/java/res/values/keypress-vibration-durations.xml
deleted file mode 100644
index 370959c1a..000000000
--- a/java/res/values/keypress-vibration-durations.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <string-array name="keypress_vibration_durations" translatable="false">
- <!-- Build.HARDWARE,duration_in_milliseconds -->
- <item>herring,5</item>
- <item>tuna,5</item>
- <item>mako,5</item>
- <item>manta,16</item>
- </string-array>
-</resources>
diff --git a/java/res/values/keypress-volumes.xml b/java/res/values/keypress-volumes.xml
deleted file mode 100644
index d1120694b..000000000
--- a/java/res/values/keypress-volumes.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <string-array name="keypress_volumes" translatable="false">
- <!-- Build.HARDWARE,volume -->
- <item>herring,0.5</item>
- <item>tuna,0.5</item>
- <item>stingray,0.4</item>
- <item>grouper,0.3</item>
- <item>mako,0.3</item>
- <item>manta,0.2</item>
- </string-array>
-</resources>
diff --git a/java/res/values/phantom_sudden_move_event_device_list.xml b/java/res/values/phantom_sudden_move_event_device_list.xml
deleted file mode 100644
index 63d12e96e..000000000
--- a/java/res/values/phantom_sudden_move_event_device_list.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <string-array name="phantom_sudden_move_event_device_list" translatable="false">
- <!-- "Build.HARDWARE,true" that needs "phantom sudden move event" hack.
- See {@link com.android.inputmethod.keyboard.PointerTracker}. -->
- <item>stingray,true</item> <!-- Xoom -->
- </string-array>
-</resources>
diff --git a/java/res/values/predefined-subtypes.xml b/java/res/values/predefined-subtypes.xml
deleted file mode 100644
index 3bf0e617f..000000000
--- a/java/res/values/predefined-subtypes.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- Predefined subtypes (language:layout[:extraValue]) -->
- <string-array name="predefined_subtypes" translatable="false">
- <item>de:qwerty:AsciiCapable</item>
- <item>fr:qwertz:AsciiCapable</item>
- </string-array>
-</resources>
diff --git a/java/res/values/research_strings.xml b/java/res/values/research_strings.xml
deleted file mode 100644
index 2cad15eb0..000000000
--- a/java/res/values/research_strings.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- Contents of note explaining what data is collected and how. -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_splash_content" translatable="false"></string>
-</resources>
diff --git a/java/res/values/strings-appname.xml b/java/res/values/strings-appname.xml
deleted file mode 100644
index 19aaa2513..000000000
--- a/java/res/values/strings-appname.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<resources>
- <!-- Title for Latin Keyboard -->
- <string name="english_ime_name">Android keyboard</string>
-
- <!-- Name of Android spell checker service -->
- <string name="spell_checker_service_name">Android spell checker</string>
-
- <!-- Title for Latin keyboard settings activity / dialog -->
- <string name="english_ime_settings">Android keyboard settings</string>
-
- <!-- Title for the spell checking service settings screen -->
- <string name="android_spell_checker_settings">Spell checking settings</string>
-</resources>
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
deleted file mode 100644
index 392a0705a..000000000
--- a/java/res/values/strings.xml
+++ /dev/null
@@ -1,373 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- Application name for opensource Android keyboard. AOSP(Android Open Source Project) should not be translated. -->
- <string name="aosp_android_keyboard_ime_name">Android keyboard (AOSP)</string>
- <!-- Title for Latin keyboard input options dialog [CHAR LIMIT=25] -->
- <string name="english_ime_input_options">Input options</string>
- <!-- Title for Latin keyboard research log dialog, which contains special commands for users that contribute data for research. [CHAR LIMIT=33] -->
- <string name="english_ime_research_log">Research Log Commands</string>
-
- <!-- Name of Android spell checker service. AOSP(Android Open Source Project) should not be translated. -->
- <string name="aosp_spell_checker_service_name">Android spell checker (AOSP)</string>
-
- <!-- Title for the spell checker option to turn on/off contact names lookup [CHAR LIMIT=25] -->
- <string name="use_contacts_for_spellchecking_option_title">Look up contact names</string>
-
- <!-- Description for the spell checker option to turn on/off contact names lookup. [CHAR LIMIT=65] -->
- <string name="use_contacts_for_spellchecking_option_summary">Spell checker uses entries from your contact list</string>
-
- <!-- Option to provide vibrate/haptic feedback on keypress -->
- <string name="vibrate_on_keypress">Vibrate on keypress</string>
-
- <!-- Option to play back sound on keypress in soft keyboard -->
- <string name="sound_on_keypress">Sound on keypress</string>
-
- <!-- Option to control whether or not to show a popup with a larger font on each key press. -->
- <string name="popup_on_keypress">Popup on keypress</string>
-
- <!-- Category title for general settings for Android keyboard -->
- <string name="general_category">General</string>
-
- <!-- Category title for text prediction -->
- <string name="correction_category">Text correction</string>
-
- <!-- Category title for misc options -->
- <string name="misc_category">Other options</string>
-
- <!-- Option name for advanced settings screen [CHAR LIMIT=25] -->
- <string name="advanced_settings">Advanced settings</string>
- <!-- Option summary for advanced settings screen [CHAR LIMIT=65 (two lines) or 30 (fits on one line, preferable)] -->
- <string name="advanced_settings_summary">Options for experts</string>
-
- <!-- Option name for including other IMEs in the language switch list [CHAR LIMIT=30] -->
- <string name="include_other_imes_in_language_switch_list">Switch to other input methods</string>
- <!-- Option summary for including other IMEs in the language switch list [CHAR LIMIT=65] -->
- <string name="include_other_imes_in_language_switch_list_summary">Language switch key covers other input methods too</string>
- <!-- Option to show language switch key [CHAR LIMIT=30] -->
- <string name="show_language_switch_key">Language switch key</string>
- <!-- Option summary for showing language switch key [CHAR LIMIT=65] -->
- <string name="show_language_switch_key_summary">Show when multiple input languages are enabled</string>
-
- <!-- Option for the dismiss delay of the key popup [CHAR LIMIT=25] -->
- <string name="key_preview_popup_dismiss_delay">Key popup dismiss delay</string>
- <!-- Description for delay for dismissing a popup on keypress: no delay [CHAR LIMIT=15] -->
- <string name="key_preview_popup_dismiss_no_delay">No delay</string>
- <!-- Description for delay for dismissing a popup on screen: default value of the delay [CHAR LIMIT=15] -->
- <string name="key_preview_popup_dismiss_default_delay">Default</string>
-
- <!-- Option name for enabling or disabling the use of names of people in Contacts for suggestion and correction [CHAR LIMIT=25] -->
- <string name="use_contacts_dict">Suggest Contact names</string>
- <!-- Description for option enabling or disabling the use of names of people in Contacts for suggestion and correction [CHAR LIMIT=65] -->
- <string name="use_contacts_dict_summary">Use names from Contacts for suggestions and corrections</string>
-
- <!-- Option to enable auto capitalization of sentences -->
- <string name="auto_cap">Auto-capitalization</string>
-
- <!-- Option to configure dictionaries -->
- <string name="configure_dictionaries_title">Add-on dictionaries</string>
- <!-- Name of the main dictionary, as opposed to auxiliary dictionaries (medical/entertainment/sports...) -->
- <string name="main_dictionary">Main dictionary</string>
-
- <!-- Option to enable showing suggestions -->
- <string name="prefs_show_suggestions">Show correction suggestions</string>
- <!-- Description for show suggestions -->
- <string name="prefs_show_suggestions_summary">Display suggested words while typing</string>
- <string name="prefs_suggestion_visibility_show_name">Always show</string>
- <string name="prefs_suggestion_visibility_show_only_portrait_name">Show on portrait mode</string>
- <string name="prefs_suggestion_visibility_hide_name">Always hide</string>
-
- <!-- Option to decide the auto correction threshold score -->
- <!-- Option to enable auto correction [CHAR LIMIT=20]-->
- <string name="auto_correction">Auto correction</string>
- <!-- Description for auto correction [CHAR LIMIT=65 (two lines) or 30 (fits on one line, preferable)] -->
- <string name="auto_correction_summary">Spacebar and punctuation automatically correct mistyped words</string>
- <!-- Option to disable auto correction. [CHAR LIMIT=20] -->
- <string name="auto_correction_threshold_mode_off">Off</string>
- <!-- Option to suggest auto correction suggestions modestly. Auto-corrects only to a word which has small edit distance from typed word. [CHAR LIMIT=20] -->
- <string name="auto_correction_threshold_mode_modest">Modest</string>
- <!-- Option to suggest auto correction suggestions aggressively. Auto-corrects to a word which has even large edit distance from typed word. [CHAR LIMIT=20] -->
- <string name="auto_correction_threshold_mode_aggeressive">Aggressive</string>
- <!-- Option to suggest auto correction suggestions very aggressively. Auto-corrects to a word which has even large edit distance from typed word. [CHAR LIMIT=20] -->
- <string name="auto_correction_threshold_mode_very_aggeressive">Very aggressive</string>
-
- <!-- Option to enable using next word suggestions. After the user types a space, with this option on, the keyboard will try to predict the next word. -->
- <string name="bigram_prediction">Next word suggestions</string>
- <!-- Description for "next word suggestion" option. This displays suggestions even when there is no input, based on the previous word. -->
- <string name="bigram_prediction_summary">Based on previous word</string>
-
- <!-- Option to enable gesture input. The user can input a word by tracing the letters of a word without releasing the finger from the screen. [CHAR LIMIT=30]-->
- <string name="gesture_input">Gesture input</string>
- <!-- Description for "gesture_input" option. The user can input a word by tracing the letters of a word without releasing the finger from the screen. [CHAR LIMIT=65]-->
- <string name="gesture_input_summary">Input a word by tracing the letters of a word</string>
- <!-- Option to enable gesture trail preview. The user can see a trail of the gesture during gesture input. [CHAR LIMIT=30]-->
- <string name="gesture_preview_trail">Show gesture trail</string>
- <!-- Option to enable gesture floating text preview. The user can see a suggested word floating under the moving finger during a gesture input. [CHAR LIMIT=30]-->
- <string name="gesture_floating_preview_text">Show gesture word</string>
- <!-- Description for "gesture_floating_preview_text" option. The user can see a suggested word floating under the moving finger during a gesture input. [CHAR LIMIT=65]-->
- <string name="gesture_floating_preview_text_summary">Show floating preview word with gesture</string>
-
- <!-- Indicates that a word has been added to the dictionary -->
- <string name="added_word"><xliff:g id="word">%s</xliff:g> : Saved</string>
-
- <!-- Label for soft enter key when it performs GO action. Must be short to fit on key! [CHAR LIMIT=5] -->
- <string name="label_go_key">Go</string>
- <!-- Label for soft enter key when it performs NEXT action. Must be short to fit on key! [CHAR LIMIT=5] -->
- <string name="label_next_key">Next</string>
- <!-- Label for soft enter key when it performs PREVIOUS action. Must be short to fit on key! [CHAR LIMIT=5] -->
- <string name="label_previous_key">Prev</string>
- <!-- Label for soft enter key when it performs DONE action. Must be short to fit on key! [CHAR LIMIT=5] -->
- <string name="label_done_key">Done</string>
- <!-- Label for soft enter key when it performs SEND action. Must be short to fit on key! [CHAR LIMIT=5] -->
- <string name="label_send_key">Send</string>
- <!-- Label for "switch to alphabetic" key. Must be short to fit on key! [CHAR LIMIT=3] -->
- <string name="label_to_alpha_key">ABC</string>
- <!-- Label for "switch to symbols" key. Must be short to fit on key! [CHAR LIMIT=4] -->
- <string name="label_to_symbol_key">\?123</string>
- <!-- Label for "switch to symbols with microphone" key. This string shouldn't include the "mic"
- part because it'll be appended by the code. Must be short to fit on key! [CHAR LIMIT=3] -->
- <string name="label_to_symbol_with_microphone_key">123</string>
- <!-- Label for "Pause" key of phone number keyboard. Must be short to fit on key! [CHAR LIMIT=5] -->
- <string name="label_pause_key">Pause</string>
- <!-- Label for "Wait" key of phone number keyboard. Must be short to fit on key! [CHAR LIMIT=5]-->
- <string name="label_wait_key">Wait</string>
-
- <!-- Spoken description to let the user know that when typing in a password, they can plug in a headset in to hear spoken descriptions of the keys they type. [CHAR LIMIT=NONE] -->
- <string name="spoken_use_headphones">Plug in a headset to hear password keys spoken aloud.</string>
-
- <!-- Spoken description for the currently entered text -->
- <string name="spoken_current_text_is">Current text is "%s"</string>
- <!-- Spoken description when there is no text entered -->
- <string name="spoken_no_text_entered">No text entered</string>
-
- <!-- Spoken description for unknown keyboard keys. -->
- <string name="spoken_description_unknown">Key code %d</string>
- <!-- Spoken description for the "Shift" keyboard key when "Shift" is off. -->
- <string name="spoken_description_shift">Shift</string>
- <!-- Spoken description for the "Shift" keyboard key when "Shift" is on. -->
- <string name="spoken_description_shift_shifted">Shift on (tap to disable)</string>
- <!-- Spoken description for the "Shift" keyboard key when "Caps lock" is on. -->
- <string name="spoken_description_caps_lock">Caps lock on (tap to disable)</string>
- <!-- Spoken description for the "Delete" keyboard key. -->
- <string name="spoken_description_delete">Delete</string>
- <!-- Spoken description for the "To Symbol" keyboard key. -->
- <string name="spoken_description_to_symbol">Symbols</string>
- <!-- Spoken description for the "To Alpha" keyboard key. -->
- <string name="spoken_description_to_alpha">Letters</string>
- <!-- Spoken description for the "To Numbers" keyboard key. -->
- <string name="spoken_description_to_numeric">Numbers</string>
- <!-- Spoken description for the "Settings" keyboard key. -->
- <string name="spoken_description_settings">Settings</string>
- <!-- Spoken description for the "Tab" keyboard key. -->
- <string name="spoken_description_tab">Tab</string>
- <!-- Spoken description for the "Space" keyboard key. -->
- <string name="spoken_description_space">Space</string>
- <!-- Spoken description for the "Mic" keyboard key. -->
- <string name="spoken_description_mic">Voice input</string>
- <!-- Spoken description for the "Smiley" keyboard key. -->
- <string name="spoken_description_smiley">Smiley face</string>
- <!-- Spoken description for the "Return" keyboard key. -->
- <string name="spoken_description_return">Return</string>
- <!-- Spoken description for the "Search" keyboard key. -->
- <string name="spoken_description_search">Search</string>
- <!-- Spoken description for the "U+2022" (BULLET) keyboard key. -->
- <string name="spoken_description_dot">Dot</string>
- <!-- Spoken description for the "Switch language" keyboard key. -->
- <string name="spoken_description_language_switch">Switch language</string>
- <!-- Spoken description for the "Next" action keyboard key. -->
- <string name="spoken_description_action_next">Next</string>
- <!-- Spoken description for the "Previous" action keyboard key. -->
- <string name="spoken_description_action_previous">Previous</string>
-
- <!-- Spoken feedback after turning "Shift" mode on. -->
- <string name="spoken_description_shiftmode_on">Shift enabled</string>
- <!-- Spoken feedback after turning "Caps lock" mode on. -->
- <string name="spoken_description_shiftmode_locked">Caps lock enabled</string>
- <!-- Spoken feedback after turning "Shift" mode off. -->
- <string name="spoken_description_shiftmode_off">Shift disabled</string>
-
- <!-- Spoken feedback after changing to the symbols keyboard. -->
- <string name="spoken_description_mode_symbol">Symbols mode</string>
- <!-- Spoken feedback after changing to the alphanumeric keyboard. -->
- <string name="spoken_description_mode_alpha">Letters mode</string>
- <!-- Spoken feedback after changing to the phone dialer keyboard. -->
- <string name="spoken_description_mode_phone">Phone mode</string>
- <!-- Spoken feedback after changing to the shifted phone dialer (symbols) keyboard. -->
- <string name="spoken_description_mode_phone_shift">Phone symbols mode</string>
-
- <!-- Preferences item for enabling speech input -->
- <string name="voice_input">Voice input key</string>
-
- <!-- Voice Input modes -->
- <!-- On settings screen, voice input pop-up menu option to show voice key on main keyboard [CHAR LIMIT=20] -->
- <string name="voice_input_modes_main_keyboard">On main keyboard</string>
- <!-- On settings screen, voice input pop-up menu option to show voice key on symbols keyboard [CHAR LIMIT=20] -->
- <string name="voice_input_modes_symbols_keyboard">On symbols keyboard</string>
- <!-- On settings screen, voice input pop-up menu option to never show voice key [CHAR LIMIT=20] -->
- <string name="voice_input_modes_off">Off</string>
- <!-- Voice Input modes summary -->
- <!-- On settings screen, voice input pop-up menu summary text to show voice key on main keyboard [CHAR LIMIT=20] -->
- <string name="voice_input_modes_summary_main_keyboard">Mic on main keyboard</string>
- <!-- On settings screen, voice input pop-up menu summary text to show voice key on symbols keyboard [CHAR LIMIT=20] -->
- <string name="voice_input_modes_summary_symbols_keyboard">Mic on symbols keyboard</string>
- <!-- On settings screen, voice input pop-up menu summary text to never show voice key [CHAR LIMIT=20] -->
- <string name="voice_input_modes_summary_off">Voice input is disabled</string>
-
- <!-- Title for configuring input method settings [CHAR LIMIT=35] -->
- <string name="configure_input_method">Configure input methods</string>
-
- <!-- Title for input language selection screen -->
- <string name="language_selection_title">Input languages</string>
-
- <!-- Title for dialog option to let users cancel logging and delete log for this session [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_do_not_log_this_session" translatable="false">Suspend logging</string>
- <!-- Title for dialog option to let users reenable logging [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_enable_session_logging" translatable="false">Enable logging</string>
- <!-- Toast notification that the system is processing the request to delete the log for this session [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_notify_session_log_deleting" translatable="false">Deleting session log</string>
- <!-- Toast notification that the system has successfully deleted the log for this session [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_notify_logging_suspended" translatable="false">Logging temporarily suspended. To disable permanently, go to Android Keyboard Settings</string>
- <!-- Toast notification that the system has failed to delete the log for this session [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_notify_session_log_not_deleted" translatable="false">Session log NOT deleted</string>
- <!-- Toast notification that the system is enabling logging [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_notify_session_logging_enabled" translatable="false">Session logging enabled</string>
-
- <!-- Menu option that lets user send feedback for research purposes about the IME [CHAR LIMIT=38] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_menu_option" translatable="false">Send feedback</string>
- <!-- Dialog box title that lets user send feedback for research purposes about the IME [CHAR LIMIT=38] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_dialog_title" translatable="false">Send feedback</string>
- <!-- Text for checkbox option to include user data in feedback for research purposes [CHAR LIMIT=50] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <!-- TODO: handle multilingual plurals -->
- <string name="research_feedback_include_history_label" translatable="false">Include last <xliff:g id="word">%d</xliff:g> words entered</string>
- <!-- Hint to user about the text entry field where they should enter research feedback [CHAR LIMIT=40] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_hint" translatable="false">Enter your feedback here.</string>
- <!-- Dialog button choice to send research feedback [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_send" translatable="false">Send</string>
- <!-- Dialog button choice to cancel sending research feedback [CHAR LIMIT=35] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_feedback_cancel" translatable="false">Cancel</string>
- <!-- Toast notification to ask user to quit the research feedback dialog to perform this operation [CHAR LIMIT=100] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_please_exit_feedback_form" translatable="false">Please exit the feedback dialog to access the research log menu</string>
-
- <!-- Title of dialog shown at start informing users about contributing research usage data-->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_splash_title" translatable="false">Warning</string>
-
- <!-- Toast message informing users that logging has been disabled -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_logging_disabled" translatable="false">Logging Disabled</string>
-
- <!-- Name for the research uploading service to be displayed to users. [CHAR LIMIT=50] -->
- <!-- TODO: remove translatable=false attribute once text is stable -->
- <string name="research_log_uploader_name" translatable="false">Research Uploader Service</string>
-
- <!-- Preference for input language selection -->
- <string name="select_language">Input languages</string>
-
- <!-- Add to dictionary hint -->
- <string name="hint_add_to_dictionary">Touch again to save</string>
-
- <!-- Inform the user that a particular language has an available dictionary -->
- <string name="has_dictionary">Dictionary available</string>
-
- <!-- Preferences item for enabling to send user statistics to Google -->
- <string name="prefs_enable_log">Enable user feedback</string>
- <!-- Description for enabling to send user statistics to Google -->
- <string name="prefs_description_log">Help improve this input method editor by automatically sending usage statistics and crash reports to Google.</string>
-
- <!-- Title of the item to change the keyboard theme [CHAR LIMIT=20]-->
- <string name="keyboard_layout">Keyboard theme</string>
-
- <!-- Description for English (United Kingdom) keyboard subtype [CHAR LIMIT=25] -->
- <string name="subtype_en_GB">English (UK)</string>
- <!-- Description for English (United States) keyboard subtype [CHAR LIMIT=25] -->
- <string name="subtype_en_US">English (US)</string>
- <!-- Description for English (United Kingdom) keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
- This should be identical to subtype_en_GB aside from the trailing (%s). -->
- <string name="subtype_with_layout_en_GB">English (UK) (<xliff:g id="layout">%s</xliff:g>)</string>
- <!-- Description for English (United States) keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
- This should be identical to subtype_en_US aside from the trailing (%s). -->
- <string name="subtype_with_layout_en_US">English (US) (<xliff:g id="layout">%s</xliff:g>)</string>
- <!-- TODO: Uncomment once we can handle IETF language tag with script name specified.
- Description for Serbian Cyrillic keyboard subtype [CHAR LIMIT=25]
- <string name="subtype_serbian_cyrillic">Serbian (Cyrillic)</string>
- Description for Serbian Latin keyboard subtype [CHAR LIMIT=25]
- <string name="subtype_serbian_latin">Serbian (Latin)</string>
- Description for Serbian Latin keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
- This should be identical to subtype_serbian_latin aside from the trailing (%s).
- <string name="subtype_with_layout_sr-Latn">Serbian (Latin) (<xliff:g id="layout">%s</xliff:g>)</string>
- -->
- <!-- Description for language agnostic keyboard subtype [CHAR LIMIT=25] -->
- <string name="subtype_no_language">No language</string>
- <!-- Description for language agnostic QWERTY keyboard subtype [CHAR LIMIT=25] -->
- <string name="subtype_no_language_qwerty">No language (QWERTY)</string>
- <!-- Description for language agnostic QWERTZ keyboard subtype [CHAR LIMIT=25] -->
- <string name="subtype_no_language_qwertz">No language (QWERTZ)</string>
- <!-- Description for language agnostic AZERTY keyboard subtype [CHAR LIMIT=25] -->
- <string name="subtype_no_language_azerty">No language (AZERTY)</string>
- <!-- Description for language agnostic Dvorak keyboard subtype [CHAR LIMIT=25] -->
- <string name="subtype_no_language_dvorak">No language (Dvorak)</string>
- <!-- Description for language agnostic Colemak keyboard subtype [CHAR LIMIT=25] -->
- <string name="subtype_no_language_colemak">No language (Colemak)</string>
- <!-- Description for language agnostic PC QWERTY keyboard subtype [CHAR LIMIT=25] -->
- <string name="subtype_no_language_pcqwerty">No language (PC)</string>
-
- <!-- Title of the preference settings for custom input styles (language and keyboard layout pairs) [CHAR LIMIT=35]-->
- <string name="custom_input_styles_title">Custom input styles</string>
- <!-- Title of the option menu to add a new style entry in the preference settings [CHAR LIMIT=16] -->
- <string name="add_style">Add style</string>
- <!-- Title of the button to add custom style entry in the settings dialog [CHAR LIMIT=15] -->
- <string name="add">Add</string>
- <!-- Title of the button to remove a custom style entry in the settings dialog [CHAR LIMIT=15] -->
- <string name="remove">Remove</string>
- <!-- Title of the button to save a custom style entry in the settings dialog [CHAR LIMIT=15] -->
- <string name="save">Save</string>
- <!-- Title of the spinner for choosing a language of custom style in the settings dialog [CHAR LIMIT=15] -->
- <string name="subtype_locale">Language</string>
- <!-- Title of the spinner for choosing a keyboard layout of custom style in the settings dialog [CHAR LIMIT=15] -->
- <string name="keyboard_layout_set">Layout</string>
- <!-- The message of the dialog to note that a custom input style needs to be enabled. [CHAR LIMIT=130] -->
- <string name="custom_input_style_note_message">"Your custom input style needs to be enabled before you start using it. Do you want to enable it now?"</string>
- <!-- Title of the button to enable a custom input style entry in the settings dialog [CHAR LIMIT=15] -->
- <string name="enable">Enable</string>
- <!-- Title of the button to postpone enabling a custom input style entry in the settings dialog [CHAR LIMIT=15] -->
- <string name="not_now">Not now</string>
- <!-- Toast text to describe the same input style already exists [CHAR LIMIT=64]-->
- <string name="custom_input_style_already_exists">"The same input style already exists: <xliff:g id="input_style_name">%s</xliff:g>"</string>
-
- <!-- Title of an option for usability study mode -->
- <string name="prefs_usability_study_mode">Usability study mode</string>
- <!-- Title of the settings for keypress vibration duration -->
- <string name="prefs_keypress_vibration_duration_settings">Keypress vibration duration settings</string>
- <!-- Title of the settings for keypress sound volume -->
- <string name="prefs_keypress_sound_volume_settings">Keypress sound volume settings</string>
-</resources>
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
deleted file mode 100644
index ed92440ef..000000000
--- a/java/res/values/styles.xml
+++ /dev/null
@@ -1,396 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- Theme "Basic" -->
- <style name="Keyboard">
- <!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
- <item name="themeId">0</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
- <item name="rowHeight">25%p</item>
- <item name="keyboardHeight">@dimen/keyboardHeight</item>
- <item name="maxKeyboardHeight">@fraction/maxKeyboardHeight</item>
- <item name="minKeyboardHeight">@fraction/minKeyboardHeight</item>
- <item name="moreKeysTemplate">@xml/kbd_more_keys_keyboard_template</item>
- <item name="keyboardTopPadding">@fraction/keyboard_top_padding</item>
- <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding</item>
- <item name="keyboardHorizontalEdgesPadding">@fraction/keyboard_horizontal_edges_padding</item>
- <item name="horizontalGap">@fraction/key_horizontal_gap</item>
- <item name="verticalGap">@fraction/key_bottom_gap</item>
- <item name="maxMoreKeysColumn">@integer/config_max_more_keys_column</item>
- </style>
- <style name="KeyboardView">
- <item name="android:background">@drawable/keyboard_background</item>
- <item name="keyBackground">@drawable/btn_keyboard_key</item>
- <item name="keyLetterSize">@fraction/key_letter_ratio</item>
- <item name="keyLargeLetterRatio">@fraction/key_large_letter_ratio</item>
- <item name="keyLabelSize">@fraction/key_label_ratio</item>
- <item name="keyLargeLabelRatio">@fraction/key_large_label_ratio</item>
- <item name="keyHintLetterRatio">@fraction/key_hint_letter_ratio</item>
- <item name="keyHintLabelRatio">@fraction/key_hint_label_ratio</item>
- <item name="keyShiftedLetterHintRatio">@fraction/key_uppercase_letter_ratio</item>
- <item name="keyTypeface">normal</item>
- <item name="keyTextColor">#FFFFFFFF</item>
- <item name="keyTextInactivatedColor">#FFFFFFFF</item>
- <item name="keyHintLetterColor">#80000000</item>
- <item name="keyHintLabelColor">#E0E0E4E5</item>
- <item name="keyShiftedLetterHintInactivatedColor">#66E0E4E5</item>
- <item name="keyShiftedLetterHintActivatedColor">#CCE0E4E5</item>
- <item name="keyLabelHorizontalPadding">@dimen/key_label_horizontal_padding</item>
- <item name="keyHintLetterPadding">@dimen/key_hint_letter_padding</item>
- <item name="keyPopupHintLetterPadding">@dimen/key_popup_hint_letter_padding</item>
- <item name="keyShiftedLetterHintPadding">@dimen/key_uppercase_letter_padding</item>
- <item name="keyPreviewLayout">@layout/key_preview</item>
- <item name="keyPreviewTextColor">#FFFFFFFF</item>
- <item name="keyPreviewOffset">@dimen/key_preview_offset</item>
- <item name="keyPreviewHeight">@dimen/key_preview_height</item>
- <item name="keyPreviewTextRatio">@fraction/key_preview_text_ratio</item>
- <item name="keyPreviewLingerTimeout">@integer/config_key_preview_linger_timeout</item>
- <item name="moreKeysLayout">@layout/more_keys_keyboard</item>
- <item name="verticalCorrection">@dimen/keyboard_vertical_correction</item>
- <item name="keyTextShadowColor">#BB000000</item>
- <item name="keyTextShadowRadius">2.75</item>
- <item name="backgroundDimAlpha">128</item>
- <!-- android:color/holo_blue_light=#FF33B5E5 -->
- <item name="gestureFloatingPreviewTextSize">@dimen/gesture_floating_preview_text_size</item>
- <item name="gestureFloatingPreviewTextColor">@android:color/holo_blue_light</item>
- <item name="gestureFloatingPreviewTextOffset">@dimen/gesture_floating_preview_text_offset</item>
- <item name="gestureFloatingPreviewColor">#C0000000</item>
- <item name="gestureFloatingPreviewHorizontalPadding">@dimen/gesture_floating_preview_horizontal_padding</item>
- <item name="gestureFloatingPreviewVerticalPadding">@dimen/gesture_floating_preview_vertical_padding</item>
- <item name="gestureFloatingPreviewRoundRadius">@dimen/gesture_floating_preview_round_radius</item>
- <item name="gestureFloatingPreviewTextLingerTimeout">@integer/config_gesture_floating_preview_text_linger_timeout</item>
- <item name="gesturePreviewTrailFadeoutStartDelay">@integer/config_gesture_preview_trail_fadeout_start_delay</item>
- <item name="gesturePreviewTrailFadeoutDuration">@integer/config_gesture_preview_trail_fadeout_duration</item>
- <item name="gesturePreviewTrailUpdateInterval">@integer/config_gesture_preview_trail_update_interval</item>
- <item name="gesturePreviewTrailColor">@android:color/holo_blue_light</item>
- <item name="gesturePreviewTrailStartWidth">@dimen/gesture_preview_trail_start_width</item>
- <item name="gesturePreviewTrailEndWidth">@dimen/gesture_preview_trail_end_width</item>
- <!-- Common attributes of MainKeyboardView -->
- <item name="keyHysteresisDistance">@dimen/config_key_hysteresis_distance</item>
- <item name="touchNoiseThresholdTime">@integer/config_touch_noise_threshold_time</item>
- <item name="touchNoiseThresholdDistance">@dimen/config_touch_noise_threshold_distance</item>
- <item name="slidingKeyInputEnable">@bool/config_sliding_key_input_enabled</item>
- <item name="keyRepeatStartTimeout">@integer/config_key_repeat_start_timeout</item>
- <item name="keyRepeatInterval">@integer/config_key_repeat_interval</item>
- <item name="longPressKeyTimeout">@integer/config_long_press_key_timeout</item>
- <item name="longPressShiftKeyTimeout">@integer/config_long_press_shift_key_timeout</item>
- <item name="ignoreAltCodeKeyTimeout">@integer/config_ignore_alt_code_key_timeout</item>
- <item name="showMoreKeysKeyboardAtTouchedPoint">@bool/config_show_more_keys_keyboard_at_touched_point</item>
- <item name="languageOnSpacebarFinalAlpha">@integer/config_language_on_spacebar_final_alpha</item>
- <item name="languageOnSpacebarFadeoutAnimator">@anim/language_on_spacebar_fadeout</item>
- <item name="altCodeKeyWhileTypingFadeoutAnimator">@anim/alt_code_key_while_typing_fadeout</item>
- <item name="altCodeKeyWhileTypingFadeinAnimator">@anim/alt_code_key_while_typing_fadein</item>
- </style>
- <style
- name="MainKeyboardView"
- parent="KeyboardView">
- <item name="autoCorrectionSpacebarLedEnabled">true</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led</item>
- <item name="spacebarTextRatio">@fraction/spacebar_text_ratio</item>
- <item name="spacebarTextColor">#FFC0C0C0</item>
- <item name="spacebarTextShadowColor">#80000000</item>
- </style>
- <style
- name="MoreKeysKeyboard"
- parent="Keyboard"
- >
- <item name="keyboardTopPadding">0dp</item>
- <item name="keyboardBottomPadding">0dp</item>
- <item name="horizontalGap">0dp</item>
- </style>
- <style
- name="MoreKeysKeyboardView"
- parent="KeyboardView"
- >
- <item name="keyBackground">@drawable/btn_keyboard_key_popup</item>
- <item name="verticalCorrection">@dimen/more_keys_keyboard_vertical_correction</item>
- </style>
- <style name="MoreKeysKeyboardPanelStyle">
- <item name="android:background">@drawable/keyboard_popup_panel_background</item>
- </style>
- <style name="SuggestionsStripBackgroundStyle">
- <item name="android:background">@drawable/keyboard_suggest_strip</item>
- </style>
- <style
- name="SuggestionStripViewStyle"
- parent="SuggestionsStripBackgroundStyle"
- >
- <item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
- <item name="colorValidTypedWord">#FFFCAE00</item>
- <item name="colorTypedWord">@android:color/white</item>
- <item name="colorAutoCorrect">#FFFCAE00</item>
- <item name="colorSuggested">#FFFCAE00</item>
- <item name="alphaObsoleted">50%</item>
- <item name="suggestionsCountInStrip">@integer/suggestions_count_in_strip</item>
- <item name="centerSuggestionPercentile">@fraction/center_suggestion_percentile</item>
- <item name="maxMoreSuggestionsRow">@integer/max_more_suggestions_row</item>
- <item name="minMoreSuggestionsWidth">@fraction/min_more_suggestions_width</item>
- </style>
- <style
- name="MoreSuggestionsViewStyle"
- parent="MoreKeysKeyboardView"
- >
- </style>
- <style name="SuggestionBackgroundStyle">
- <item name="android:background">@drawable/btn_suggestion</item>
- </style>
- <style name="SuggestionPreviewBackgroundStyle">
- <item name="android:background">@drawable/suggestion_feedback_background</item>
- </style>
- <!-- Theme "Basic high contrast" -->
- <style
- name="Keyboard.HighContrast"
- parent="Keyboard"
- >
- <!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
- <item name="themeId">1</item>
- </style>
- <style
- name="KeyboardView.HighContrast"
- parent="KeyboardView"
- >
- <item name="android:background">@android:color/black</item>
- <item name="keyBackground">@drawable/btn_keyboard_key3</item>
- </style>
- <style
- name="MainKeyboardView.HighContrast"
- parent="KeyboardView.HighContrast"
- >
- <item name="autoCorrectionSpacebarLedEnabled">true</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led</item>
- <item name="spacebarTextRatio">@fraction/spacebar_text_ratio</item>
- <item name="spacebarTextColor">#FFC0C0C0</item>
- <item name="spacebarTextShadowColor">#80000000</item>
- </style>
- <!-- Theme "Stone" -->
- <style
- name="Keyboard.Stone"
- parent="Keyboard"
- >
- <!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
- <item name="themeId">6</item>
- <item name="keyboardTopPadding">@fraction/keyboard_top_padding_stone</item>
- <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_stone</item>
- <item name="horizontalGap">@fraction/key_horizontal_gap_stone</item>
- <item name="verticalGap">@fraction/key_bottom_gap_stone</item>
- </style>
- <style
- name="KeyboardView.Stone"
- parent="KeyboardView"
- >
- <item name="keyBackground">@drawable/btn_keyboard_key_stone</item>
- <item name="keyTextColor">#FF000000</item>
- <item name="keyTextInactivatedColor">#FF808080</item>
- <item name="keyHintLetterColor">#80000000</item>
- <item name="keyHintLabelColor">#E0000000</item>
- <item name="keyShiftedLetterHintInactivatedColor">#66000000</item>
- <item name="keyShiftedLetterHintActivatedColor">#CC000000</item>
- <item name="keyTextShadowColor">#FFFFFFFF</item>
- </style>
- <style
- name="MainKeyboardView.Stone"
- parent="KeyboardView.Stone"
- >
- <item name="autoCorrectionSpacebarLedEnabled">true</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led</item>
- <item name="spacebarTextRatio">@fraction/spacebar_text_ratio</item>
- <item name="spacebarTextColor">#FF000000</item>
- <item name="spacebarTextShadowColor">#D0FFFFFF</item>
- </style>
- <style
- name="MoreKeysKeyboard.Stone"
- parent="Keyboard.Stone"
- >
- <item name="keyboardTopPadding">0dp</item>
- <item name="keyboardBottomPadding">0dp</item>
- <item name="horizontalGap">0dp</item>
- </style>
- <style
- name="MoreKeysKeyboardView.Stone"
- parent="MoreKeysKeyboardView"
- >
- <item name="keyBackground">@drawable/btn_keyboard_key_stone</item>
- <item name="keyTextColor">#FF000000</item>
- <item name="keyTextShadowColor">#FFFFFFFF</item>
- </style>
- <!-- Theme "Stone bold" -->
- <style
- name="Keyboard.Stone.Bold"
- parent="Keyboard.Stone"
- >
- <!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
- <item name="themeId">7</item>
- </style>
- <style
- name="KeyboardView.Stone.Bold"
- parent="KeyboardView.Stone"
- >
- <item name="keyTypeface">bold</item>
- </style>
- <style
- name="MainKeyboardView.Stone.Bold"
- parent="KeyboardView.Stone.Bold"
- >
- <item name="autoCorrectionSpacebarLedEnabled">true</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led</item>
- <item name="spacebarTextRatio">@fraction/spacebar_text_ratio</item>
- <item name="spacebarTextColor">#FF000000</item>
- <item name="spacebarTextShadowColor">#D0FFFFFF</item>
- </style>
- <!-- Theme "Gingerbread" -->
- <style
- name="Keyboard.Gingerbread"
- parent="Keyboard"
- >
- <!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
- <item name="themeId">8</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_gingerbread</item>
- <item name="horizontalGap">@fraction/key_horizontal_gap_gb</item>
- <item name="verticalGap">@fraction/key_bottom_gap_gb</item>
- </style>
- <style
- name="KeyboardView.Gingerbread"
- parent="KeyboardView"
- >
- <item name="android:background">@drawable/keyboard_dark_background</item>
- <item name="keyBackground">@drawable/btn_keyboard_key_gingerbread</item>
- <item name="keyTypeface">bold</item>
- </style>
- <style
- name="MainKeyboardView.Gingerbread"
- parent="KeyboardView.Gingerbread"
- >
- <item name="autoCorrectionSpacebarLedEnabled">true</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led</item>
- <item name="spacebarTextRatio">@fraction/spacebar_text_ratio</item>
- <item name="spacebarTextColor">#FFC0C0C0</item>
- <item name="spacebarTextShadowColor">#80000000</item>
- </style>
- <style
- name="MoreKeysKeyboard.Gingerbread"
- parent="Keyboard.Gingerbread"
- >
- <item name="keyboardTopPadding">0dp</item>
- <item name="keyboardBottomPadding">0dp</item>
- <item name="horizontalGap">0dp</item>
- </style>
- <style
- name="MoreKeysKeyboardView.Gingerbread"
- parent="MoreKeysKeyboardView"
- >
- <item name="android:background">@null</item>
- </style>
- <!-- Theme "IceCreamSandwich" -->
- <style
- name="Keyboard.IceCreamSandwich"
- parent="Keyboard"
- >
- <!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
- <item name="themeId">5</item>
- <item name="keyboardTopPadding">@fraction/keyboard_top_padding_ics</item>
- <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_ics</item>
- <item name="horizontalGap">@fraction/key_horizontal_gap_ics</item>
- <item name="verticalGap">@fraction/key_bottom_gap_ics</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_ice_cream_sandwich</item>
- </style>
- <style
- name="KeyboardView.IceCreamSandwich"
- parent="KeyboardView"
- >
- <item name="android:background">@drawable/keyboard_background_holo</item>
- <item name="keyBackground">@drawable/btn_keyboard_key_ics</item>
- <item name="keyTypeface">bold</item>
- <item name="keyTextInactivatedColor">#66E0E4E5</item>
- <item name="keyHintLetterColor">#80000000</item>
- <item name="keyHintLabelColor">#A0FFFFFF</item>
- <item name="keyShiftedLetterHintInactivatedColor">#66E0E4E5</item>
- <item name="keyShiftedLetterHintActivatedColor">#FFFFFFFF</item>
- <item name="keyPreviewLayout">@layout/key_preview_ics</item>
- <item name="keyPreviewTextColor">#FFFFFFFF</item>
- <item name="keyPreviewOffset">@dimen/key_preview_offset_ics</item>
- <item name="keyTextShadowColor">#00000000</item>
- <item name="keyTextShadowRadius">0.0</item>
- </style>
- <style
- name="MainKeyboardView.IceCreamSandwich"
- parent="KeyboardView.IceCreamSandwich"
- >
- <item name="autoCorrectionSpacebarLedEnabled">false</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led_holo</item>
- <item name="spacebarTextRatio">@fraction/spacebar_text_ratio</item>
- <item name="spacebarTextColor">#FFC0C0C0</item>
- <item name="spacebarTextShadowColor">#80000000</item>
- </style>
- <style
- name="MoreKeysKeyboard.IceCreamSandwich"
- parent="Keyboard.IceCreamSandwich"
- >
- <item name="keyboardTopPadding">0dp</item>
- <item name="keyboardBottomPadding">0dp</item>
- <item name="horizontalGap">0dp</item>
- </style>
- <style
- name="MoreKeysKeyboardView.IceCreamSandwich"
- parent="MoreKeysKeyboardView"
- >
- <item name="android:background">@null</item>
- <item name="keyBackground">@drawable/btn_keyboard_key_popup_ics</item>
- <item name="verticalCorrection">@dimen/more_keys_keyboard_vertical_correction_ics</item>
- </style>
- <style name="MoreKeysKeyboardPanelStyle.IceCreamSandwich">
- <item name="android:background">@drawable/keyboard_popup_panel_background_holo</item>
- </style>
- <style name="SuggestionsStripBackgroundStyle.IceCreamSandwich">
- <item name="android:background">@drawable/keyboard_suggest_strip_holo</item>
- </style>
- <style
- name="SuggestionStripViewStyle.IceCreamSandwich"
- parent="SuggestionsStripBackgroundStyle.IceCreamSandwich"
- >
- <item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
- <!-- android:color/holo_blue_light=#FF33B5E5 -->
- <item name="colorValidTypedWord">@android:color/holo_blue_light</item>
- <item name="colorTypedWord">@android:color/holo_blue_light</item>
- <item name="colorAutoCorrect">@android:color/holo_blue_light</item>
- <item name="colorSuggested">@android:color/holo_blue_light</item>
- <item name="alphaValidTypedWord">85%</item>
- <item name="alphaTypedWord">85%</item>
- <item name="alphaSuggested">70%</item>
- <item name="alphaObsoleted">70%</item>
- <item name="suggestionsCountInStrip">@integer/suggestions_count_in_strip</item>
- <item name="centerSuggestionPercentile">@fraction/center_suggestion_percentile</item>
- <item name="maxMoreSuggestionsRow">@integer/max_more_suggestions_row</item>
- <item name="minMoreSuggestionsWidth">@fraction/min_more_suggestions_width</item>
- </style>
- <style
- name="MoreSuggestionsViewStyle.IceCreamSandwich"
- parent="MoreKeysKeyboardView.IceCreamSandwich"
- >
- </style>
- <style name="SuggestionBackgroundStyle.IceCreamSandwich">
- <item name="android:background">@drawable/btn_suggestion_ics</item>
- </style>
- <style
- name="SuggestionPreviewBackgroundStyle.IceCreamSandwich"
- parent="MoreKeysKeyboardPanelStyle.IceCreamSandwich"
- >
- </style>
- <style name="MoreKeysKeyboardAnimation">
- <item name="android:windowEnterAnimation">@anim/more_keys_keyboard_fadein</item>
- <item name="android:windowExitAnimation">@anim/more_keys_keyboard_fadeout</item>
- </style>
-</resources>
diff --git a/java/res/values/sudden-jumping-touch-event-device-list.xml b/java/res/values/sudden-jumping-touch-event-device-list.xml
deleted file mode 100644
index 543992a81..000000000
--- a/java/res/values/sudden-jumping-touch-event-device-list.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <string-array name="sudden_jumping_touch_event_device_list" translatable="false">
- <!-- "Build.HARDWARE,true" that needs "sudden jump touch event" hack.
- See {@link com.android.inputmethod.keyboard.SuddenJumpingTouchEventHandler}. -->
- <item>mahimahi,true</item> <!-- Nexus One -->
- <item>sholes,true</item> <!-- Droid -->
- </string-array>
-</resources>
diff --git a/java/res/values/themes-basic-highcontrast.xml b/java/res/values/themes-basic-highcontrast.xml
deleted file mode 100644
index b3ea05045..000000000
--- a/java/res/values/themes-basic-highcontrast.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
- <style name="KeyboardTheme.HighContrast" parent="KeyboardIcons">
- <item name="keyboardStyle">@style/Keyboard.HighContrast</item>
- <item name="keyboardViewStyle">@style/KeyboardView.HighContrast</item>
- <item name="mainKeyboardViewStyle">@style/MainKeyboardView.HighContrast</item>
- <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard</item>
- <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView</item>
- <item name="moreKeysKeyboardPanelStyle">@style/MoreKeysKeyboardPanelStyle</item>
- <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
- <item name="suggestionStripViewStyle">@style/SuggestionStripViewStyle</item>
- <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
- <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
- <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- </style>
-</resources>
diff --git a/java/res/values/themes-basic.xml b/java/res/values/themes-basic.xml
deleted file mode 100644
index ff6a70a08..000000000
--- a/java/res/values/themes-basic.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
- <style name="KeyboardTheme" parent="KeyboardIcons">
- <item name="keyboardStyle">@style/Keyboard</item>
- <item name="keyboardViewStyle">@style/KeyboardView</item>
- <item name="mainKeyboardViewStyle">@style/MainKeyboardView</item>
- <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard</item>
- <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView</item>
- <item name="moreKeysKeyboardPanelStyle">@style/MoreKeysKeyboardPanelStyle</item>
- <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
- <item name="suggestionStripViewStyle">@style/SuggestionStripViewStyle</item>
- <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
- <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
- <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- </style>
-</resources>
diff --git a/java/res/values/themes-gingerbread.xml b/java/res/values/themes-gingerbread.xml
deleted file mode 100644
index 0ce0b8a9b..000000000
--- a/java/res/values/themes-gingerbread.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
- <style name="KeyboardTheme.Gingerbread" parent="KeyboardIcons">
- <item name="keyboardStyle">@style/Keyboard.Gingerbread</item>
- <item name="keyboardViewStyle">@style/KeyboardView.Gingerbread</item>
- <item name="mainKeyboardViewStyle">@style/MainKeyboardView.Gingerbread</item>
- <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.Gingerbread</item>
- <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.Gingerbread</item>
- <item name="moreKeysKeyboardPanelStyle">@style/MoreKeysKeyboardPanelStyle</item>
- <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
- <item name="suggestionStripViewStyle">@style/SuggestionStripViewStyle</item>
- <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
- <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
- <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- </style>
-</resources>
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
deleted file mode 100644
index 8df58c594..000000000
--- a/java/res/values/themes-ics.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
- <style name="KeyboardTheme.IceCreamSandwich" parent="KeyboardIcons.IceCreamSandwich">
- <item name="keyboardStyle">@style/Keyboard.IceCreamSandwich</item>
- <item name="keyboardViewStyle">@style/KeyboardView.IceCreamSandwich</item>
- <item name="mainKeyboardViewStyle">@style/MainKeyboardView.IceCreamSandwich</item>
- <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.IceCreamSandwich</item>
- <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.IceCreamSandwich</item>
- <item name="moreKeysKeyboardPanelStyle">@style/MoreKeysKeyboardPanelStyle.IceCreamSandwich</item>
- <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle.IceCreamSandwich</item>
- <item name="suggestionStripViewStyle">@style/SuggestionStripViewStyle.IceCreamSandwich</item>
- <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle.IceCreamSandwich</item>
- <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle.IceCreamSandwich</item>
- <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle.IceCreamSandwich</item>
- </style>
-</resources>
diff --git a/java/res/values/themes-stone-bold.xml b/java/res/values/themes-stone-bold.xml
deleted file mode 100644
index 355a97f7b..000000000
--- a/java/res/values/themes-stone-bold.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
- <style name="KeyboardTheme.Stone.Bold" parent="KeyboardIcons.Black">
- <item name="keyboardStyle">@style/Keyboard.Stone.Bold</item>
- <item name="keyboardViewStyle">@style/KeyboardView.Stone.Bold</item>
- <item name="mainKeyboardViewStyle">@style/MainKeyboardView.Stone.Bold</item>
- <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.Stone</item>
- <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.Stone</item>
- <item name="moreKeysKeyboardPanelStyle">@style/MoreKeysKeyboardPanelStyle</item>
- <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
- <item name="suggestionStripViewStyle">@style/SuggestionStripViewStyle</item>
- <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
- <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
- <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- </style>
-</resources>
diff --git a/java/res/values/themes-stone.xml b/java/res/values/themes-stone.xml
deleted file mode 100644
index 23437f780..000000000
--- a/java/res/values/themes-stone.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
- <style name="KeyboardTheme.Stone" parent="KeyboardIcons.Black">
- <item name="keyboardStyle">@style/Keyboard.Stone</item>
- <item name="keyboardViewStyle">@style/KeyboardView.Stone</item>
- <item name="mainKeyboardViewStyle">@style/MainKeyboardView.Stone</item>
- <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.Stone</item>
- <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.Stone</item>
- <item name="moreKeysKeyboardPanelStyle">@style/MoreKeysKeyboardPanelStyle</item>
- <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
- <item name="suggestionStripViewStyle">@style/SuggestionStripViewStyle</item>
- <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
- <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
- <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- </style>
-</resources>
diff --git a/java/res/values/touch-position-correction.xml b/java/res/values/touch-position-correction.xml
deleted file mode 100644
index 41b435ad0..000000000
--- a/java/res/values/touch-position-correction.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!--
- An entry of the touch_position_correction word should be:
- 1. (float) (touch_center_x - key_center_x) / key_width
- 2. (float) (touch_center_y - key_center_y) / key_height
- 3. (float) sweet_spot_radius / (key_width^2 + key_height^2)
- -->
-
- <string-array
- name="touch_position_correction_data_empty"
- translatable="false"
- >
- <!-- empty -->
- </string-array>
-
- <string-array
- name="touch_position_correction_data_gingerbread"
- translatable="false"
- >
- <!-- First row -->
- <item>0.0091285</item>
- <item>0.1193203</item>
- <item>0.1622607</item>
-
- <!-- Second row -->
- <item>-0.0233128</item>
- <item>0.1379798</item>
- <item>0.1585229</item>
-
- <!-- Third row -->
- <item>-0.0080185</item>
- <item>0.1911477</item>
- <item>0.1570948</item>
- </string-array>
-
- <string-array
- name="touch_position_correction_data_ice_cream_sandwich"
- translatable="false"
- >
- <!-- First row -->
- <item>0.0038756</item>
- <item>-0.0005677</item>
- <item>0.1577026</item>
-
- <!-- Second row -->
- <item>-0.0236678</item>
- <item>0.0381731</item>
- <item>0.1529972</item>
-
- <!-- Third row -->
- <item>-0.0086827</item>
- <item>0.0880847</item>
- <item>0.1522819</item>
- </string-array>
-</resources>
diff --git a/java/res/values/urls.xml b/java/res/values/urls.xml
deleted file mode 100644
index a8e9ad7d3..000000000
--- a/java/res/values/urls.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources>
- <string name="research_logger_upload_url" translatable="false"></string>
-</resources>
diff --git a/java/res/xml-land/kbd_number.xml b/java/res/xml-land/kbd_number.xml
deleted file mode 100644
index 7cc0fb274..000000000
--- a/java/res/xml-land/kbd_number.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyboardHorizontalEdgesPadding="10%p"
- latin:keyWidth="26.67%p"
->
- <include
- latin:keyboardLayout="@xml/rows_number" />
-</Keyboard>
diff --git a/java/res/xml-land/kbd_phone.xml b/java/res/xml-land/kbd_phone.xml
deleted file mode 100644
index aa54b8390..000000000
--- a/java/res/xml-land/kbd_phone.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyboardHorizontalEdgesPadding="10%p"
- latin:keyWidth="26.67%p"
->
- <include
- latin:keyboardLayout="@xml/rows_phone" />
-</Keyboard>
diff --git a/java/res/xml-land/kbd_phone_symbols.xml b/java/res/xml-land/kbd_phone_symbols.xml
deleted file mode 100644
index 41ba6cf3b..000000000
--- a/java/res/xml-land/kbd_phone_symbols.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyboardHorizontalEdgesPadding="10%p"
- latin:keyWidth="26.67%p"
->
- <include
- latin:keyboardLayout="@xml/rows_phone_symbols" />
-</Keyboard>
diff --git a/java/res/xml-sw600dp-land/kbd_more_keys_keyboard_template.xml b/java/res/xml-sw600dp-land/kbd_more_keys_keyboard_template.xml
deleted file mode 100644
index 4d8b446a2..000000000
--- a/java/res/xml-sw600dp-land/kbd_more_keys_keyboard_template.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="5%p"
- latin:rowHeight="@dimen/popup_key_height"
- style="?attr/moreKeysKeyboardStyle"
- >
-</Keyboard>
diff --git a/java/res/xml-sw600dp-land/kbd_number.xml b/java/res/xml-sw600dp-land/kbd_number.xml
deleted file mode 100644
index cb86b3b2f..000000000
--- a/java/res/xml-sw600dp-land/kbd_number.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyboardHorizontalEdgesPadding="10%p"
- latin:keyWidth="18%p"
->
- <include
- latin:keyboardLayout="@xml/rows_number" />
-</Keyboard>
diff --git a/java/res/xml-sw600dp-land/kbd_phone.xml b/java/res/xml-sw600dp-land/kbd_phone.xml
deleted file mode 100644
index 71c7c04a1..000000000
--- a/java/res/xml-sw600dp-land/kbd_phone.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyboardHorizontalEdgesPadding="10%p"
- latin:keyWidth="18%p"
->
- <include
- latin:keyboardLayout="@xml/rows_phone" />
-</Keyboard>
diff --git a/java/res/xml-sw600dp-land/kbd_phone_symbols.xml b/java/res/xml-sw600dp-land/kbd_phone_symbols.xml
deleted file mode 100644
index 39bdae3c7..000000000
--- a/java/res/xml-sw600dp-land/kbd_phone_symbols.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyboardHorizontalEdgesPadding="10%p"
- latin:keyWidth="18%p"
->
- <!-- Tablet doesn't have phone symbols keyboard -->
- <include
- latin:keyboardLayout="@xml/rows_phone" />
-</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_10_10_7_symbols.xml b/java/res/xml-sw600dp/kbd_10_10_7_symbols.xml
deleted file mode 100644
index 66254dea0..000000000
--- a/java/res/xml-sw600dp/kbd_10_10_7_symbols.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_10_10_7_symbols" />
-</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_10_10_7_symbols_shift.xml b/java/res/xml-sw600dp/kbd_10_10_7_symbols_shift.xml
deleted file mode 100644
index 3c5ed5e09..000000000
--- a/java/res/xml-sw600dp/kbd_10_10_7_symbols_shift.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_10_10_7_symbols_shift" />
-</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_more_keys_keyboard_template.xml b/java/res/xml-sw600dp/kbd_more_keys_keyboard_template.xml
deleted file mode 100644
index d90a5884e..000000000
--- a/java/res/xml-sw600dp/kbd_more_keys_keyboard_template.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="8%p"
- latin:rowHeight="@dimen/popup_key_height"
- style="?attr/moreKeysKeyboardStyle"
- >
-</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_number.xml b/java/res/xml-sw600dp/kbd_number.xml
deleted file mode 100644
index 4a8b08c2a..000000000
--- a/java/res/xml-sw600dp/kbd_number.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="18%p"
->
- <include
- latin:keyboardLayout="@xml/rows_number" />
-</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_phone.xml b/java/res/xml-sw600dp/kbd_phone.xml
deleted file mode 100644
index f63f1c648..000000000
--- a/java/res/xml-sw600dp/kbd_phone.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="18%p"
->
- <include
- latin:keyboardLayout="@xml/rows_phone" />
-</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_phone_symbols.xml b/java/res/xml-sw600dp/kbd_phone_symbols.xml
deleted file mode 100644
index a0f55b732..000000000
--- a/java/res/xml-sw600dp/kbd_phone_symbols.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="18%p"
->
- <!-- Tablet doesn't have phone symbols keyboard -->
- <include
- latin:keyboardLayout="@xml/rows_phone" />
-</Keyboard>
diff --git a/java/res/xml-sw600dp/key_apostrophe.xml b/java/res/xml-sw600dp/key_apostrophe.xml
deleted file mode 100644
index 2aec34729..000000000
--- a/java/res/xml-sw600dp/key_apostrophe.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:mode="email|url"
- >
- <Key
- latin:keyLabel="-" />
- </case>
- <case
- latin:languageCode="fa"
- >
- <Key
- latin:keyLabel="!text/keylabel_for_apostrophe"
- latin:keyHintLabel="!text/keyhintlabel_for_apostrophe"
- latin:keyLabelFlags="hasPopupHint"
- latin:moreKeys="!text/more_keys_for_apostrophe"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </case>
- <default>
- <Key
- latin:keyLabel="!text/keylabel_for_apostrophe"
- latin:keyHintLabel="!text/keyhintlabel_for_apostrophe"
- latin:moreKeys="!text/more_keys_for_apostrophe"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/key_azerty_quote.xml b/java/res/xml-sw600dp/key_azerty_quote.xml
deleted file mode 100644
index 0e4a8ecdd..000000000
--- a/java/res/xml-sw600dp/key_azerty_quote.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="\'"
- latin:keyHintLabel=":"
- latin:moreKeys=":"
- latin:keyStyle="hasShiftedLetterHintStyle" />
-</merge>
diff --git a/java/res/xml-sw600dp/key_colemak_colon.xml b/java/res/xml-sw600dp/key_colemak_colon.xml
deleted file mode 100644
index a5a6e9526..000000000
--- a/java/res/xml-sw600dp/key_colemak_colon.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel=":"
- latin:keyHintLabel=";"
- latin:moreKeys=";"
- latin:keyStyle="hasShiftedLetterHintStyle" />
-</merge>
diff --git a/java/res/xml-sw600dp/key_dash.xml b/java/res/xml-sw600dp/key_dash.xml
deleted file mode 100644
index b139c29c8..000000000
--- a/java/res/xml-sw600dp/key_dash.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:mode="email|url"
- >
- <Key
- latin:keyLabel="_" />
- </case>
- <case
- latin:languageCode="ar|fa"
- >
- <Key
- latin:keyLabel="."
- latin:keyHintLabel="!text/keyhintlabel_for_arabic_diacritics"
- latin:keyLabelFlags="hasPopupHint"
- latin:moreKeys="!text/more_keys_for_arabic_diacritics"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </case>
- <default>
- <Key
- latin:keyLabel="-"
- latin:keyHintLabel="_"
- latin:moreKeys="_"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/key_f1.xml b/java/res/xml-sw600dp/key_f1.xml
deleted file mode 100644
index 77afe4e64..000000000
--- a/java/res/xml-sw600dp/key_f1.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="symbols"
- latin:mode="url"
- >
- <Key
- latin:keyLabel=":" />
- </case>
- <case
- latin:keyboardLayoutSetElement="symbols"
- >
- <Key
- latin:keyLabel="\@" />
- </case>
- <!-- keyboardLayoutSetElement != "symbols" -->
- <case
- latin:mode="email"
- >
- <Key
- latin:keyLabel="\@" />
- </case>
- <case
- latin:mode="url"
- >
- <Key
- latin:keyLabel="/"
- latin:keyHintLabel=":"
- latin:moreKeys=":"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </case>
- <default>
- <Key
- latin:keyLabel="/"
- latin:keyHintLabel="\@"
- latin:moreKeys="\@"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/key_f2.xml b/java/res/xml-sw600dp/key_f2.xml
deleted file mode 100644
index ca3b30b54..000000000
--- a/java/res/xml-sw600dp/key_f2.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:mode="email|url"
- >
- <Key
- latin:keyStyle="comKeyStyle" />
- </case>
- <case
- latin:imeAction="actionSearch"
- >
- <Key
- latin:keyLabel=":"
- latin:keyHintLabel="+"
- latin:moreKeys="+"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </case>
- <default>
- <Key
- latin:keyStyle="smileyKeyStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/key_greek_semicolon.xml b/java/res/xml-sw600dp/key_greek_semicolon.xml
deleted file mode 100644
index 3f09419b1..000000000
--- a/java/res/xml-sw600dp/key_greek_semicolon.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel=";"
- latin:keyHintLabel=":"
- latin:moreKeys=":"
- latin:keyStyle="hasShiftedLetterHintStyle" />
-</merge>
diff --git a/java/res/xml-sw600dp/key_question_exclamation.xml b/java/res/xml-sw600dp/key_question_exclamation.xml
deleted file mode 100644
index 860a0be77..000000000
--- a/java/res/xml-sw600dp/key_question_exclamation.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:mode="email|url"
- >
- <Key
- latin:keyLabel="-" />
- </case>
- <default>
- <Key
- latin:keyLabel="\?"
- latin:keyHintLabel="!"
- latin:moreKeys="!"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/key_shortcut.xml b/java/res/xml-sw600dp/key_shortcut.xml
deleted file mode 100644
index 87fc75cd5..000000000
--- a/java/res/xml-sw600dp/key_shortcut.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:shortcutKeyEnabled="true"
- latin:clobberSettingsKey="false"
- >
- <Key
- latin:keyStyle="shortcutKeyStyle"
- latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="!text/settings_as_more_key" />
- </case>
- <case
- latin:shortcutKeyEnabled="true"
- latin:clobberSettingsKey="true"
- >
- <Key
- latin:keyStyle="shortcutKeyStyle" />
- </case>
- <case
- latin:shortcutKeyEnabled="false"
- latin:clobberSettingsKey="false"
- >
- <Key
- latin:keyStyle="settingsKeyStyle" />
- </case>
- <!-- shortcutKeyEnabled="false" clobberSettingsKey="true" -->
- <default>
- <Spacer />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/key_space.xml b/java/res/xml-sw600dp/key_space.xml
deleted file mode 100644
index 86af89f50..000000000
--- a/java/res/xml-sw600dp/key_space.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:languageCode="fa"
- latin:languageSwitchKeyEnabled="true"
- >
- <Key
- latin:keyStyle="languageSwitchKeyStyle" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="27.0%p" />
- <Key
- latin:keyStyle="zwnjKeyStyle" />
- </case>
- <case
- latin:languageCode="fa"
- latin:languageSwitchKeyEnabled="false"
- >
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="36.0%p" />
- <Key
- latin:keyStyle="zwnjKeyStyle" />
- </case>
- <case
- latin:languageSwitchKeyEnabled="true"
- >
- <Key
- latin:keyStyle="languageSwitchKeyStyle" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="36.0%p" />
- </case>
- <!-- languageSwitchKeyEnabled="false" -->
- <default>
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="45.0%p" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
deleted file mode 100644
index bf2e76a6b..000000000
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- >
- <key-style
- latin:styleName="hasShiftedLetterHintStyle"
- latin:keyLabelFlags="hasShiftedLetterHint|shiftedLetterActivated" />
- </case>
- <default>
- <key-style
- latin:styleName="hasShiftedLetterHintStyle"
- latin:keyLabelFlags="hasShiftedLetterHint" />
- </default>
- </switch>
- <!-- Functional key styles -->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetAutomaticShifted"
- >
- <key-style
- latin:styleName="shiftKeyStyle"
- latin:code="!code/key_shift"
- latin:keyIcon="!icon/shift_key_shifted"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="stickyOff" />
- </case>
- <case
- latin:keyboardLayoutSetElement="alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <key-style
- latin:styleName="shiftKeyStyle"
- latin:code="!code/key_shift"
- latin:keyIcon="!icon/shift_key_shifted"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="stickyOn" />
- </case>
- <default>
- <key-style
- latin:styleName="shiftKeyStyle"
- latin:code="!code/key_shift"
- latin:keyIcon="!icon/shift_key"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="stickyOff" />
- </default>
- </switch>
- <key-style
- latin:styleName="deleteKeyStyle"
- latin:code="!code/key_delete"
- latin:keyIcon="!icon/delete_key"
- latin:keyActionFlags="isRepeatable|noKeyPreview"
- latin:backgroundType="functional" />
- <include
- latin:keyboardLayout="@xml/key_styles_enter" />
- <!-- Override defaultEnterKeyStyle in key_styles_enter.xml -->
- <key-style
- latin:styleName="defaultEnterKeyStyle"
- latin:code="!code/key_enter"
- latin:keyIcon="!icon/enter_key"
- latin:keyLabelFlags="preserveCase|autoXScale|followKeyLargeLabelRatio"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional"
- latin:parentStyle="navigateMoreKeysStyle" />
- <key-style
- latin:styleName="spaceKeyStyle"
- latin:code="!code/key_space"
- latin:keyActionFlags="noKeyPreview|enableLongPress" />
- <!-- U+200C: ZERO WIDTH NON-JOINER
- U+200D: ZERO WIDTH JOINER -->
- <key-style
- latin:styleName="zwnjKeyStyle"
- latin:code="0x200C"
- latin:keyIcon="!icon/zwnj_key"
- latin:moreKeys="!icon/zwj_key|&#x200D;"
- latin:keyLabelFlags="hasPopupHint"
- latin:keyActionFlags="noKeyPreview" />
- <key-style
- latin:styleName="smileyKeyStyle"
- latin:keyLabel=":-)"
- latin:keyOutputText=":-) "
- latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="!text/more_keys_for_smiley" />
- <key-style
- latin:styleName="shortcutKeyStyle"
- latin:code="!code/key_shortcut"
- latin:keyIcon="!icon/shortcut_key"
- latin:keyIconDisabled="!icon/shortcut_key_disabled"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="languageSwitchKeyStyle"
- latin:code="!code/key_language_switch"
- latin:keyIcon="!icon/language_switch_key"
- latin:keyActionFlags="noKeyPreview|altCodeWhileTyping|enableLongPress"
- latin:altCode="!code/key_space" />
- <key-style
- latin:styleName="settingsKeyStyle"
- latin:code="!code/key_settings"
- latin:keyIcon="!icon/settings_key"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- latin:navigatePrevious="true"
- >
- <key-style
- latin:styleName="tabKeyStyle"
- latin:code="!code/key_action_previous"
- latin:keyIcon="!icon/tab_key"
- latin:keyIconPreview="!icon/tab_key_preview"
- latin:backgroundType="functional" />
- </case>
- <case
- latin:keyboardLayoutSetElement="alphabet|alphabetAutomaticShifted|alphabetShiftLocked"
- latin:navigateNext="true"
- >
- <key-style
- latin:styleName="tabKeyStyle"
- latin:code="!code/key_action_next"
- latin:keyIcon="!icon/tab_key"
- latin:keyIconPreview="!icon/tab_key_preview"
- latin:backgroundType="functional" />
- </case>
- <default>
- <key-style
- latin:styleName="tabKeyStyle"
- latin:code="!code/key_tab"
- latin:keyIcon="!icon/tab_key"
- latin:keyIconPreview="!icon/tab_key_preview"
- latin:backgroundType="functional" />
- </default>
- </switch>
- <key-style
- latin:styleName="toSymbolKeyStyle"
- latin:code="!code/key_switch_alpha_symbol"
- latin:keyLabel="!text/label_to_symbol_key"
- latin:keyLabelFlags="preserveCase"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="toAlphaKeyStyle"
- latin:code="!code/key_switch_alpha_symbol"
- latin:keyLabel="!text/label_to_alpha_key"
- latin:keyLabelFlags="preserveCase"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="toMoreSymbolKeyStyle"
- latin:code="!code/key_shift"
- latin:keyLabel="!text/label_to_more_symbol_for_tablet_key"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="backFromMoreSymbolKeyStyle"
- latin:code="!code/key_shift"
- latin:keyLabel="!text/label_to_symbol_key"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="comKeyStyle"
- latin:keyLabel="!text/keylabel_for_popular_domain"
- latin:keyLabelFlags="autoXScale|fontNormal|hasPopupHint|preserveCase"
- latin:keyOutputText="!text/keylabel_for_popular_domain"
- latin:moreKeys="!text/more_keys_for_popular_domain" />
-</merge>
diff --git a/java/res/xml-sw600dp/keys_comma_period.xml b/java/res/xml-sw600dp/keys_comma_period.xml
deleted file mode 100644
index 752f75b5f..000000000
--- a/java/res/xml-sw600dp/keys_comma_period.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:mode="email"
- >
- <Key
- latin:keyLabel="," />
- <Key
- latin:keyLabel="." />
- </case>
- <default>
- <Key
- latin:keyLabel="!text/keylabel_for_tablet_comma"
- latin:keyHintLabel="!text/keyhintlabel_for_tablet_comma"
- latin:moreKeys="!text/more_keys_for_tablet_comma"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="."
- latin:keyHintLabel="!text/keyhintlabel_for_tablet_period"
- latin:moreKeys="!text/more_keys_for_tablet_period"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/keys_dvorak_123.xml b/java/res/xml-sw600dp/keys_dvorak_123.xml
deleted file mode 100644
index 635ea0476..000000000
--- a/java/res/xml-sw600dp/keys_dvorak_123.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="\'"
- latin:keyHintLabel="&quot;"
- latin:moreKeys="!"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel=","
- latin:keyHintLabel="&lt;"
- latin:moreKeys="\?"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="."
- latin:keyHintLabel="&gt;"
- latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="!text/more_keys_for_punctuation"
- latin:keyStyle="hasShiftedLetterHintStyle" />
-</merge>
diff --git a/java/res/xml-sw600dp/keys_pcqwerty2_right3.xml b/java/res/xml-sw600dp/keys_pcqwerty2_right3.xml
deleted file mode 100644
index 0a27ca70c..000000000
--- a/java/res/xml-sw600dp/keys_pcqwerty2_right3.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="symbols|symbolsShifted"
- >
- <Key
- latin:keyLabel="["
- latin:moreKeys="{" />
- <Key
- latin:keyLabel="]"
- latin:moreKeys="}" />
- <!-- U+00A6: "¦" BROKEN BAR -->
- <Key
- latin:keyLabel="\\"
- latin:moreKeys="\\|,&#x00A6;" />
- </case>
- <default>
- <Key
- latin:keyLabel="["
- latin:keyHintLabel="{"
- latin:moreKeys="{"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="]"
- latin:keyHintLabel="}"
- latin:moreKeys="}"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <!-- U+00A6: "¦" BROKEN BAR -->
- <Key
- latin:keyLabel="\\"
- latin:keyHintLabel="|"
- latin:moreKeys="\\|,&#x00A6;"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/keys_pcqwerty3_right2.xml b/java/res/xml-sw600dp/keys_pcqwerty3_right2.xml
deleted file mode 100644
index a0e5cbb92..000000000
--- a/java/res/xml-sw600dp/keys_pcqwerty3_right2.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="symbols|symbolsShifted"
- >
- <Key
- latin:keyLabel=";"
- latin:moreKeys=":" />
- <!-- U+2018: "‘" LEFT SINGLE QUOTATION MARK
- U+2019: "’" RIGHT SINGLE QUOTATION MARK
- U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
- U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
- U+201C: "“" LEFT DOUBLE QUOTATION MARK
- U+201D: "”" RIGHT DOUBLE QUOTATION MARK
- U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
- U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
- <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
- moreKeys="!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x2018;,&#x2019;,&#x201A;,&#x201B;" -->
- <Key
- latin:keyLabel="\'"
- latin:moreKeys="!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x2018;,&#x2019;,&#x201A;,&#x201B;,&quot;" />
- </case>
- <default>
- <Key
- latin:keyLabel=";"
- latin:keyHintLabel=":"
- latin:moreKeys=":"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <!-- U+2018: "‘" LEFT SINGLE QUOTATION MARK
- U+2019: "’" RIGHT SINGLE QUOTATION MARK
- U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
- U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
- U+201C: "“" LEFT DOUBLE QUOTATION MARK
- U+201D: "”" RIGHT DOUBLE QUOTATION MARK
- U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
- U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
- <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
- moreKeys="!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x2018;,&#x2019;,&#x201A;,&#x201B;" -->
- <Key
- latin:keyLabel="\'"
- latin:keyHintLabel="&quot;"
- latin:moreKeys="!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x2018;,&#x2019;,&#x201A;,&#x201B;,&quot;"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml b/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml
deleted file mode 100644
index ee5271abe..000000000
--- a/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="symbols|symbolsShifted"
- >
- <!-- U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- U+2264: "≤" LESS-THAN OR EQUAL TO
- U+2265: "≥" GREATER-THAN EQUAL TO
- U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
- <Key
- latin:keyLabel=","
- latin:additionalMoreKeys="&lt;"
- latin:moreKeys="!fixedColumnOrder!4,&#x2039;,&#x2064;,&#x00AB;" />
- <Key
- latin:keyLabel="."
- latin:additionalMoreKeys="&gt;"
- latin:moreKeys="!fixedColumnOrder!4,&#x203A;,&#x2065;,&#x00BB;" />
- <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
- <Key
- latin:keyLabel="/"
- latin:additionalMoreKeys="\?"
- latin:moreKeys="&#x00BF;" />
- </case>
- <default>
- <!-- U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- U+2264: "≤" LESS-THAN OR EQUAL TO
- U+2265: "≥" GREATER-THAN EQUAL TO
- U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
- <Key
- latin:keyLabel=","
- latin:keyHintLabel="&lt;"
- latin:additionalMoreKeys="&lt;"
- latin:moreKeys="!fixedColumnOrder!4,&#x2039;,&#x2264;,&#x00AB;"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="."
- latin:keyHintLabel="&gt;"
- latin:additionalMoreKeys="&gt;"
- latin:moreKeys="!fixedColumnOrder!4,&#x203A;,&#x2265;,&#x00BB;"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
- <Key
- latin:keyLabel="/"
- latin:keyHintLabel="\?"
- latin:additionalMoreKeys="\?"
- latin:moreKeys="&#x00BF;"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/row_dvorak4.xml b/java/res/xml-sw600dp/row_dvorak4.xml
deleted file mode 100644
index 969cc145e..000000000
--- a/java/res/xml-sw600dp/row_dvorak4.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="9.0%p"
- latin:backgroundType="functional"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/key_shortcut" />
- <include
- latin:keyboardLayout="@xml/key_f1" />
- <include
- latin:keyXPos="28.0%p"
- latin:keyboardLayout="@xml/key_space"
- latin:backgroundType="normal" />
- <include
- latin:keyboardLayout="@xml/key_question_exclamation" />
- <include
- latin:keyboardLayout="@xml/key_dash" />
- <include
- latin:keyboardLayout="@xml/key_f2" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw600dp/row_hebrew4.xml b/java/res/xml-sw600dp/row_hebrew4.xml
deleted file mode 100644
index f429f97fb..000000000
--- a/java/res/xml-sw600dp/row_hebrew4.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="9.0%p"
- latin:backgroundType="functional"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/key_shortcut" />
- <include
- latin:keyboardLayout="@xml/key_f1" />
- <include
- latin:keyXPos="28.0%p"
- latin:keyboardLayout="@xml/key_space"
- latin:backgroundType="normal" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <include
- latin:keyboardLayout="@xml/key_f2" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw600dp/row_pcqwerty5.xml b/java/res/xml-sw600dp/row_pcqwerty5.xml
deleted file mode 100644
index 3c4a46660..000000000
--- a/java/res/xml-sw600dp/row_pcqwerty5.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="7.0%p"
- >
- <switch>
- <case
- latin:languageSwitchKeyEnabled="true"
- >
- <Key
- latin:keyStyle="languageSwitchKeyStyle"
- latin:keyWidth="9.0%p"
- latin:backgroundType="functional" />
- </case>
- </switch>
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyXPos="25.5%p"
- latin:keyWidth="49.0%p" />
- <include
- latin:keyXPos="-9.0%p"
- latin:keyWidth="fillRight"
- latin:keyboardLayout="@xml/key_shortcut" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw600dp/row_qwerty4.xml b/java/res/xml-sw600dp/row_qwerty4.xml
deleted file mode 100644
index fa433635e..000000000
--- a/java/res/xml-sw600dp/row_qwerty4.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="9.0%p"
- latin:backgroundType="functional"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/key_shortcut" />
- <include
- latin:keyboardLayout="@xml/key_f1" />
- <include
- latin:keyXPos="28.0%p"
- latin:keyboardLayout="@xml/key_space"
- latin:backgroundType="normal" />
- <include
- latin:keyboardLayout="@xml/key_apostrophe" />
- <include
- latin:keyboardLayout="@xml/key_dash" />
- <include
- latin:keyboardLayout="@xml/key_f2" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw600dp/row_symbols4.xml b/java/res/xml-sw600dp/row_symbols4.xml
deleted file mode 100644
index f138d8ef4..000000000
--- a/java/res/xml-sw600dp/row_symbols4.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="9.0%p"
- latin:backgroundType="functional"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyWidth="10.0%p" />
- <Key
- latin:keyLabel="/" />
- <include
- latin:keyboardLayout="@xml/key_f1" />
- <include
- latin:keyXPos="28.0%p"
- latin:keyboardLayout="@xml/key_space"
- latin:backgroundType="normal" />
- <Key
- latin:keyLabel="&quot;"
- latin:moreKeys="!text/more_keys_for_tablet_double_quote" />
- <Key
- latin:keyLabel="_" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw600dp/row_symbols_shift4.xml b/java/res/xml-sw600dp/row_symbols_shift4.xml
deleted file mode 100644
index 29befa92a..000000000
--- a/java/res/xml-sw600dp/row_symbols_shift4.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="9.0%p"
- latin:backgroundType="functional"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyWidth="10.0%p" />
- <!-- Here is empty space. -->
- <include
- latin:keyXPos="28.0%p"
- latin:keyboardLayout="@xml/key_space"
- latin:backgroundType="normal" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_arabic1.xml b/java/res/xml-sw600dp/rowkeys_arabic1.xml
deleted file mode 100644
index 6a0e25786..000000000
--- a/java/res/xml-sw600dp/rowkeys_arabic1.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0636: "ض" ARABIC LETTER DAD -->
- <Key
- latin:keyLabel="&#x0636;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0635: "ص" ARABIC LETTER SAD -->
- <Key
- latin:keyLabel="&#x0635;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062B: "ث" ARABIC LETTER THEH -->
- <Key
- latin:keyLabel="&#x062B;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0642: "ق" ARABIC LETTER QAF
- U+06A8: "ڨ" ARABIC LETTER QAF WITH THREE DOTS ABOVE -->
- <!-- TODO: DroidSansArabic lacks the glyph of U+06A8 ARABIC LETTER QAF WITH THREE DOTS ABOVE -->
- <Key
- latin:keyLabel="&#x0642;"
- latin:moreKeys="&#x06A8;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0641: "ف" ARABIC LETTER FEH
- U+06A4: "ڤ" ARABIC LETTER VEH
- U+06A2: "ڢ" ARABIC LETTER FEH WITH DOT MOVED BELOW
- U+06A5: "ڥ" ARABIC LETTER FEH WITH THREE DOTS BELOW -->
- <!-- TODO: DroidSansArabic lacks the glyph of U+06A2 ARABIC LETTER FEH WITH DOT MOVED BELOW -->
- <!-- TODO: DroidSansArabic lacks the glyph of U+06A5 ARABIC LETTER FEH WITH THREE DOTS BELOW -->
- <Key
- latin:keyLabel="&#x0641;"
- latin:moreKeys="&#x06A4;,&#x06A2;,&#x06A5;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+063A: "غ" ARABIC LETTER GHAIN -->
- <Key
- latin:keyLabel="&#x063A;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0639: "ع" ARABIC LETTER AIN -->
- <Key
- latin:keyLabel="&#x0639;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0647: "ه" ARABIC LETTER HEH
- U+FEEB: "ﻫ" ARABIC LETTER HEH INITIAL FORM
- U+0647 U+200D: ARABIC LETTER HEH + ZERO WIDTH JOINER -->
- <Key
- latin:keyLabel="&#x0647;"
- latin:moreKeys="&#xFEEB;|&#x0647;&#x200D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062E: "خ" ARABIC LETTER KHAH -->
- <Key
- latin:keyLabel="&#x062E;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062D: "ح" ARABIC LETTER HAH -->
- <Key
- latin:keyLabel="&#x062D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062C: "ج" ARABIC LETTER JEEM
- U+0686: "چ" ARABIC LETTER TCHEH -->
- <Key
- latin:keyLabel="&#x062C;"
- latin:moreKeys="&#x0686;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_arabic2.xml b/java/res/xml-sw600dp/rowkeys_arabic2.xml
deleted file mode 100644
index 00e69ace7..000000000
--- a/java/res/xml-sw600dp/rowkeys_arabic2.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0634: "ش" ARABIC LETTER SHEEN
- U+069C: "ڜ" ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE -->
- <!-- TODO: DroidSansArabic lacks the glyph of U+069C ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE -->
- <Key
- latin:keyLabel="&#x0634;"
- latin:moreKeys="&#x069C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0633: "س" ARABIC LETTER SEEN -->
- <Key
- latin:keyLabel="&#x0633;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+064A: "ي" ARABIC LETTER YEH
- U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
- U+0649: "ى" ARABIC LETTER ALEF MAKSURA -->
- <Key
- latin:keyLabel="&#x064A;"
- latin:moreKeys="&#x0626;,&#x0649;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0628: "ب" ARABIC LETTER BEH
- U+067E: "پ" ARABIC LETTER PEH -->
- <Key
- latin:keyLabel="&#x0628;"
- latin:moreKeys="&#x067E;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0644: "ل" ARABIC LETTER LAM
- U+FEFB: "ﻻ" ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
- U+0627: "ا" ARABIC LETTER ALEF
- U+FEF7: "ﻷ" ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
- U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
- U+FEF9: "ﻹ" ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
- U+0625: "إ" ARABIC LETTER ALEF WITH HAMZA BELOW
- U+FEF5: "ﻵ" ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
- U+0622: "آ" ARABIC LETTER ALEF WITH MADDA ABOVE -->
- <Key
- latin:keyLabel="&#x0644;"
- latin:moreKeys="&#xFEFB;|&#x0644;&#x0627;,&#xFEF7;|&#x0644;&#x0623;,&#xFEF9;|&#x0644;&#x0625;,&#xFEF5;|&#x0644;&#x0622;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0627: "ا" ARABIC LETTER ALEF
- U+0621: "ء" ARABIC LETTER HAMZA
- U+0671: "ٱ" ARABIC LETTER ALEF WASLA
- U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
- U+0625: "إ" ARABIC LETTER ALEF WITH HAMZA BELOW
- U+0622: "آ" ARABIC LETTER ALEF WITH MADDA ABOVE -->
- <Key
- latin:keyLabel="&#x0627;"
- latin:moreKeys="&#x0621;,&#x0671;,&#x0623;,&#x0625;,&#x0622;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062A: "ت" ARABIC LETTER TEH -->
- <Key
- latin:keyLabel="&#x062A;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0646: "ن" ARABIC LETTER NOON -->
- <Key
- latin:keyLabel="&#x0646;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0645: "م" ARABIC LETTER MEEM -->
- <Key
- latin:keyLabel="&#x0645;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0643: "ك" ARABIC LETTER KAF
- U+06AF: "گ" ARABIC LETTER GAF
- U+06A9: "ک" ARABIC LETTER KEHEH -->
- <Key
- latin:keyLabel="&#x0643;"
- latin:moreKeys="&#x06AF;,&#x06A9;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0637: "ط" ARABIC LETTER TAH -->
- <Key
- latin:keyLabel="&#x0637;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_arabic3.xml b/java/res/xml-sw600dp/rowkeys_arabic3.xml
deleted file mode 100644
index b0bcd78d6..000000000
--- a/java/res/xml-sw600dp/rowkeys_arabic3.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE -->
- <Key
- latin:keyLabel="&#x0626;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0621: "ء" ARABIC LETTER HAMZA -->
- <Key
- latin:keyLabel="&#x0621;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
- <Key
- latin:keyLabel="&#x0624;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0631: "ر" ARABIC LETTER REH -->
- <Key
- latin:keyLabel="&#x0631;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0630: "ذ" ARABIC LETTER THAL -->
- <Key
- latin:keyLabel="&#x0630;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0649: "ى" ARABIC LETTER ALEF MAKSURA -->
- <Key
- latin:keyLabel="&#x0649;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0629: "ة" ARABIC LETTER TEH MARBUTA -->
- <Key
- latin:keyLabel="&#x0629;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0648: "و" ARABIC LETTER WAW -->
- <Key
- latin:keyLabel="&#x0648;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0632: "ز" ARABIC LETTER ZAIN
- U+0698: "ژ" ARABIC LETTER JEH -->
- <Key
- latin:keyLabel="&#x0632;"
- latin:moreKeys="&#x0698;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0638: "ظ" ARABIC LETTER ZAH -->
- <Key
- latin:keyLabel="&#x0638;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062F: "د" ARABIC LETTER DAL -->
- <Key
- latin:keyLabel="&#x062F;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_dvorak3.xml b/java/res/xml-sw600dp/rowkeys_dvorak3.xml
deleted file mode 100644
index 2148bb2c7..000000000
--- a/java/res/xml-sw600dp/rowkeys_dvorak3.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="q" />
- <Key
- latin:keyLabel="j"
- latin:moreKeys="!text/more_keys_for_j" />
- <Key
- latin:keyLabel="k"
- latin:moreKeys="!text/more_keys_for_k" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="m" />
- <Key
- latin:keyLabel="w"
- latin:moreKeys="!text/more_keys_for_w" />
- <Key
- latin:keyLabel="v"
- latin:moreKeys="!text/more_keys_for_v" />
- <Key
- latin:keyLabel="z"
- latin:moreKeys="!text/more_keys_for_z" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_farsi1.xml b/java/res/xml-sw600dp/rowkeys_farsi1.xml
deleted file mode 100644
index 7b312404a..000000000
--- a/java/res/xml-sw600dp/rowkeys_farsi1.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0636: "ض" ARABIC LETTER DAD -->
- <Key
- latin:keyLabel="&#x0636;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0635: "ص" ARABIC LETTER SAD -->
- <Key
- latin:keyLabel="&#x0635;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062B: "ث" ARABIC LETTER THEH -->
- <Key
- latin:keyLabel="&#x062B;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0642: "ق" ARABIC LETTER QAF -->
- <Key
- latin:keyLabel="&#x0642;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0641: "ف" ARABIC LETTER FEH -->
- <Key
- latin:keyLabel="&#x0641;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+063A: "غ" ARABIC LETTER GHAIN -->
- <Key
- latin:keyLabel="&#x063A;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0639: "ع" ARABIC LETTER AIN -->
- <Key
- latin:keyLabel="&#x0639;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0647: "ه" ARABIC LETTER HEH
- U+FEEB: "ﻫ" ARABIC LETTER HEH INITIAL FORM
- U+0647/U+200D: ARABIC LETTER HEH + ZERO WIDTH JOINER
- U+0647/U+0654: ARABIC LETTER HEH + ARABIC HAMZA ABOVE
- U+0629: "ة" ARABIC LETTER TEH MARBUTA -->
- <Key
- latin:keyLabel="&#x0647;"
- latin:moreKeys="&#xFEEB;|&#x0647;&#x200D;,&#x0647;&#x0654;,&#x0629;,%"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062E: "خ" ARABIC LETTER KHAH -->
- <Key
- latin:keyLabel="&#x062E;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062D: "ح" ARABIC LETTER HAH -->
- <Key
- latin:keyLabel="&#x062D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062C: "ج" ARABIC LETTER JEEM -->
- <Key
- latin:keyLabel="&#x062C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0686: "چ" ARABIC LETTER TCHEH -->
- <Key
- latin:keyLabel="&#x0686;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_farsi2.xml b/java/res/xml-sw600dp/rowkeys_farsi2.xml
deleted file mode 100644
index 3b759b66c..000000000
--- a/java/res/xml-sw600dp/rowkeys_farsi2.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0634: "ش" ARABIC LETTER SHEEN -->
- <Key
- latin:keyLabel="&#x0634;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0633: "س" ARABIC LETTER SEEN -->
- <Key
- latin:keyLabel="&#x0633;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+06CC: "ی" ARABIC LETTER FARSI YEH
- U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
- U+064A: "ي" ARABIC LETTER YEH
- U+FBE8: "ﯨ" ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
- U+0649: "ى" ARABIC LETTER ALEF MAKSURA -->
- <Key
- latin:keyLabel="&#x06CC;"
- latin:moreKeys="&#x0626;,&#x064A;,&#xFBE8;|&#x0649;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0628: "ب" ARABIC LETTER BEH -->
- <Key
- latin:keyLabel="&#x0628;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0644: "ل" ARABIC LETTER LAM -->
- <Key
- latin:keyLabel="&#x0644;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0627: "ا" ARABIC LETTER ALEF
- U+0621: "ء" ARABIC LETTER HAMZA
- U+0622: "آ" ARABIC LETTER ALEF WITH MADDA ABOVE
- U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
- U+0671: "ٱ" ARABIC LETTER ALEF WASLA
- U+0625: "إ" ARABIC LETTER ALEF WITH HAMZA BELOW -->
- <Key
- latin:keyLabel="&#x0627;"
- latin:moreKeys="&#x0621;,&#x0622;,&#x0623;,&#x0671;,&#x0625;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062A: "ت" ARABIC LETTER TEH
- U+062B: "ﺙ" ARABIC LETTER THEH
- U+0629: "ة": ARABIC LETTER TEH MARBUTA -->
- <Key
- latin:keyLabel="&#x062A;"
- latin:moreKeys="&#x062B;,&#x0629;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0646: "ن" ARABIC LETTER NOON -->
- <Key
- latin:keyLabel="&#x0646;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0645: "م" ARABIC LETTER MEEM -->
- <Key
- latin:keyLabel="&#x0645;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+06A9: "ک" ARABIC LETTER KEHEH
- U+0643: "ك" ARABIC LETTER KAF -->
- <Key
- latin:keyLabel="&#x06A9;"
- latin:moreKeys="&#x0643;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+06AF: "گ" ARABIC LETTER GAF -->
- <Key
- latin:keyLabel="&#x06AF;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_farsi3.xml b/java/res/xml-sw600dp/rowkeys_farsi3.xml
deleted file mode 100644
index 3597618ce..000000000
--- a/java/res/xml-sw600dp/rowkeys_farsi3.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0638: "ظ" ARABIC LETTER ZAH -->
- <Key
- latin:keyLabel="&#x0638;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0637: "ط" ARABIC LETTER TAH -->
- <Key
- latin:keyLabel="&#x0637;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0698: "ژ" ARABIC LETTER JEH -->
- <Key
- latin:keyLabel="&#x0698;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0632: "ز" ARABIC LETTER ZAIN -->
- <Key
- latin:keyLabel="&#x0632;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0631: "ر" ARABIC LETTER REH -->
- <Key
- latin:keyLabel="&#x0631;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0630: "ذ" ARABIC LETTER THAL -->
- <Key
- latin:keyLabel="&#x0630;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062F: "د" ARABIC LETTER DAL -->
- <Key
- latin:keyLabel="&#x062F;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+067E: "پ" ARABIC LETTER PEH -->
- <Key
- latin:keyLabel="&#x067E;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0648: "و" ARABIC LETTER WAW
- U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
- <Key
- latin:keyLabel="&#x0648;"
- latin:moreKeys="&#x0624;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0622: "آ" ARABIC LETTER ALEF WITH MADDA ABOVE -->
- <Key
- latin:keyLabel="&#x0622;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml b/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml
deleted file mode 100644
index d486b9df0..000000000
--- a/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="symbols|symbolsShifted"
- >
- <include
- latin:keyboardLayout="@xml/keys_pcqwerty_symbols1" />
- </case>
- <!-- keyboardLayoutSetElement="alphabet*" -->
- <default>
- <!-- U+00AC: "¬" NOT SIGN -->
- <Key
- latin:keyLabel="`"
- latin:keyHintLabel="~"
- latin:additionalMoreKeys="~"
- latin:moreKeys="&#x00AC;"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <!-- U+00A1: "¡" NVERTED EXCLAMATION MARK -->
- <Key
- latin:keyLabel="1"
- latin:keyHintLabel="!"
- latin:additionalMoreKeys="!"
- latin:moreKeys="&#x00A1;,!text/more_keys_for_symbols_1"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="2"
- latin:keyHintLabel="\@"
- latin:additionalMoreKeys="\@"
- latin:moreKeys="!text/more_keys_for_symbols_2"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="3"
- latin:keyHintLabel="#"
- latin:additionalMoreKeys="#"
- latin:moreKeys="!text/more_keys_for_symbols_3"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="4"
- latin:keyHintLabel="$"
- latin:additionalMoreKeys="$"
- latin:moreKeys="!text/more_keys_for_symbols_4"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="5"
- latin:keyHintLabel="%"
- latin:additionalMoreKeys="\\%"
- latin:moreKeys="!text/more_keys_for_symbols_5"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="6"
- latin:keyHintLabel="^"
- latin:additionalMoreKeys="^"
- latin:moreKeys="!text/more_keys_for_symbols_6"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="7"
- latin:keyHintLabel="&amp;"
- latin:additionalMoreKeys="&amp;"
- latin:moreKeys="!text/more_keys_for_symbols_7"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="8"
- latin:keyHintLabel="*"
- latin:additionalMoreKeys="*"
- latin:moreKeys="!text/more_keys_for_symbols_8"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="9"
- latin:keyHintLabel="("
- latin:additionalMoreKeys="("
- latin:moreKeys="!text/more_keys_for_symbols_9"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="0"
- latin:keyHintLabel=")"
- latin:additionalMoreKeys=")"
- latin:moreKeys="!text/more_keys_for_symbols_0"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="-"
- latin:keyHintLabel="_"
- latin:moreKeys="_"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- <Key
- latin:keyLabel="="
- latin:keyHintLabel="+"
- latin:moreKeys="+"
- latin:keyStyle="hasShiftedLetterHintStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols2.xml b/java/res/xml-sw600dp/rowkeys_symbols2.xml
deleted file mode 100644
index d7067e0cf..000000000
--- a/java/res/xml-sw600dp/rowkeys_symbols2.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:languageCode="fa"
- >
- <!-- U+066C: "٬" ARABIC THOUSANDS SEPARATOR -->
- <Key
- latin:keyLabel="&#x066C;"
- latin:keyHintLabel="&amp;"
- latin:keyLabelFlags="hasPopupHint|hasShiftedLetterHint"
- latin:moreKeys="&amp;" />
- </case>
- <default>
- <Key
- latin:keyLabel="#" />
- </default>
- </switch>
- <Key
- latin:keyStyle="currencyKeyStyle" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_percent"
- latin:moreKeys="!text/more_keys_for_symbols_percent" />
- <switch>
- <case
- latin:languageCode="fa"
- >
- <!-- U+066B: "٫" ARABIC DECIMAL SEPARATOR -->
- <Key
- latin:keyLabel="&#x066B;"
- latin:keyHintLabel="#"
- latin:keyLabelFlags="hasPopupHint|hasShiftedLetterHint"
- latin:moreKeys="#" />
- </case>
- <default>
- <Key
- latin:keyLabel="&amp;" />
- </default>
- </switch>
- <Key
- latin:keyLabel="*"
- latin:moreKeys="!text/more_keys_for_star" />
- <!-- U+2013: "–" EN DASH
- U+2014: "—" EM DASH -->
- <Key
- latin:keyLabel="-"
- latin:moreKeys="_,&#x2013;,&#x2014;" />
- <Key
- latin:keyLabel="+"
- latin:moreKeys="!text/more_keys_for_plus" />
- <include
- latin:keyboardLayout="@xml/keys_parentheses" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols3.xml b/java/res/xml-sw600dp/rowkeys_symbols3.xml
deleted file mode 100644
index 30fba3812..000000000
--- a/java/res/xml-sw600dp/rowkeys_symbols3.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/keys_less_greater" />
- <!-- U+2260: "≠" NOT EQUAL TO
- U+2248: "≈" ALMOST EQUAL TO -->
- <Key
- latin:keyLabel="="
- latin:moreKeys="&#x2260;,&#x2248;" />
- <switch>
- <case
- latin:mode="url"
- >
- <Key
- latin:keyLabel="\'" />
- </case>
- <default>
- <Key
- latin:keyLabel=":" />
- </default>
- </switch>
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_semicolon"
- latin:moreKeys="!text/more_keys_for_symbols_semicolon" />
- <Key
- latin:keyLabel="!text/keylabel_for_comma"
- latin:moreKeys="!text/more_keys_for_comma" />
- <Key
- latin:keyLabel="." />
- <Key
- latin:keyLabel="!"
- latin:moreKeys="!text/more_keys_for_symbols_exclamation" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_question"
- latin:moreKeys="!text/more_keys_for_symbols_question" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
deleted file mode 100644
index 3549fdda4..000000000
--- a/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="~" />
- <Key
- latin:keyLabel="`" />
- <Key
- latin:keyLabel="|" />
- <!-- U+2022: "•" BULLET -->
- <Key
- latin:keyLabel="&#x2022;"
- latin:moreKeys="!text/more_keys_for_bullet" />
- <!-- U+221A: "√" SQUARE ROOT -->
- <Key
- latin:keyLabel="&#x221A;" />
- <!-- U+03C0: "π" GREEK SMALL LETTER PI
- U+03A0: "Π" GREEK CAPITAL LETTER PI -->
- <Key
- latin:keyLabel="&#x03C0;"
- latin:moreKeys="&#x03A0;" />
- <!-- U+00F7: "÷" DIVISION SIGN -->
- <Key
- latin:keyLabel="&#x00F7;" />
- <!-- U+00D7: "×" MULTIPLICATION SIGN -->
- <Key
- latin:keyLabel="&#x00D7;" />
- <!-- U+00A7: "§" SECTION SIGN
- U+00B6: "¶" PILCROW SIGN -->
- <Key
- latin:keyLabel="&#x00A7;"
- latin:moreKeys="&#x00B6;" />
- <!-- U+0394: "Δ" GREEK CAPITAL LETTER DELTA -->
- <Key
- latin:keyLabel="&#x0394;" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift2.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift2.xml
deleted file mode 100644
index 2048b7335..000000000
--- a/java/res/xml-sw600dp/rowkeys_symbols_shift2.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyStyle="moreCurrency1KeyStyle" />
- <Key
- latin:keyStyle="moreCurrency2KeyStyle" />
- <Key
- latin:keyStyle="moreCurrency3KeyStyle" />
- <Key
- latin:keyStyle="moreCurrency4KeyStyle" />
- <!-- U+2191: "↑" UPWARDS ARROW
- U+2193: "↓" DOWNWARDS ARROW
- U+2190: "←" LEFTWARDS ARROW
- U+2192: "→" RIGHTWARDS ARROW -->
- <Key
- latin:keyLabel="^"
- latin:moreKeys="&#x2191;,&#x2193;,&#x2190;,&#x2192;" />
- <!-- U+00B0: "°" DEGREE SIGN
- U+2032: "′" PRIME
- U+2033: "″" DOUBLE PRIME -->
- <Key
- latin:keyLabel="&#x00B0;"
- latin:moreKeys="&#x2032;,&#x2033;" />
- <!-- U+00B1: "±" PLUS-MINUS SIGN
- U+221E: "∞" INFINITY -->
- <Key
- latin:keyLabel="&#x00B1;"
- latin:moreKeys="&#x221E;" />
- <include
- latin:keyboardLayout="@xml/keys_curly_brackets" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift3.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift3.xml
deleted file mode 100644
index 8bd865639..000000000
--- a/java/res/xml-sw600dp/rowkeys_symbols_shift3.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="\\" />
- <!-- U+00A9: "©" COPYRIGHT SIGN -->
- <Key
- latin:keyLabel="&#x00A9;" />
- <!-- U+00AE: "®" REGISTERED SIGN -->
- <Key
- latin:keyLabel="&#x00AE;" />
- <!-- U+2122: "™" TRADE MARK SIGN -->
- <Key
- latin:keyLabel="&#x2122;" />
- <!-- U+2105: "℅" CARE OF -->
- <Key
- latin:keyLabel="&#x2105;" />
- <include
- latin:keyboardLayout="@xml/keys_square_brackets" />
- <!-- U+00A1: "¡" INVERTED EXCLAMATION MARK -->
- <Key
- latin:keyLabel="&#x00A1;" />
- <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
- <Key
- latin:keyLabel="&#x00BF;" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_10_10_7_symbols.xml b/java/res/xml-sw600dp/rows_10_10_7_symbols.xml
deleted file mode 100644
index 44c967c04..000000000
--- a/java/res/xml-sw600dp/rows_10_10_7_symbols.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols3" />
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_10_10_7_symbols_shift.xml b/java/res/xml-sw600dp/rows_10_10_7_symbols_shift.xml
deleted file mode 100644
index 3d3b59f22..000000000
--- a/java/res/xml-sw600dp/rows_10_10_7_symbols_shift.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift3" />
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols_shift4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_arabic.xml b/java/res/xml-sw600dp/rows_arabic.xml
deleted file mode 100644
index ec7c2ad96..000000000
--- a/java/res/xml-sw600dp/rows_arabic.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_arabic1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_arabic2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_arabic3"
- latin:keyXPos="4.091%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_azerty.xml b/java/res/xml-sw600dp/rows_azerty.xml
deleted file mode 100644
index 824ee38f3..000000000
--- a/java/res/xml-sw600dp/rows_azerty.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_azerty1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_azerty2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_azerty3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_bulgarian.xml b/java/res/xml-sw600dp/rows_bulgarian.xml
deleted file mode 100644
index 72532369c..000000000
--- a/java/res/xml-sw600dp/rows_bulgarian.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_bulgarian_bds.xml b/java/res/xml-sw600dp/rows_bulgarian_bds.xml
deleted file mode 100644
index db6220e8e..000000000
--- a/java/res/xml-sw600dp/rows_bulgarian_bds.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian_bds1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian_bds2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian_bds3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_colemak.xml b/java/res/xml-sw600dp/rows_colemak.xml
deleted file mode 100644
index f7e903bb5..000000000
--- a/java/res/xml-sw600dp/rows_colemak.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_colemak1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <include
- latin:keyboardLayout="@xml/key_colemak_colon" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_colemak2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_colemak3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_dvorak.xml b/java/res/xml-sw600dp/rows_dvorak.xml
deleted file mode 100644
index 2fa8eb205..000000000
--- a/java/res/xml-sw600dp/rows_dvorak.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/keys_dvorak_123" />
- <include
- latin:keyboardLayout="@xml/rowkeys_dvorak1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_dvorak2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_dvorak3" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_dvorak4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_east_slavic.xml b/java/res/xml-sw600dp/rows_east_slavic.xml
deleted file mode 100644
index 309625516..000000000
--- a/java/res/xml-sw600dp/rows_east_slavic.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_east_slavic1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_east_slavic2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_east_slavic3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_farsi.xml b/java/res/xml-sw600dp/rows_farsi.xml
deleted file mode 100644
index 52c2d9329..000000000
--- a/java/res/xml-sw600dp/rows_farsi.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_farsi1" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_farsi2" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_farsi3"
- latin:keyXPos="4.091%p" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_georgian.xml b/java/res/xml-sw600dp/rows_georgian.xml
deleted file mode 100644
index 61d3eb05a..000000000
--- a/java/res/xml-sw600dp/rows_georgian.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_georgian1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_georgian2"
- latin:keyXPos="4.5%p" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_georgian3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_greek.xml b/java/res/xml-sw600dp/rows_greek.xml
deleted file mode 100644
index 6a10228fb..000000000
--- a/java/res/xml-sw600dp/rows_greek.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/key_greek_semicolon" />
- <include
- latin:keyboardLayout="@xml/rowkeys_greek1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_greek2"
- latin:keyXPos="4.5%p" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_greek3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_hebrew.xml b/java/res/xml-sw600dp/rows_hebrew.xml
deleted file mode 100644
index f9e6f51ab..000000000
--- a/java/res/xml-sw600dp/rows_hebrew.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/key_apostrophe" />
- <include
- latin:keyboardLayout="@xml/key_dash" />
- <include
- latin:keyboardLayout="@xml/rowkeys_hebrew1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_hebrew2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_hebrew3"
- latin:keyXPos="10.0%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_hebrew4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_hindi.xml b/java/res/xml-sw600dp/rows_hindi.xml
deleted file mode 100644
index 967846519..000000000
--- a/java/res/xml-sw600dp/rows_hindi.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_hindi1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_hindi2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_hindi3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_nordic.xml b/java/res/xml-sw600dp/rows_nordic.xml
deleted file mode 100644
index 43144030f..000000000
--- a/java/res/xml-sw600dp/rows_nordic.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_nordic1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_nordic2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <Spacer
- latin:keyWidth="3.181%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyXPos="-10.0%p"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_number_normal.xml b/java/res/xml-sw600dp/rows_number_normal.xml
deleted file mode 100644
index f69239456..000000000
--- a/java/res/xml-sw600dp/rows_number_normal.xml
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row>
- <Key
- latin:keyLabel="-"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="+"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="."
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="1"
- latin:keyStyle="numKeyStyle"
- latin:keyXPos="31%p" />
- <Key
- latin:keyLabel="2"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="3"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyXPos="-14%p"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyStyle="numStarKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="/"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <switch>
- <case
- latin:mode="time|datetime"
- >
- <Key
- latin:keyLabel=","
- latin:keyLabelFlags="hasPopupHint"
- latin:moreKeys="!text/more_keys_for_am_pm"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- </case>
- <default>
- <Key
- latin:keyLabel=","
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- </default>
- </switch>
- <Key
- latin:keyLabel="4"
- latin:keyStyle="numKeyStyle"
- latin:keyXPos="31%p" />
- <Key
- latin:keyLabel="5"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="6"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyXPos="-14%p"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyLabel="("
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel=")"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <switch>
- <case
- latin:mode="time|datetime"
- >
- <Key
- latin:keyLabel=":"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- </case>
- <default>
- <Key
- latin:keyLabel="="
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- </default>
- </switch>
- <Key
- latin:keyLabel="7"
- latin:keyStyle="numKeyStyle"
- latin:keyXPos="31%p" />
- <Key
- latin:keyLabel="8"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="9"
- latin:keyStyle="numKeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer />
- </Row>
- <Row>
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="30%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="numStarKeyStyle"
- latin:keyXPos="31%p" />
- <Key
- latin:keyLabel="0"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="#"
- latin:keyStyle="numKeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw600dp/rows_number_password.xml b/java/res/xml-sw600dp/rows_number_password.xml
deleted file mode 100644
index 6c3855a01..000000000
--- a/java/res/xml-sw600dp/rows_number_password.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="23%p" />
- <Key
- latin:keyStyle="num1KeyStyle" />
- <Key
- latin:keyStyle="num2KeyStyle" />
- <Key
- latin:keyStyle="num3KeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="23%p" />
- <Key
- latin:keyStyle="num4KeyStyle" />
- <Key
- latin:keyStyle="num5KeyStyle" />
- <Key
- latin:keyStyle="num6KeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="23%p" />
- <Key
- latin:keyStyle="num7KeyStyle" />
- <Key
- latin:keyStyle="num8KeyStyle" />
- <Key
- latin:keyStyle="num9KeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="23%p" />
- <Key
- latin:keyStyle="deleteKeyStyle" />
- <Key
- latin:keyStyle="num0KeyStyle" />
- <Key
- latin:keyStyle="enterKeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw600dp/rows_pcqwerty.xml b/java/res/xml-sw600dp/rows_pcqwerty.xml
deleted file mode 100644
index fa6080a19..000000000
--- a/java/res/xml-sw600dp/rows_pcqwerty.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyWidth="9.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabel="!text/label_to_symbol_key_pcqwerty"
- latin:keyWidth="12.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty3" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty4" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyXPos="-15.0%p"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_pcqwerty5" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_pcqwerty_symbols.xml b/java/res/xml-sw600dp/rows_pcqwerty_symbols.xml
deleted file mode 100644
index 5e1aa6382..000000000
--- a/java/res/xml-sw600dp/rows_pcqwerty_symbols.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="7.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyWidth="9.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyWidth="12.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty3" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty4"
- latin:keyXPos="15.0%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_pcqwerty5" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_phone.xml b/java/res/xml-sw600dp/rows_phone.xml
deleted file mode 100644
index dcc4fde7d..000000000
--- a/java/res/xml-sw600dp/rows_phone.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_number" />
- <Row>
- <Key
- latin:keyLabel="-"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="+"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="numPauseKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="num1KeyStyle"
- latin:keyXPos="31%p" />
- <Key
- latin:keyStyle="num2KeyStyle" />
- <Key
- latin:keyStyle="num3KeyStyle" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyXPos="-14%p"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyLabel=","
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="."
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="numWaitKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="num4KeyStyle"
- latin:keyXPos="31%p" />
- <Key
- latin:keyStyle="num5KeyStyle" />
- <Key
- latin:keyStyle="num6KeyStyle" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyXPos="-14%p"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyLabel="("
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel=")"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="N"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="10%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="num7KeyStyle"
- latin:keyXPos="31%p" />
- <Key
- latin:keyStyle="num8KeyStyle" />
- <Key
- latin:keyStyle="num9KeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer />
- </Row>
- <Row>
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="30%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="numStarKeyStyle"
- latin:keyXPos="31%p" />
- <Key
- latin:keyStyle="num0KeyStyle" />
- <Key
- latin:keyLabel="#"
- latin:keyStyle="numKeyStyle" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw600dp/rows_qwerty.xml b/java/res/xml-sw600dp/rows_qwerty.xml
deleted file mode 100644
index bac02fd9a..000000000
--- a/java/res/xml-sw600dp/rows_qwerty.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty2"
- latin:keyXPos="4.5%p" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_qwertz.xml b/java/res/xml-sw600dp/rows_qwertz.xml
deleted file mode 100644
index 98ddd0843..000000000
--- a/java/res/xml-sw600dp/rows_qwertz.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwertz1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty2"
- latin:keyXPos="4.5%p" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwertz3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_south_slavic.xml b/java/res/xml-sw600dp/rows_south_slavic.xml
deleted file mode 100644
index e53a2ee92..000000000
--- a/java/res/xml-sw600dp/rows_south_slavic.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_south_slavic1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_south_slavic2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.182%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_south_slavic3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_spanish.xml b/java/res/xml-sw600dp/rows_spanish.xml
deleted file mode 100644
index b48ee0155..000000000
--- a/java/res/xml-sw600dp/rows_spanish.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_spanish2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_symbols.xml b/java/res/xml-sw600dp/rows_symbols.xml
deleted file mode 100644
index 3d0593dab..000000000
--- a/java/res/xml-sw600dp/rows_symbols.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols2"
- latin:keyXPos="4.5%p" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols3" />
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_symbols_shift.xml b/java/res/xml-sw600dp/rows_symbols_shift.xml
deleted file mode 100644
index 0050c0c15..000000000
--- a/java/res/xml-sw600dp/rows_symbols_shift.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift2"
- latin:keyXPos="4.5%p" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift3" />
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols_shift4" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_thai.xml b/java/res/xml-sw600dp/rows_thai.xml
deleted file mode 100644
index bc89640ac..000000000
--- a/java/res/xml-sw600dp/rows_thai.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.5%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_thai1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.5%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_thai2"
- latin:keyXPos="2.5%p" />
- <include
- latin:keyboardLayout="@xml/key_thai_kho_khuat" />
- </Row>
- <Row
- latin:keyWidth="7.5%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_thai3"
- latin:keyXPos="5.0%p" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.5%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_thai4" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp-land/kbd_more_keys_keyboard_template.xml b/java/res/xml-sw768dp-land/kbd_more_keys_keyboard_template.xml
deleted file mode 100644
index f593fa944..000000000
--- a/java/res/xml-sw768dp-land/kbd_more_keys_keyboard_template.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="3.5%p"
- latin:rowHeight="@dimen/popup_key_height"
- style="?attr/moreKeysKeyboardStyle"
- >
-</Keyboard>
diff --git a/java/res/xml-sw768dp-land/kbd_number.xml b/java/res/xml-sw768dp-land/kbd_number.xml
deleted file mode 100644
index 3ad25a392..000000000
--- a/java/res/xml-sw768dp-land/kbd_number.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyboardHorizontalEdgesPadding="10%p"
- latin:keyWidth="13.250%p"
->
- <include
- latin:keyboardLayout="@xml/rows_number" />
-</Keyboard>
diff --git a/java/res/xml-sw768dp-land/kbd_phone.xml b/java/res/xml-sw768dp-land/kbd_phone.xml
deleted file mode 100644
index abe7e7c41..000000000
--- a/java/res/xml-sw768dp-land/kbd_phone.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyboardHorizontalEdgesPadding="10%p"
- latin:keyWidth="13.250%p"
->
- <include
- latin:keyboardLayout="@xml/rows_phone" />
-</Keyboard>
diff --git a/java/res/xml-sw768dp-land/kbd_phone_symbols.xml b/java/res/xml-sw768dp-land/kbd_phone_symbols.xml
deleted file mode 100644
index 641464dbe..000000000
--- a/java/res/xml-sw768dp-land/kbd_phone_symbols.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyboardHorizontalEdgesPadding="10%p"
- latin:keyWidth="13.250%p"
->
- <!-- Tablet doesn't have phone symbols keyboard -->
- <include
- latin:keyboardLayout="@xml/rows_phone" />
-</Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_more_keys_keyboard_template.xml b/java/res/xml-sw768dp/kbd_more_keys_keyboard_template.xml
deleted file mode 100644
index f89a0a673..000000000
--- a/java/res/xml-sw768dp/kbd_more_keys_keyboard_template.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="5.0%p"
- latin:rowHeight="@dimen/popup_key_height"
- style="?attr/moreKeysKeyboardStyle"
- >
-</Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_number.xml b/java/res/xml-sw768dp/kbd_number.xml
deleted file mode 100644
index b20123c80..000000000
--- a/java/res/xml-sw768dp/kbd_number.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="13.250%p"
->
- <include
- latin:keyboardLayout="@xml/rows_number" />
-</Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_phone.xml b/java/res/xml-sw768dp/kbd_phone.xml
deleted file mode 100644
index fa9bf1bf4..000000000
--- a/java/res/xml-sw768dp/kbd_phone.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="13.250%p"
->
- <include
- latin:keyboardLayout="@xml/rows_phone" />
-</Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_phone_symbols.xml b/java/res/xml-sw768dp/kbd_phone_symbols.xml
deleted file mode 100644
index e1a359e84..000000000
--- a/java/res/xml-sw768dp/kbd_phone_symbols.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="13.250%p"
->
- <!-- Tablet doesn't have phone symbols keyboard -->
- <include
- latin:keyboardLayout="@xml/rows_phone" />
-</Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_thai_symbols.xml b/java/res/xml-sw768dp/kbd_thai_symbols.xml
deleted file mode 100644
index 0cd9a61ea..000000000
--- a/java/res/xml-sw768dp/kbd_thai_symbols.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:rowHeight="20%p"
- latin:verticalGap="@fraction/key_bottom_gap_5row"
- latin:keyLetterSize="@fraction/key_letter_ratio_5row"
- latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
- latin:touchPositionCorrectionData="@null"
->
- <include
- latin:keyboardLayout="@xml/rows_thai_symbols" />
-</Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_thai_symbols_shift.xml b/java/res/xml-sw768dp/kbd_thai_symbols_shift.xml
deleted file mode 100644
index a68fec458..000000000
--- a/java/res/xml-sw768dp/kbd_thai_symbols_shift.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:rowHeight="20%p"
- latin:verticalGap="@fraction/key_bottom_gap_5row"
- latin:keyLetterSize="@fraction/key_letter_ratio_5row"
- latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
- latin:touchPositionCorrectionData="@null"
->
- <include
- latin:keyboardLayout="@xml/rows_thai_symbols_shift" />
-</Keyboard>
diff --git a/java/res/xml-sw768dp/key_settings.xml b/java/res/xml-sw768dp/key_settings.xml
deleted file mode 100644
index 0d3bb59a4..000000000
--- a/java/res/xml-sw768dp/key_settings.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:clobberSettingsKey="false"
- >
- <Key
- latin:keyStyle="settingsKeyStyle" />
- </case>
- <default>
- <Spacer />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw768dp/key_shortcut.xml b/java/res/xml-sw768dp/key_shortcut.xml
deleted file mode 100644
index 2d09ebbfc..000000000
--- a/java/res/xml-sw768dp/key_shortcut.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:shortcutKeyEnabled="true"
- >
- <Key
- latin:keyStyle="shortcutKeyStyle" />
- </case>
- <default>
- <!-- The empty space instead of shortcut key. -->
- <Spacer />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw768dp/key_space.xml b/java/res/xml-sw768dp/key_space.xml
deleted file mode 100644
index 58e71d807..000000000
--- a/java/res/xml-sw768dp/key_space.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:languageCode="fa"
- latin:languageSwitchKeyEnabled="true"
- >
- <Key
- latin:keyStyle="languageSwitchKeyStyle" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="24.141%p" />
- <Key
- latin:keyStyle="zwnjKeyStyle" />
- </case>
- <case
- latin:languageCode="fa"
- latin:languageSwitchKeyEnabled="false"
- >
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="32.188%p" />
- <Key
- latin:keyStyle="zwnjKeyStyle" />
- </case>
- <case
- latin:languageSwitchKeyEnabled="true"
- >
- <Key
- latin:keyStyle="languageSwitchKeyStyle" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="32.188%p" />
- </case>
- <!-- languageSwitchKeyEnabled="false" -->
- <default>
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="40.235%p" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw768dp/key_styles_common.xml b/java/res/xml-sw768dp/key_styles_common.xml
deleted file mode 100644
index 537e76800..000000000
--- a/java/res/xml-sw768dp/key_styles_common.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- >
- <key-style
- latin:styleName="hasShiftedLetterHintStyle"
- latin:keyLabelFlags="hasShiftedLetterHint|shiftedLetterActivated" />
- </case>
- <default>
- <key-style
- latin:styleName="hasShiftedLetterHintStyle"
- latin:keyLabelFlags="hasShiftedLetterHint" />
- </default>
- </switch>
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetAutomaticShifted"
- >
- <key-style
- latin:styleName="shiftKeyStyle"
- latin:code="!code/key_shift"
- latin:keyIcon="!icon/shift_key_shifted"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="stickyOff" />
- </case>
- <case
- latin:keyboardLayoutSetElement="alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <key-style
- latin:styleName="shiftKeyStyle"
- latin:code="!code/key_shift"
- latin:keyIcon="!icon/shift_key_shifted"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="stickyOn" />
- </case>
- <default>
- <key-style
- latin:styleName="shiftKeyStyle"
- latin:code="!code/key_shift"
- latin:keyIcon="!icon/shift_key"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="stickyOff" />
- </default>
- </switch>
- <key-style
- latin:styleName="deleteKeyStyle"
- latin:code="!code/key_delete"
- latin:keyIcon="!icon/delete_key"
- latin:keyActionFlags="isRepeatable|noKeyPreview"
- latin:backgroundType="functional" />
- <include
- latin:keyboardLayout="@xml/key_styles_enter" />
- <key-style
- latin:styleName="spaceKeyStyle"
- latin:code="!code/key_space"
- latin:keyActionFlags="noKeyPreview|enableLongPress" />
- <!-- U+200C: ZERO WIDTH NON-JOINER
- U+200D: ZERO WIDTH JOINER -->
- <key-style
- latin:styleName="zwnjKeyStyle"
- latin:code="0x200C"
- latin:keyIcon="!icon/zwnj_key"
- latin:moreKeys="!icon/zwj_key|&#x200D;"
- latin:keyLabelFlags="hasPopupHint"
- latin:keyActionFlags="noKeyPreview" />
- <key-style
- latin:styleName="smileyKeyStyle"
- latin:keyLabel=":-)"
- latin:keyOutputText=":-) "
- latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="!text/more_keys_for_smiley" />
- <key-style
- latin:styleName="shortcutKeyStyle"
- latin:code="!code/key_shortcut"
- latin:keyIcon="!icon/shortcut_key"
- latin:keyIconDisabled="!icon/shortcut_key_disabled"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="languageSwitchKeyStyle"
- latin:code="!code/key_language_switch"
- latin:keyIcon="!icon/language_switch_key"
- latin:keyActionFlags="noKeyPreview|altCodeWhileTyping|enableLongPress"
- latin:altCode="!code/key_space" />
- <key-style
- latin:styleName="settingsKeyStyle"
- latin:code="!code/key_settings"
- latin:keyIcon="!icon/settings_key"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- latin:navigatePrevious="true"
- >
- <key-style
- latin:styleName="tabKeyStyle"
- latin:code="!code/key_action_previous"
- latin:keyLabel="!text/label_tab_key"
- latin:keyLabelFlags="fontNormal|preserveCase"
- latin:backgroundType="functional" />
- </case>
- <case
- latin:keyboardLayoutSetElement="alphabet|alphabetAutomaticShifted|alphabetShiftLocked"
- latin:navigateNext="true"
- >
- <key-style
- latin:styleName="tabKeyStyle"
- latin:code="!code/key_action_next"
- latin:keyLabel="!text/label_tab_key"
- latin:keyLabelFlags="fontNormal|preserveCase"
- latin:backgroundType="functional" />
- </case>
- <default>
- <key-style
- latin:styleName="tabKeyStyle"
- latin:code="!code/key_tab"
- latin:keyLabel="!text/label_tab_key"
- latin:keyLabelFlags="fontNormal|preserveCase"
- latin:backgroundType="functional" />
- </default>
- </switch>
- <key-style
- latin:styleName="toSymbolKeyStyle"
- latin:code="!code/key_switch_alpha_symbol"
- latin:keyLabel="!text/label_to_symbol_key"
- latin:keyLabelFlags="fontNormal|preserveCase"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="toAlphaKeyStyle"
- latin:code="!code/key_switch_alpha_symbol"
- latin:keyLabel="!text/label_to_alpha_key"
- latin:keyLabelFlags="fontNormal|preserveCase"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="toMoreSymbolKeyStyle"
- latin:code="!code/key_shift"
- latin:keyLabel="!text/label_to_more_symbol_for_tablet_key"
- latin:keyLabelFlags="fontNormal"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="backFromMoreSymbolKeyStyle"
- latin:code="!code/key_shift"
- latin:keyLabel="!text/label_to_symbol_key"
- latin:keyLabelFlags="fontNormal"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="comKeyStyle"
- latin:keyLabel="!text/keylabel_for_popular_domain"
- latin:keyLabelFlags="fontNormal|hasPopupHint|preserveCase"
- latin:keyOutputText="!text/keylabel_for_popular_domain"
- latin:moreKeys="!text/more_keys_for_popular_domain" />
-</merge>
diff --git a/java/res/xml-sw768dp/row_dvorak4.xml b/java/res/xml-sw768dp/row_dvorak4.xml
deleted file mode 100644
index 8f9230d4a..000000000
--- a/java/res/xml-sw768dp/row_dvorak4.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional"
- >
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="5.782%p" />
- <include
- latin:keyboardLayout="@xml/key_settings" />
- <include
- latin:keyboardLayout="@xml/key_shortcut" />
- <include
- latin:keyboardLayout="@xml/key_f1" />
- <include
- latin:keyXPos="29.923%p"
- latin:keyboardLayout="@xml/key_space"
- latin:backgroundType="normal" />
- <include
- latin:keyboardLayout="@xml/key_question_exclamation" />
- <include
- latin:keyboardLayout="@xml/key_dash" />
- <include
- latin:keyboardLayout="@xml/key_f2" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw768dp/row_hebrew4.xml b/java/res/xml-sw768dp/row_hebrew4.xml
deleted file mode 100644
index ae14f0296..000000000
--- a/java/res/xml-sw768dp/row_hebrew4.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional"
- >
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="5.782%p" />
- <include
- latin:keyboardLayout="@xml/key_settings" />
- <include
- latin:keyboardLayout="@xml/key_shortcut" />
- <include
- latin:keyboardLayout="@xml/key_f1" />
- <include
- latin:keyXPos="29.923%p"
- latin:keyboardLayout="@xml/key_space"
- latin:backgroundType="normal" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <include
- latin:keyboardLayout="@xml/key_f2" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw768dp/row_pcqwerty5.xml b/java/res/xml-sw768dp/row_pcqwerty5.xml
deleted file mode 100644
index e27ec878b..000000000
--- a/java/res/xml-sw768dp/row_pcqwerty5.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="8.047%p"
- >
- <include
- latin:keyboardLayout="@xml/key_settings" />
- <switch>
- <case
- latin:keyboardLayoutSetElement="symbols|symbolsShifted"
- >
- <Spacer
- latin:keyXPos="15.0%p"
- latin:keyWidth="10.5%p" />
- </case>
- <case
- latin:mode="email|url"
- >
- <Key
- latin:keyStyle="comKeyStyle"
- latin:keyXPos="15.0%p"
- latin:keyWidth="10.5%p" />
- </case>
- <default>
- <Spacer
- latin:keyXPos="15.0%p"
- latin:keyWidth="10.5%p" />
- </default>
- </switch>
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="49.0%p" />
- <include
- latin:keyXPos="-8.047%p"
- latin:keyWidth="fillRight"
- latin:keyboardLayout="@xml/key_shortcut" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw768dp/row_qwerty4.xml b/java/res/xml-sw768dp/row_qwerty4.xml
deleted file mode 100644
index f1f4214ca..000000000
--- a/java/res/xml-sw768dp/row_qwerty4.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional"
- >
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="5.782%p" />
- <include
- latin:keyboardLayout="@xml/key_settings" />
- <include
- latin:keyboardLayout="@xml/key_shortcut" />
- <include
- latin:keyboardLayout="@xml/key_f1" />
- <include
- latin:keyXPos="29.923%p"
- latin:keyboardLayout="@xml/key_space"
- latin:backgroundType="normal" />
- <include
- latin:keyboardLayout="@xml/key_apostrophe" />
- <include
- latin:keyboardLayout="@xml/key_dash" />
- <include
- latin:keyboardLayout="@xml/key_f2" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw768dp/row_symbols4.xml b/java/res/xml-sw768dp/row_symbols4.xml
deleted file mode 100644
index b801a12a7..000000000
--- a/java/res/xml-sw768dp/row_symbols4.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional"
- >
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="13.829%p" />
- <Key
- latin:keyLabel="/" />
- <include
- latin:keyboardLayout="@xml/key_f1" />
- <include
- latin:keyXPos="29.923%p"
- latin:keyboardLayout="@xml/key_space"
- latin:backgroundType="normal" />
- <Key
- latin:keyLabel="&quot;"
- latin:moreKeys="!text/more_keys_for_tablet_double_quote" />
- <Key
- latin:keyLabel="_" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw768dp/row_symbols_shift4.xml b/java/res/xml-sw768dp/row_symbols_shift4.xml
deleted file mode 100644
index f71864bc3..000000000
--- a/java/res/xml-sw768dp/row_symbols_shift4.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional"
- >
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="29.923%p" />
- <include
- latin:keyboardLayout="@xml/key_space"
- latin:backgroundType="normal" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw768dp/rowkeys_thai_digits.xml b/java/res/xml-sw768dp/rowkeys_thai_digits.xml
deleted file mode 100644
index 55196ebc3..000000000
--- a/java/res/xml-sw768dp/rowkeys_thai_digits.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0E51: "๑" THAI DIGIT ONE -->
- <Key
- latin:keyLabel="&#x0E51;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E52: "๒" THAI DIGIT TWO -->
- <Key
- latin:keyLabel="&#x0E52;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E53: "๓" THAI DIGIT THREE -->
- <Key
- latin:keyLabel="&#x0E53;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E54: "๔" THAI DIGIT FOUR -->
- <Key
- latin:keyLabel="&#x0E54;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E55: "๕" THAI DIGIT FIVE -->
- <Key
- latin:keyLabel="&#x0E55;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E56: "๖" THAI DIGIT SIX -->
- <Key
- latin:keyLabel="&#x0E56;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E57: "๗" THAI DIGIT SEVEN -->
- <Key
- latin:keyLabel="&#x0E57;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E58: "๘" THAI DIGIT EIGHT -->
- <Key
- latin:keyLabel="&#x0E58;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E59: "๙" THAI DIGIT NINE -->
- <Key
- latin:keyLabel="&#x0E59;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E50: "๐" THAI DIGIT ZERO -->
- <Key
- latin:keyLabel="&#x0E50;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_10_10_7_symbols.xml b/java/res/xml-sw768dp/rows_10_10_7_symbols.xml
deleted file mode 100644
index d9b0d2383..000000000
--- a/java/res/xml-sw768dp/rows_10_10_7_symbols.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="10.167%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols3" />
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyXPos="-13.750%p"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_10_10_7_symbols_shift.xml b/java/res/xml-sw768dp/rows_10_10_7_symbols_shift.xml
deleted file mode 100644
index a317dbf84..000000000
--- a/java/res/xml-sw768dp/rows_10_10_7_symbols_shift.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="10.167%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift3" />
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyXPos="-13.750%p"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols_shift4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_arabic.xml b/java/res/xml-sw768dp/rows_arabic.xml
deleted file mode 100644
index 8b05d9376..000000000
--- a/java/res/xml-sw768dp/rows_arabic.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.375%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_arabic1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.227%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_arabic2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.227%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_arabic3"
- latin:keyXPos="13.829%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_azerty.xml b/java/res/xml-sw768dp/rows_azerty.xml
deleted file mode 100644
index dcc403b59..000000000
--- a/java/res/xml-sw768dp/rows_azerty.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_azerty1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="10.167%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_azerty2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_azerty3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_bulgarian.xml b/java/res/xml-sw768dp/rows_bulgarian.xml
deleted file mode 100644
index 64534144a..000000000
--- a/java/res/xml-sw768dp/rows_bulgarian.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.375%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.227%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.186%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_bulgarian_bds.xml b/java/res/xml-sw768dp/rows_bulgarian_bds.xml
deleted file mode 100644
index 8acb4d259..000000000
--- a/java/res/xml-sw768dp/rows_bulgarian_bds.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.375%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian_bds1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.227%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian_bds2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.000%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian_bds3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_colemak.xml b/java/res/xml-sw768dp/rows_colemak.xml
deleted file mode 100644
index db9b0c247..000000000
--- a/java/res/xml-sw768dp/rows_colemak.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_colemak1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <include
- latin:keyboardLayout="@xml/key_colemak_colon" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="10.167%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_colemak2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_colemak3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_dvorak.xml b/java/res/xml-sw768dp/rows_dvorak.xml
deleted file mode 100644
index 941647815..000000000
--- a/java/res/xml-sw768dp/rows_dvorak.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/keys_dvorak_123" />
- <include
- latin:keyboardLayout="@xml/rowkeys_dvorak1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="10.167%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_dvorak2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_dvorak3" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_dvorak4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_east_slavic.xml b/java/res/xml-sw768dp/rows_east_slavic.xml
deleted file mode 100644
index a4287f162..000000000
--- a/java/res/xml-sw768dp/rows_east_slavic.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.000%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_east_slavic1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyLabel="!text/keylabel_for_east_slavic_row1_12" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.000%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_east_slavic2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.000%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_east_slavic3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_farsi.xml b/java/res/xml-sw768dp/rows_farsi.xml
deleted file mode 100644
index 4b4c970fd..000000000
--- a/java/res/xml-sw768dp/rows_farsi.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.375%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_farsi1" />
- </Row>
- <Row
- latin:keyWidth="7.227%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_farsi2" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.186%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_farsi3"
- latin:keyXPos="13.829%p" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_georgian.xml b/java/res/xml-sw768dp/rows_georgian.xml
deleted file mode 100644
index 74f1a07c1..000000000
--- a/java/res/xml-sw768dp/rows_georgian.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_georgian1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"/>
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_georgian2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_georgian3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_greek.xml b/java/res/xml-sw768dp/rows_greek.xml
deleted file mode 100644
index aebe12928..000000000
--- a/java/res/xml-sw768dp/rows_greek.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/key_greek_semicolon" />
- <include
- latin:keyboardLayout="@xml/rowkeys_greek1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"/>
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_greek2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_greek3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_hebrew.xml b/java/res/xml-sw768dp/rows_hebrew.xml
deleted file mode 100644
index e588b830c..000000000
--- a/java/res/xml-sw768dp/rows_hebrew.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/key_apostrophe" />
- <include
- latin:keyboardLayout="@xml/key_dash" />
- <include
- latin:keyboardLayout="@xml/rowkeys_hebrew1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="10.167%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_hebrew2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_hebrew3"
- latin:keyXPos="13.829%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_hebrew4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_hindi.xml b/java/res/xml-sw768dp/rows_hindi.xml
deleted file mode 100644
index 510772b13..000000000
--- a/java/res/xml-sw768dp/rows_hindi.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.375%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_hindi1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.227%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_hindi2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.000%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_hindi3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_nordic.xml b/java/res/xml-sw768dp/rows_nordic.xml
deleted file mode 100644
index 06591a66e..000000000
--- a/java/res/xml-sw768dp/rows_nordic.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.375%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_nordic1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.227%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_nordic2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.227%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p" />
- <Spacer
- latin:keyWidth="3.689%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyXPos="-13.750%p"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_number_normal.xml b/java/res/xml-sw768dp/rows_number_normal.xml
deleted file mode 100644
index d4d7c722a..000000000
--- a/java/res/xml-sw768dp/rows_number_normal.xml
+++ /dev/null
@@ -1,175 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row>
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <Key
- latin:keyLabel="-"
- latin:keyStyle="numKeyStyle"
- latin:keyXPos="13.829%p"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="+"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="."
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="1"
- latin:keyStyle="numKeyStyle"
- latin:keyXPos="43.125%p" />
- <Key
- latin:keyLabel="2"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="3"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyXPos="-11.172%p"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="13.829%p" />
- <Key
- latin:keyStyle="numStarKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="/"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <switch>
- <case
- latin:mode="time|datetime"
- >
- <Key
- latin:keyLabel=","
- latin:keyLabelFlags="hasPopupHint"
- latin:moreKeys="!text/more_keys_for_am_pm"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- </case>
- <default>
- <Key
- latin:keyLabel=","
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- </default>
- </switch>
- <Key
- latin:keyLabel="4"
- latin:keyStyle="numKeyStyle"
- latin:keyXPos="43.125%p" />
- <Key
- latin:keyLabel="5"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="6"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyXPos="-11.172%p"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="13.829%p" />
- <Key
- latin:keyLabel="("
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel=")"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <switch>
- <case
- latin:mode="time|datetime"
- >
- <Key
- latin:keyLabel=":"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- </case>
- <default>
- <Key
- latin:keyLabel="="
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- </default>
- </switch>
- <Key
- latin:keyLabel="7"
- latin:keyStyle="numKeyStyle"
- latin:keyXPos="43.125%p" />
- <Key
- latin:keyLabel="8"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="9"
- latin:keyStyle="numKeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer />
- </Row>
- <Row>
- <include
- latin:keyboardLayout="@xml/key_settings"
- latin:keyWidth="8.047%p" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyXPos="13.829%p"
- latin:keyWidth="24.140%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="numStarKeyStyle"
- latin:keyXPos="43.125%p" />
- <Key
- latin:keyLabel="0"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="#"
- latin:keyStyle="numKeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw768dp/rows_number_password.xml b/java/res/xml-sw768dp/rows_number_password.xml
deleted file mode 100644
index cfa221491..000000000
--- a/java/res/xml-sw768dp/rows_number_password.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row>
- <Key
- latin:keyStyle="numTabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <Key
- latin:keyStyle="num1KeyStyle"
- latin:keyXPos="32.076%p" />
- <Key
- latin:keyStyle="num2KeyStyle" />
- <Key
- latin:keyStyle="num3KeyStyle" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyXPos="-11.172%p"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="32.076%p" />
- <Key
- latin:keyStyle="num4KeyStyle" />
- <Key
- latin:keyStyle="num5KeyStyle" />
- <Key
- latin:keyStyle="num6KeyStyle" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyXPos="-11.172%p"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="32.076%p" />
- <Key
- latin:keyStyle="num7KeyStyle" />
- <Key
- latin:keyStyle="num8KeyStyle" />
- <Key
- latin:keyStyle="num9KeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer />
- </Row>
- <Row>
- <include
- latin:keyboardLayout="@xml/key_settings"
- latin:keyWidth="8.047%p" />
- <Key
- latin:keyXPos="45.326%p"
- latin:keyStyle="num0KeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer />
- </Row>
-</merge>
diff --git a/java/res/xml-sw768dp/rows_pcqwerty.xml b/java/res/xml-sw768dp/rows_pcqwerty.xml
deleted file mode 100644
index a8447288f..000000000
--- a/java/res/xml-sw768dp/rows_pcqwerty.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyWidth="9.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabel="!text/label_to_symbol_key_pcqwerty"
- latin:keyWidth="12.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty3" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty4" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_pcqwerty5" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_pcqwerty_symbols.xml b/java/res/xml-sw768dp/rows_pcqwerty_symbols.xml
deleted file mode 100644
index 956da97fb..000000000
--- a/java/res/xml-sw768dp/rows_pcqwerty_symbols.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="7.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyWidth="9.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyWidth="12.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty3" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty4"
- latin:keyXPos="15.0%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_pcqwerty5" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_phone.xml b/java/res/xml-sw768dp/rows_phone.xml
deleted file mode 100644
index 2f718db62..000000000
--- a/java/res/xml-sw768dp/rows_phone.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_number" />
- <Row>
- <Key
- latin:keyStyle="numTabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <Key
- latin:keyLabel="-"
- latin:keyStyle="numKeyStyle"
- latin:keyXPos="13.829%p"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="+"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="numPauseKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="num1KeyStyle"
- latin:keyXPos="43.125%p" />
- <Key
- latin:keyStyle="num2KeyStyle" />
- <Key
- latin:keyStyle="num3KeyStyle" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyXPos="-11.172%p"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="13.829%p" />
- <Key
- latin:keyLabel=","
- latin:keyStyle="numKeyStyle"
- latin:keyXPos="13.829%p"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="."
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="numWaitKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="num4KeyStyle"
- latin:keyXPos="43.125%p" />
- <Key
- latin:keyStyle="num5KeyStyle" />
- <Key
- latin:keyStyle="num6KeyStyle" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyXPos="-11.172%p"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="13.829%p" />
- <Key
- latin:keyLabel="("
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel=")"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyLabel="N"
- latin:keyStyle="numKeyStyle"
- latin:keyWidth="8.047%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="num7KeyStyle"
- latin:keyXPos="43.125%p" />
- <Key
- latin:keyStyle="num8KeyStyle" />
- <Key
- latin:keyStyle="num9KeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer />
- </Row>
- <Row>
- <include
- latin:keyboardLayout="@xml/key_settings"
- latin:keyWidth="8.047%p" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyXPos="13.829%p"
- latin:keyWidth="24.140%p"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="numStarKeyStyle"
- latin:keyXPos="43.125%p" />
- <Key
- latin:keyStyle="num0KeyStyle" />
- <Key
- latin:keyLabel="#"
- latin:keyStyle="numKeyStyle" />
- </Row>
-</merge>
diff --git a/java/res/xml-sw768dp/rows_qwerty.xml b/java/res/xml-sw768dp/rows_qwerty.xml
deleted file mode 100644
index a1deabd3b..000000000
--- a/java/res/xml-sw768dp/rows_qwerty.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"/>
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_qwertz.xml b/java/res/xml-sw768dp/rows_qwertz.xml
deleted file mode 100644
index 801dd38b6..000000000
--- a/java/res/xml-sw768dp/rows_qwertz.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwertz1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"/>
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_qwertz3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_south_slavic.xml b/java/res/xml-sw768dp/rows_south_slavic.xml
deleted file mode 100644
index b55685330..000000000
--- a/java/res/xml-sw768dp/rows_south_slavic.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.375%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_south_slavic1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.227%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_south_slavic2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.000%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_south_slavic3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_spanish.xml b/java/res/xml-sw768dp/rows_spanish.xml
deleted file mode 100644
index 8b8033288..000000000
--- a/java/res/xml-sw768dp/rows_spanish.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"/>
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="10.167%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_spanish2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyXPos="-13.750%p"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_symbols.xml b/java/res/xml-sw768dp/rows_symbols.xml
deleted file mode 100644
index efd77352b..000000000
--- a/java/res/xml-sw768dp/rows_symbols.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols3" />
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_symbols_shift.xml b/java/res/xml-sw768dp/rows_symbols_shift.xml
deleted file mode 100644
index fd1b93d51..000000000
--- a/java/res/xml-sw768dp/rows_symbols_shift.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift3" />
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols_shift4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_thai.xml b/java/res/xml-sw768dp/rows_thai.xml
deleted file mode 100644
index 5f9b383f8..000000000
--- a/java/res/xml-sw768dp/rows_thai.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.079%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_thai1"
- latin:keyXPos="3.799%p" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"/>
- </Row>
- <Row
- latin:keyWidth="7.079%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_thai2" />
- <include
- latin:keyboardLayout="@xml/key_thai_kho_khuat" />
- </Row>
- <Row
- latin:keyWidth="7.079%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_thai3" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="7.181%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.829%p"/>
- <include
- latin:keyboardLayout="@xml/rowkeys_thai4" />
- <include
- latin:keyboardLayout="@xml/keys_comma_period" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_thai_symbols.xml b/java/res/xml-sw768dp/rows_thai_symbols.xml
deleted file mode 100644
index 528514182..000000000
--- a/java/res/xml-sw768dp/rows_thai_symbols.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_thai_digits"
- latin:keyXPos="7.969%p" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols1" />
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols3" />
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyXPos="-13.750%p"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols4" />
-</merge>
diff --git a/java/res/xml-sw768dp/rows_thai_symbols_shift.xml b/java/res/xml-sw768dp/rows_thai_symbols_shift.xml
deleted file mode 100644
index 9d2694b86..000000000
--- a/java/res/xml-sw768dp/rows_thai_symbols_shift.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="8.282%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_thai_digits"
- latin:keyXPos="7.969%p" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.282%p"
- >
- <Key
- latin:keyStyle="tabKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="7.969%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift1" />
- </Row>
- <Row
- latin:keyWidth="8.125%p"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyLabelFlags="alignLeft"
- latin:keyWidth="11.172%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift2" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row
- latin:keyWidth="8.047%p"
- >
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyWidth="13.829%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift3" />
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyXPos="-13.750%p"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols_shift4" />
-</merge>
diff --git a/java/res/xml/additional_subtype_settings.xml b/java/res/xml/additional_subtype_settings.xml
deleted file mode 100644
index ad280c146..000000000
--- a/java/res/xml/additional_subtype_settings.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- Items will be added at runtime -->
-</PreferenceScreen>
diff --git a/java/res/xml/kbd_10_10_7_symbols.xml b/java/res/xml/kbd_10_10_7_symbols.xml
deleted file mode 100644
index 7e075df48..000000000
--- a/java/res/xml/kbd_10_10_7_symbols.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_symbols" />
-</Keyboard>
diff --git a/java/res/xml/kbd_10_10_7_symbols_shift.xml b/java/res/xml/kbd_10_10_7_symbols_shift.xml
deleted file mode 100644
index 25db3c84d..000000000
--- a/java/res/xml/kbd_10_10_7_symbols_shift.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
diff --git a/java/res/xml/kbd_arabic.xml b/java/res/xml/kbd_arabic.xml
deleted file mode 100644
index ce5f30b2f..000000000
--- a/java/res/xml/kbd_arabic.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_arabic" />
-</Keyboard>
diff --git a/java/res/xml/kbd_azerty.xml b/java/res/xml/kbd_azerty.xml
deleted file mode 100644
index 7bafe5bca..000000000
--- a/java/res/xml/kbd_azerty.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_azerty" />
-</Keyboard>
diff --git a/java/res/xml/kbd_bulgarian.xml b/java/res/xml/kbd_bulgarian.xml
deleted file mode 100644
index a651991c0..000000000
--- a/java/res/xml/kbd_bulgarian.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License"):
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_bulgarian" />
-</Keyboard>
diff --git a/java/res/xml/kbd_bulgarian_bds.xml b/java/res/xml/kbd_bulgarian_bds.xml
deleted file mode 100644
index a8d770c04..000000000
--- a/java/res/xml/kbd_bulgarian_bds.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License"):
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_bulgarian_bds" />
-</Keyboard>
diff --git a/java/res/xml/kbd_colemak.xml b/java/res/xml/kbd_colemak.xml
deleted file mode 100644
index ee1d5e86e..000000000
--- a/java/res/xml/kbd_colemak.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_colemak" />
-</Keyboard>
diff --git a/java/res/xml/kbd_dvorak.xml b/java/res/xml/kbd_dvorak.xml
deleted file mode 100644
index 27c6a5084..000000000
--- a/java/res/xml/kbd_dvorak.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_dvorak" />
-</Keyboard>
diff --git a/java/res/xml/kbd_east_slavic.xml b/java/res/xml/kbd_east_slavic.xml
deleted file mode 100644
index 3bc233953..000000000
--- a/java/res/xml/kbd_east_slavic.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License"):
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_east_slavic" />
-</Keyboard>
diff --git a/java/res/xml/kbd_farsi.xml b/java/res/xml/kbd_farsi.xml
deleted file mode 100644
index 1af4e61ca..000000000
--- a/java/res/xml/kbd_farsi.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_farsi" />
-</Keyboard>
diff --git a/java/res/xml/kbd_georgian.xml b/java/res/xml/kbd_georgian.xml
deleted file mode 100644
index 2dc6bf0ee..000000000
--- a/java/res/xml/kbd_georgian.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_georgian" />
-</Keyboard>
diff --git a/java/res/xml/kbd_greek.xml b/java/res/xml/kbd_greek.xml
deleted file mode 100644
index 7056efb00..000000000
--- a/java/res/xml/kbd_greek.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_greek" />
-</Keyboard>
diff --git a/java/res/xml/kbd_hebrew.xml b/java/res/xml/kbd_hebrew.xml
deleted file mode 100644
index 74836f342..000000000
--- a/java/res/xml/kbd_hebrew.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_hebrew" />
-</Keyboard>
diff --git a/java/res/xml/kbd_hindi.xml b/java/res/xml/kbd_hindi.xml
deleted file mode 100644
index 0e69e3ae2..000000000
--- a/java/res/xml/kbd_hindi.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_hindi" />
-</Keyboard>
diff --git a/java/res/xml/kbd_more_keys_keyboard_template.xml b/java/res/xml/kbd_more_keys_keyboard_template.xml
deleted file mode 100644
index 537973d03..000000000
--- a/java/res/xml/kbd_more_keys_keyboard_template.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="10%p"
- latin:rowHeight="@dimen/popup_key_height"
- style="?attr/moreKeysKeyboardStyle"
- >
-</Keyboard>
diff --git a/java/res/xml/kbd_nordic.xml b/java/res/xml/kbd_nordic.xml
deleted file mode 100644
index a2196c926..000000000
--- a/java/res/xml/kbd_nordic.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_nordic" />
-</Keyboard>
diff --git a/java/res/xml/kbd_number.xml b/java/res/xml/kbd_number.xml
deleted file mode 100644
index 8b0deea97..000000000
--- a/java/res/xml/kbd_number.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="26.67%p"
->
- <include
- latin:keyboardLayout="@xml/rows_number" />
-</Keyboard>
diff --git a/java/res/xml/kbd_pcqwerty.xml b/java/res/xml/kbd_pcqwerty.xml
deleted file mode 100644
index 777c71af3..000000000
--- a/java/res/xml/kbd_pcqwerty.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:rowHeight="20%p"
- latin:verticalGap="@fraction/key_bottom_gap_5row"
- latin:keyLetterSize="@fraction/key_letter_ratio_5row"
- latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
- latin:touchPositionCorrectionData="@null"
->
- <include
- latin:keyboardLayout="@xml/rows_pcqwerty" />
-</Keyboard>
diff --git a/java/res/xml/kbd_pcqwerty_symbols.xml b/java/res/xml/kbd_pcqwerty_symbols.xml
deleted file mode 100644
index a2297f702..000000000
--- a/java/res/xml/kbd_pcqwerty_symbols.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:rowHeight="20%p"
- latin:verticalGap="@fraction/key_bottom_gap_5row"
- latin:keyLetterSize="@fraction/key_letter_ratio_5row"
- latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
- latin:touchPositionCorrectionData="@null"
->
- <include
- latin:keyboardLayout="@xml/rows_pcqwerty_symbols" />
-</Keyboard>
diff --git a/java/res/xml/kbd_phone.xml b/java/res/xml/kbd_phone.xml
deleted file mode 100644
index 91637b62c..000000000
--- a/java/res/xml/kbd_phone.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="26.67%p"
->
- <include
- latin:keyboardLayout="@xml/rows_phone" />
-</Keyboard>
diff --git a/java/res/xml/kbd_phone_symbols.xml b/java/res/xml/kbd_phone_symbols.xml
deleted file mode 100644
index 7f59a855a..000000000
--- a/java/res/xml/kbd_phone_symbols.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="26.67%p"
->
- <include
- latin:keyboardLayout="@xml/rows_phone_symbols" />
-</Keyboard>
diff --git a/java/res/xml/kbd_qwerty.xml b/java/res/xml/kbd_qwerty.xml
deleted file mode 100644
index 2f49b943a..000000000
--- a/java/res/xml/kbd_qwerty.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_qwerty" />
-</Keyboard>
diff --git a/java/res/xml/kbd_qwertz.xml b/java/res/xml/kbd_qwertz.xml
deleted file mode 100644
index 9f7e9019c..000000000
--- a/java/res/xml/kbd_qwertz.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_qwertz" />
-</Keyboard>
diff --git a/java/res/xml/kbd_south_slavic.xml b/java/res/xml/kbd_south_slavic.xml
deleted file mode 100644
index f3ad02c7b..000000000
--- a/java/res/xml/kbd_south_slavic.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_south_slavic" />
-</Keyboard>
diff --git a/java/res/xml/kbd_spanish.xml b/java/res/xml/kbd_spanish.xml
deleted file mode 100644
index 6ce2b5d24..000000000
--- a/java/res/xml/kbd_spanish.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_spanish" />
-</Keyboard>
diff --git a/java/res/xml/kbd_suggestions_pane_template.xml b/java/res/xml/kbd_suggestions_pane_template.xml
deleted file mode 100644
index 21316e6bb..000000000
--- a/java/res/xml/kbd_suggestions_pane_template.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:keyWidth="10%p"
- latin:rowHeight="@dimen/more_suggestions_row_height"
- >
-</Keyboard>
diff --git a/java/res/xml/kbd_symbols.xml b/java/res/xml/kbd_symbols.xml
deleted file mode 100644
index f6612a2f7..000000000
--- a/java/res/xml/kbd_symbols.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_symbols" />
-</Keyboard>
diff --git a/java/res/xml/kbd_symbols_shift.xml b/java/res/xml/kbd_symbols_shift.xml
deleted file mode 100644
index 41a5571ef..000000000
--- a/java/res/xml/kbd_symbols_shift.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
diff --git a/java/res/xml/kbd_thai.xml b/java/res/xml/kbd_thai.xml
deleted file mode 100644
index b4a4a0b92..000000000
--- a/java/res/xml/kbd_thai.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- latin:rowHeight="20%p"
- latin:verticalGap="@fraction/key_bottom_gap_5row"
- latin:keyLetterSize="@fraction/key_letter_ratio_5row"
- latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
- latin:touchPositionCorrectionData="@null"
->
- <include
- latin:keyboardLayout="@xml/rows_thai" />
-</Keyboard>
diff --git a/java/res/xml/kbd_thai_symbols.xml b/java/res/xml/kbd_thai_symbols.xml
deleted file mode 100644
index 7e075df48..000000000
--- a/java/res/xml/kbd_thai_symbols.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_symbols" />
-</Keyboard>
diff --git a/java/res/xml/kbd_thai_symbols_shift.xml b/java/res/xml/kbd_thai_symbols_shift.xml
deleted file mode 100644
index 25db3c84d..000000000
--- a/java/res/xml/kbd_thai_symbols_shift.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
diff --git a/java/res/xml/key_azerty_quote.xml b/java/res/xml/key_azerty_quote.xml
deleted file mode 100644
index 65789ea69..000000000
--- a/java/res/xml/key_azerty_quote.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- >
- <Key
- latin:keyLabel="\?" />
- </case>
- <default>
- <Key
- latin:keyLabel="\'"
- latin:moreKeys="!text/more_keys_for_single_quote" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/key_colemak_colon.xml b/java/res/xml/key_colemak_colon.xml
deleted file mode 100644
index 307b4ebca..000000000
--- a/java/res/xml/key_colemak_colon.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- >
- <Key
- latin:keyLabel=";"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
- </case>
- <default>
- <Key
- latin:keyLabel=":"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0"
- latin:moreKeys=";" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/key_f1.xml b/java/res/xml/key_f1.xml
deleted file mode 100644
index 455f9ef59..000000000
--- a/java/res/xml/key_f1.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:mode="url"
- >
- <Key
- latin:keyLabel="/"
- latin:keyStyle="f1MoreKeysStyle" />
- </case>
- <case
- latin:mode="email"
- >
- <Key
- latin:keyLabel="\@"
- latin:keyStyle="f1MoreKeysStyle" />
- </case>
- <case
- latin:hasShortcutKey="true"
- >
- <Key
- latin:keyStyle="shortcutKeyStyle" />
- </case>
- <!-- latin:hasShortcutKey="false" -->
- <default>
- <Key
- latin:keyLabel="!text/keylabel_for_comma"
- latin:keyLabelFlags="hasPopupHint"
- latin:additionalMoreKeys="!text/more_keys_for_comma"
- latin:keyStyle="f1MoreKeysStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/key_greek_semicolon.xml b/java/res/xml/key_greek_semicolon.xml
deleted file mode 100644
index ae73a59f6..000000000
--- a/java/res/xml/key_greek_semicolon.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- >
- <Key
- latin:keyLabel=":"
- latin:keyHintLabel="1"
- latin:moreKeys=";"
- latin:additionalMoreKeys="1" />
- </case>
- <default>
- <Key
- latin:keyLabel=";"
- latin:keyHintLabel="1"
- latin:moreKeys=":"
- latin:additionalMoreKeys="1" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/key_space.xml b/java/res/xml/key_space.xml
deleted file mode 100644
index 02ee42fd2..000000000
--- a/java/res/xml/key_space.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:languageCode="fa"
- latin:languageSwitchKeyEnabled="true"
- >
- <Key
- latin:keyStyle="languageSwitchKeyStyle" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="30%p" />
- <Key
- latin:keyStyle="zwnjKeyStyle" />
- </case>
- <case
- latin:languageCode="fa"
- latin:languageSwitchKeyEnabled="false"
- >
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="40%p" />
- <Key
- latin:keyStyle="zwnjKeyStyle" />
- </case>
- <case
- latin:languageSwitchKeyEnabled="true"
- >
- <Key
- latin:keyStyle="languageSwitchKeyStyle" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="40%p" />
- </case>
- <!-- languageSwitchKeyEnabled="false" -->
- <default>
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="50%p" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
deleted file mode 100644
index 162119dab..000000000
--- a/java/res/xml/key_styles_common.xml
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- Base key style for the key which may have settings or tab key as popup key. -->
- <include
- latin:keyboardLayout="@xml/key_styles_f1" />
- <!-- Functional key styles -->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetAutomaticShifted"
- >
- <key-style
- latin:styleName="shiftKeyStyle"
- latin:code="!code/key_shift"
- latin:keyIcon="!icon/shift_key_shifted"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="stickyOff" />
- </case>
- <case
- latin:keyboardLayoutSetElement="alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <key-style
- latin:styleName="shiftKeyStyle"
- latin:code="!code/key_shift"
- latin:keyIcon="!icon/shift_key_shifted"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="stickyOn" />
- </case>
- <default>
- <key-style
- latin:styleName="shiftKeyStyle"
- latin:code="!code/key_shift"
- latin:keyIcon="!icon/shift_key"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="stickyOff" />
- </default>
- </switch>
- <key-style
- latin:styleName="deleteKeyStyle"
- latin:code="!code/key_delete"
- latin:keyIcon="!icon/delete_key"
- latin:keyActionFlags="isRepeatable|noKeyPreview"
- latin:backgroundType="functional" />
- <include
- latin:keyboardLayout="@xml/key_styles_enter" />
- <switch>
- <!-- Shift + Enter in textMultiLine field. -->
- <case
- latin:isMultiLine="true"
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:parentStyle="defaultEnterKeyStyle" />
- </case>
- <!-- Smiley in textShortMessage field.
- Overrides common enter key style. -->
- <case
- latin:mode="im"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:keyLabel=":-)"
- latin:keyOutputText=":-) "
- latin:keyLabelFlags="hasPopupHint"
- latin:moreKeys="!text/more_keys_for_smiley"
- latin:backgroundType="functional" />
- </case>
- </switch>
- <key-style
- latin:styleName="spaceKeyStyle"
- latin:code="!code/key_space"
- latin:keyActionFlags="noKeyPreview|enableLongPress" />
- <!-- U+200C: ZERO WIDTH NON-JOINER
- U+200D: ZERO WIDTH JOINER -->
- <key-style
- latin:styleName="zwnjKeyStyle"
- latin:code="0x200C"
- latin:keyIcon="!icon/zwnj_key"
- latin:moreKeys="!icon/zwj_key|&#x200D;"
- latin:keyLabelFlags="hasPopupHint"
- latin:keyActionFlags="noKeyPreview" />
- <key-style
- latin:styleName="shortcutKeyStyle"
- latin:code="!code/key_shortcut"
- latin:keyIcon="!icon/shortcut_key"
- latin:keyIconDisabled="!icon/shortcut_key_disabled"
- latin:keyActionFlags="noKeyPreview|altCodeWhileTyping"
- latin:altCode="!code/key_space"
- latin:parentStyle="f1MoreKeysStyle" />
- <key-style
- latin:styleName="settingsKeyStyle"
- latin:code="!code/key_settings"
- latin:keyIcon="!icon/settings_key"
- latin:keyActionFlags="noKeyPreview|altCodeWhileTyping"
- latin:altCode="!code/key_space"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="languageSwitchKeyStyle"
- latin:code="!code/key_language_switch"
- latin:keyIcon="!icon/language_switch_key"
- latin:keyActionFlags="noKeyPreview|altCodeWhileTyping|enableLongPress"
- latin:altCode="!code/key_space" />
- <key-style
- latin:styleName="tabKeyStyle"
- latin:code="!code/key_tab"
- latin:keyIcon="!icon/tab_key"
- latin:keyIconPreview="!icon/tab_key_preview"
- latin:backgroundType="functional" />
- <!-- Note: This key style is not for functional tab key. This is used for the tab key which is
- laid out as normal letter key. -->
- <key-style
- latin:styleName="nonSpecialBackgroundTabKeyStyle"
- latin:code="!code/key_tab"
- latin:keyIcon="!icon/tab_key"
- latin:keyIconPreview="!icon/tab_key_preview" />
- <switch>
- <!-- When this qwerty keyboard has no shortcut keys but shortcut key is enabled, then symbol
- keyboard will have a shortcut key. That means we should use label_to_symbol_key label
- and shortcut_for_label icon. -->
- <case
- latin:shortcutKeyEnabled="true"
- latin:hasShortcutKey="false"
- >
- <key-style
- latin:styleName="toSymbolKeyStyle"
- latin:code="!code/key_switch_alpha_symbol"
- latin:keyIcon="!icon/shortcut_for_label"
- latin:keyLabel="!text/label_to_symbol_with_microphone_key"
- latin:keyLabelFlags="withIconRight|preserveCase"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- </case>
- <default>
- <key-style
- latin:styleName="toSymbolKeyStyle"
- latin:code="!code/key_switch_alpha_symbol"
- latin:keyLabel="!text/label_to_symbol_key"
- latin:keyLabelFlags="preserveCase"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- </default>
- </switch>
- <key-style
- latin:styleName="toAlphaKeyStyle"
- latin:code="!code/key_switch_alpha_symbol"
- latin:keyLabel="!text/label_to_alpha_key"
- latin:keyLabelFlags="preserveCase"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="toMoreSymbolKeyStyle"
- latin:code="!code/key_shift"
- latin:keyLabel="!text/label_to_more_symbol_key"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="backFromMoreSymbolKeyStyle"
- latin:code="!code/key_shift"
- latin:keyLabel="!text/label_to_symbol_key"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional" />
- <key-style
- latin:styleName="punctuationKeyStyle"
- latin:keyLabel="."
- latin:keyLabelFlags="hasPopupHint"
- latin:moreKeys="!text/more_keys_for_punctuation"
- latin:backgroundType="functional" />
-</merge>
diff --git a/java/res/xml/key_styles_currency.xml b/java/res/xml/key_styles_currency.xml
deleted file mode 100644
index 6dea16f89..000000000
--- a/java/res/xml/key_styles_currency.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:passwordInput="true"
- >
- <include
- latin:keyboardLayout="@xml/key_styles_currency_dollar" />
- </case>
- <!-- Countries using Euro currency, 23 countries as for January 2011. -->
- 1. Andorra (ca_AD, ca_ES)
- 2. Austria (de_AT)
- 3. Belgium (nl_BE, fr_BE, de_BE)
- 4. Cyprus (el_CY, tr_CY)
- 5. Estonia (et_EE)
- 6. Finland (fi_FI, sv_FI)
- 7. France (fr_FR)
- 8. Germany (de_DE)
- 9. Greece (el_GR)
- 10. Ireland (ga_IE, en_IE)
- 11. Italy (it_IT)
- 12. Kosovo (??_XK) ??
- 13. Luxembourg (lb_LU, fr_LU, de_LU)
- 14. Malta (mt_MT, en_MT)
- 15. Monaco (fr_MO)
- 16. Montenegro (sla_ME)
- 17. Netherlands (nl_NL)
- 18. Portugal (pt_PT)
- 19. San Marino (it_SM)
- 20. Slovakia (sk_SK)
- 21. Slovenia (sl_SI)
- 22. Spain (es_ES, ca_ES)
- 23. Vatican City (it_VA)
- -->
- <!-- Though Denmark and Turkey don't using Euro as their currencies, but having Euro sign on
- the symbol keyboard might be useful. Especially Danish krone (kr) and Turkish lira
- (TL) can be represented by usual alphabet letters. -->
- <!-- Note: Some locales may not have country code, and it it supposed to indicate the
- country where the language originally/mainly spoken. -->
- <case
- latin:localeCode="da|de|es|el|fi|fr|it|nl|sk|sl|pt_PT|tr"
- >
- <include
- latin:keyboardLayout="@xml/key_styles_currency_euro" />
- </case>
- <case
- latin:languageCode="ca|et|lb|mt|sla"
- >
- <include
- latin:keyboardLayout="@xml/key_styles_currency_euro" />
- </case>
- <case
- latin:countryCode="AD|AT|BE|CY|EE|FI|FR|DE|GR|IE|IT|XK|LU|MT|MO|ME|NL|PT|SM|SK|SI|ES|VA"
- >
- <include
- latin:keyboardLayout="@xml/key_styles_currency_euro" />
- </case>
- <case
- latin:languageCode="iw"
- >
- <!-- U+20AA: "₪" NEW SHEQEL SIGN
- U+00A3: "£" POUND SIGN
- U+20AC: "€" EURO SIGN
- U+00A2: "¢" CENT SIGN -->
- <key-style
- latin:styleName="currencyKeyStyle"
- latin:keyLabel="&#x20AA;"
- latin:moreKeys="!text/more_keys_for_currency_general" />
- <key-style
- latin:styleName="moreCurrency1KeyStyle"
- latin:keyLabel="&#x00A3;" />
- <key-style
- latin:styleName="moreCurrency2KeyStyle"
- latin:keyLabel="&#x20AC;" />
- <key-style
- latin:styleName="moreCurrency3KeyStyle"
- latin:keyLabel="$"
- latin:moreKeys="&#x00A2;" />
- <key-style
- latin:styleName="moreCurrency4KeyStyle"
- latin:keyLabel="&#x00A2;" />
- </case>
- <case
- latin:languageCode="fa"
- >
- <!-- U+FDFC: "﷼" RIAL SIGN
- U+060B: "؋" AFGHANI SIGN
- U+00A3: "£" POUND SIGN
- U+20AC: "€" EURO SIGN
- U+00A2: "¢" CENT SIGN -->
- <!-- TODO: DroidSansArabic lacks the glyph of U+FCDC: RIAL SIGN -->
- <key-style
- latin:styleName="currencyKeyStyle"
- latin:keyLabel="&#xFDFC;"
- latin:moreKeys="!text/more_keys_for_currency_general,&#x060B;" />
- <key-style
- latin:styleName="moreCurrency1KeyStyle"
- latin:keyLabel="&#x00A3;" />
- <key-style
- latin:styleName="moreCurrency2KeyStyle"
- latin:keyLabel="&#x20AC;" />
- <key-style
- latin:styleName="moreCurrency3KeyStyle"
- latin:keyLabel="$"
- latin:moreKeys="&#x00A2;" />
- <key-style
- latin:styleName="moreCurrency4KeyStyle"
- latin:keyLabel="&#x00A2;" />
- </case>
- <!-- United Kingdom -->
- <case
- latin:countryCode="GB"
- >
- <!-- U+00A3: "£" POUND SIGN
- U+20AC: "€" EURO SIGN
- U+00A5: "¥" YEN SIGN
- U+00A2: "¢" CENT SIGN -->
- <key-style
- latin:styleName="currencyKeyStyle"
- latin:keyLabel="&#x00A3;"
- latin:moreKeys="!text/more_keys_for_currency_pound" />
- <key-style
- latin:styleName="moreCurrency1KeyStyle"
- latin:keyLabel="&#x20AC;" />
- <key-style
- latin:styleName="moreCurrency2KeyStyle"
- latin:keyLabel="&#x00A5;" />
- <key-style
- latin:styleName="moreCurrency3KeyStyle"
- latin:keyLabel="$"
- latin:moreKeys="&#x00A2;" />
- <key-style
- latin:styleName="moreCurrency4KeyStyle"
- latin:keyLabel="&#x00A2;" />
- </case>
- <default>
- <include
- latin:keyboardLayout="@xml/key_styles_currency_dollar" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/key_styles_currency_dollar.xml b/java/res/xml/key_styles_currency_dollar.xml
deleted file mode 100644
index 674a3966d..000000000
--- a/java/res/xml/key_styles_currency_dollar.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <!-- U+00A3: "£" POUND SIGN
- U+00A2: "¢" CENT SIGN
- U+20AC: "€" EURO SIGN
- U+00A5: "¥" YEN SIGN -->
- <key-style
- latin:styleName="currencyKeyStyle"
- latin:keyLabel="$"
- latin:moreKeys="!text/more_keys_for_currency_dollar" />
- <key-style
- latin:styleName="moreCurrency1KeyStyle"
- latin:keyLabel="&#x00A3;" />
- <key-style
- latin:styleName="moreCurrency2KeyStyle"
- latin:keyLabel="&#x00A2;" />
- <key-style
- latin:styleName="moreCurrency3KeyStyle"
- latin:keyLabel="&#x20AC;" />
- <key-style
- latin:styleName="moreCurrency4KeyStyle"
- latin:keyLabel="&#x00A5;" />
-</merge>
diff --git a/java/res/xml/key_styles_currency_euro.xml b/java/res/xml/key_styles_currency_euro.xml
deleted file mode 100644
index 686fb3033..000000000
--- a/java/res/xml/key_styles_currency_euro.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <!-- U+20AC: "€" EURO SIGN
- U+00A3: "£" POUND SIGN
- U+00A5: "¥" YEN SIGN
- U+00A2: "¢" CENT SIGN -->
- <key-style
- latin:styleName="currencyKeyStyle"
- latin:keyLabel="&#x20AC;"
- latin:moreKeys="!text/more_keys_for_currency_euro" />
- <key-style
- latin:styleName="moreCurrency1KeyStyle"
- latin:keyLabel="&#x00A3;" />
- <key-style
- latin:styleName="moreCurrency2KeyStyle"
- latin:keyLabel="&#x00A5;" />
- <key-style
- latin:styleName="moreCurrency3KeyStyle"
- latin:keyLabel="$"
- latin:moreKeys="&#x00A2;" />
- <key-style
- latin:styleName="moreCurrency4KeyStyle"
- latin:keyLabel="&#x00A2;" />
-</merge>
diff --git a/java/res/xml/key_styles_enter.xml b/java/res/xml/key_styles_enter.xml
deleted file mode 100644
index 3788ca8ba..000000000
--- a/java/res/xml/key_styles_enter.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- Navigate more keys style -->
- <switch>
- <case
- latin:imeAction="actionNext"
- latin:navigatePrevious="true"
- >
- <key-style
- latin:styleName="navigateMoreKeysStyle"
- latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="!text/action_previous_as_more_key" />
- </case>
- <case
- latin:imeAction="actionNext"
- latin:navigatePrevious="false"
- >
- <key-style
- latin:styleName="navigateMoreKeysStyle" />
- </case>
- <case
- latin:imeAction="actionPrevious"
- latin:navigateNext="true"
- >
- <key-style
- latin:styleName="navigateMoreKeysStyle"
- latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="!text/action_next_as_more_key" />
- </case>
- <case
- latin:imeAction="actionPrevious"
- latin:navigateNext="false"
- >
- <key-style
- latin:styleName="navigateMoreKeysStyle" />
- </case>
- <!-- imeAction!="actionNext" and imeAction!="actionPrevious" -->
- <case
- latin:navigateNext="true"
- latin:navigatePrevious="true"
- >
- <key-style
- latin:styleName="navigateMoreKeysStyle"
- latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/action_previous_as_more_key,!text/action_next_as_more_key" />
- </case>
- <case
- latin:navigateNext="true"
- latin:navigatePrevious="false"
- >
- <key-style
- latin:styleName="navigateMoreKeysStyle"
- latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="!text/action_next_as_more_key" />
- </case>
- <case
- latin:navigateNext="false"
- latin:navigatePrevious="true"
- >
- <key-style
- latin:styleName="navigateMoreKeysStyle"
- latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="!text/action_previous_as_more_key" />
- </case>
- <!-- naviagteNext="false" and navigatePrevious="false" -->
- <default>
- <key-style
- latin:styleName="navigateMoreKeysStyle" />
- </default>
- </switch>
- <!-- Enter key style -->
- <key-style
- latin:styleName="defaultEnterKeyStyle"
- latin:code="!code/key_enter"
- latin:keyIcon="!icon/enter_key"
- latin:keyLabelFlags="preserveCase|autoXScale|followKeyLabelRatio"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional"
- latin:parentStyle="navigateMoreKeysStyle" />
- <key-style
- latin:styleName="defaultActionKeyStyle"
- latin:code="!code/key_action_enter"
- latin:keyIcon="!icon/undefined"
- latin:backgroundType="action"
- latin:parentStyle="defaultEnterKeyStyle" />
- <switch>
- <!-- Shift + Enter in textMultiLine field. -->
- <case
- latin:isMultiLine="true"
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:parentStyle="defaultEnterKeyStyle" />
- </case>
- <case
- latin:imeAction="actionGo"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:keyLabel="!text/label_go_key"
- latin:parentStyle="defaultActionKeyStyle" />
- </case>
- <case
- latin:imeAction="actionNext"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:keyLabel="!text/label_next_key"
- latin:parentStyle="defaultActionKeyStyle" />
- </case>
- <case
- latin:imeAction="actionPrevious"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:keyLabel="!text/label_previous_key"
- latin:parentStyle="defaultActionKeyStyle" />
- </case>
- <case
- latin:imeAction="actionDone"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:keyLabel="!text/label_done_key"
- latin:parentStyle="defaultActionKeyStyle" />
- </case>
- <case
- latin:imeAction="actionSend"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:keyLabel="!text/label_send_key"
- latin:parentStyle="defaultActionKeyStyle" />
- </case>
- <case
- latin:imeAction="actionSearch"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:keyIcon="!icon/search_key"
- latin:parentStyle="defaultActionKeyStyle" />
- </case>
- <case
- latin:imeAction="actionCustomLabel"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:keyLabelFlags="fromCustomActionLabel"
- latin:parentStyle="defaultActionKeyStyle" />
- </case>
- <!-- imeAction is either actionNone or actionUnspecified. -->
- <default>
- <key-style
- latin:styleName="enterKeyStyle"
- latin:parentStyle="defaultEnterKeyStyle" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/key_styles_f1.xml b/java/res/xml/key_styles_f1.xml
deleted file mode 100644
index 8dfc3cb84..000000000
--- a/java/res/xml/key_styles_f1.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- Base key style for the key which may have settings or tab key as popup key. -->
- <!-- Kept as a separate file for cleaner overriding by an overlay. -->
- <switch>
- <case
- latin:clobberSettingsKey="true"
- >
- <key-style
- latin:styleName="f1MoreKeysStyle"
- latin:backgroundType="functional" />
- </case>
- <!-- clobberSettingsKey="false" -->
- <default>
- <key-style
- latin:styleName="f1MoreKeysStyle"
- latin:keyLabelFlags="hasPopupHint"
- latin:moreKeys="!text/settings_as_more_key"
- latin:backgroundType="functional" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/key_styles_number.xml b/java/res/xml/key_styles_number.xml
deleted file mode 100644
index 2e5a601b0..000000000
--- a/java/res/xml/key_styles_number.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <key-style
- latin:styleName="numKeyBaseStyle"
- latin:keyActionFlags="noKeyPreview" />
- <key-style
- latin:styleName="numKeyStyle"
- latin:keyLabelFlags="followKeyLargeLetterRatio"
- latin:parentStyle="numKeyBaseStyle" />
- <key-style
- latin:styleName="numModeKeyStyle"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio"
- latin:parentStyle="numKeyBaseStyle" />
- <key-style
- latin:styleName="numFunctionalKeyStyle"
- latin:keyLabelFlags="followKeyLargeLetterRatio"
- latin:backgroundType="functional"
- latin:parentStyle="numKeyBaseStyle" />
- <key-style
- latin:styleName="numberKeyStyle"
- latin:keyLabelFlags="alignLeftOfCenter|hasHintLabel"
- latin:parentStyle="numKeyStyle" />
- <key-style
- latin:styleName="num0KeyStyle"
- latin:keyLabel="0"
- latin:parentStyle="numberKeyStyle" />
- <key-style
- latin:styleName="num1KeyStyle"
- latin:keyLabel="1"
- latin:parentStyle="numberKeyStyle" />
- <key-style
- latin:styleName="num2KeyStyle"
- latin:keyLabel="2"
- latin:keyHintLabel="ABC"
- latin:parentStyle="numberKeyStyle" />
- <key-style
- latin:styleName="num3KeyStyle"
- latin:keyLabel="3"
- latin:keyHintLabel="DEF"
- latin:parentStyle="numberKeyStyle" />
- <key-style
- latin:styleName="num4KeyStyle"
- latin:keyLabel="4"
- latin:keyHintLabel="GHI"
- latin:parentStyle="numberKeyStyle" />
- <key-style
- latin:styleName="num5KeyStyle"
- latin:keyLabel="5"
- latin:keyHintLabel="JKL"
- latin:parentStyle="numberKeyStyle" />
- <key-style
- latin:styleName="num6KeyStyle"
- latin:keyLabel="6"
- latin:keyHintLabel="MNO"
- latin:parentStyle="numberKeyStyle" />
- <key-style
- latin:styleName="num7KeyStyle"
- latin:keyLabel="7"
- latin:keyHintLabel="PQRS"
- latin:parentStyle="numberKeyStyle" />
- <key-style
- latin:styleName="num8KeyStyle"
- latin:keyLabel="8"
- latin:keyHintLabel="TUV"
- latin:parentStyle="numberKeyStyle" />
- <key-style
- latin:styleName="num9KeyStyle"
- latin:keyLabel="9"
- latin:keyHintLabel="WXYZ"
- latin:parentStyle="numberKeyStyle" />
- <!-- U+002A: "*" ASTERISK
- U+FF0A: "*" FULLWIDTH ASTERISK -->
- <key-style
- latin:styleName="numStarKeyStyle"
- latin:code="0x002A"
- latin:keyLabel="&#xFF0A;"
- latin:parentStyle="numKeyStyle" />
- <!-- Only for non-tablet device -->
- <key-style
- latin:styleName="numPhoneToSymbolKeyStyle"
- latin:code="!code/key_switch_alpha_symbol"
- latin:keyLabel="!text/label_to_phone_symbols_key"
- latin:parentStyle="numModeKeyStyle" />
- <key-style
- latin:styleName="numPhoneToNumericKeyStyle"
- latin:code="!code/key_switch_alpha_symbol"
- latin:keyLabel="!text/label_to_phone_numeric_key"
- latin:parentStyle="numModeKeyStyle" />
- <!-- U+002C: "," COMMA -->
- <key-style
- latin:styleName="numPauseKeyStyle"
- latin:code="0x002C"
- latin:keyLabel="!text/label_pause_key"
- latin:keyLabelFlags="followKeyHintLabelRatio|autoXScale"
- latin:parentStyle="numKeyBaseStyle" />
- <!-- U+003B: ";" SEMICOLON -->
- <key-style
- latin:styleName="numWaitKeyStyle"
- latin:code="0x003B"
- latin:keyLabel="!text/label_wait_key"
- latin:keyLabelFlags="followKeyHintLabelRatio|autoXScale"
- latin:parentStyle="numKeyBaseStyle" />
- <key-style
- latin:styleName="numTabKeyStyle"
- latin:keyActionFlags="noKeyPreview"
- latin:parentStyle="tabKeyStyle" />
- <key-style
- latin:styleName="numSpaceKeyStyle"
- latin:code="!code/key_space"
- latin:keyIcon="!icon/space_key_for_number_layout"
- latin:keyActionFlags="enableLongPress"
- latin:parentStyle="numKeyBaseStyle" />
- <!-- Override defaultEnterKeyStyle in key_styles_enter.xml -->
- <key-style
- latin:styleName="defaultEnterKeyStyle"
- latin:code="!code/key_enter"
- latin:keyIcon="!icon/enter_key"
- latin:keyLabelFlags="preserveCase|autoXScale|followKeyLargeLabelRatio"
- latin:keyActionFlags="noKeyPreview"
- latin:backgroundType="functional"
- latin:parentStyle="navigateMoreKeysStyle" />
-</merge>
diff --git a/java/res/xml/key_thai_kho_khuat.xml b/java/res/xml/key_thai_kho_khuat.xml
deleted file mode 100644
index 0ffd0f924..000000000
--- a/java/res/xml/key_thai_kho_khuat.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <!-- U+0E05: "ฅ" THAI CHARACTER KHO KHON -->
- <Key
- latin:keyLabel="&#x0E05;"
- latin:keyLabelFlags="fontNormal" />
- </case>
- <default>
- <!-- U+0E03: "ฃ" THAI CHARACTER KHO KHUAT -->
- <Key
- latin:keyLabel="&#x0E03;"
- latin:keyLabelFlags="fontNormal" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/keyboard_layout_set_arabic.xml b/java/res/xml/keyboard_layout_set_arabic.xml
deleted file mode 100644
index 10e95bd30..000000000
--- a/java/res/xml/keyboard_layout_set_arabic.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_arabic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_azerty.xml b/java/res/xml/keyboard_layout_set_azerty.xml
deleted file mode 100644
index 4d144edbc..000000000
--- a/java/res/xml/keyboard_layout_set_azerty.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_azerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_10_10_7_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_10_10_7_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_bulgarian.xml b/java/res/xml/keyboard_layout_set_bulgarian.xml
deleted file mode 100644
index c6fdff9a2..000000000
--- a/java/res/xml/keyboard_layout_set_bulgarian.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_bulgarian"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_bulgarian_bds.xml b/java/res/xml/keyboard_layout_set_bulgarian_bds.xml
deleted file mode 100644
index a36b3bd52..000000000
--- a/java/res/xml/keyboard_layout_set_bulgarian_bds.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_bulgarian_bds"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_colemak.xml b/java/res/xml/keyboard_layout_set_colemak.xml
deleted file mode 100644
index c18f13225..000000000
--- a/java/res/xml/keyboard_layout_set_colemak.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_colemak"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_10_10_7_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_10_10_7_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_dvorak.xml b/java/res/xml/keyboard_layout_set_dvorak.xml
deleted file mode 100644
index eb8e0c539..000000000
--- a/java/res/xml/keyboard_layout_set_dvorak.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_dvorak"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_10_10_7_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_10_10_7_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_east_slavic.xml b/java/res/xml/keyboard_layout_set_east_slavic.xml
deleted file mode 100644
index 8d66faf8f..000000000
--- a/java/res/xml/keyboard_layout_set_east_slavic.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_east_slavic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_farsi.xml b/java/res/xml/keyboard_layout_set_farsi.xml
deleted file mode 100644
index b9a91e3a8..000000000
--- a/java/res/xml/keyboard_layout_set_farsi.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_farsi"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_georgian.xml b/java/res/xml/keyboard_layout_set_georgian.xml
deleted file mode 100644
index 36d091653..000000000
--- a/java/res/xml/keyboard_layout_set_georgian.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_georgian"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="alphabetAutomaticShifted"
- latin:elementKeyboard="@xml/kbd_georgian"
- latin:enableProximityCharsCorrection="true" />
- <!-- On these shifted alphabet layouts the proximity characters correction should be disabled
- because the letters on these layouts aren't the ones in different case of the above
- unshifted layouts. -->
- <Element
- latin:elementName="alphabetManualShifted"
- latin:elementKeyboard="@xml/kbd_georgian" />
- <Element
- latin:elementName="alphabetShiftLocked"
- latin:elementKeyboard="@xml/kbd_georgian" />
- <Element
- latin:elementName="alphabetShiftLockShifted"
- latin:elementKeyboard="@xml/kbd_georgian" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_greek.xml b/java/res/xml/keyboard_layout_set_greek.xml
deleted file mode 100644
index b376e4fe3..000000000
--- a/java/res/xml/keyboard_layout_set_greek.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_greek"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_hebrew.xml b/java/res/xml/keyboard_layout_set_hebrew.xml
deleted file mode 100644
index 212816dfe..000000000
--- a/java/res/xml/keyboard_layout_set_hebrew.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_hebrew"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_10_10_7_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_10_10_7_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_hindi.xml b/java/res/xml/keyboard_layout_set_hindi.xml
deleted file mode 100644
index e850c7ebc..000000000
--- a/java/res/xml/keyboard_layout_set_hindi.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_hindi"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="alphabetAutomaticShifted"
- latin:elementKeyboard="@xml/kbd_hindi"
- latin:enableProximityCharsCorrection="true" />
- <!-- On these shifted alphabet layouts the proximity characters correction should be disabled
- because the letters on these layouts aren't the ones in different case of the above
- unshifted layouts. -->
- <Element
- latin:elementName="alphabetManualShifted"
- latin:elementKeyboard="@xml/kbd_hindi" />
- <Element
- latin:elementName="alphabetShiftLocked"
- latin:elementKeyboard="@xml/kbd_hindi" />
- <Element
- latin:elementName="alphabetShiftLockShifted"
- latin:elementKeyboard="@xml/kbd_hindi" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_nordic.xml b/java/res/xml/keyboard_layout_set_nordic.xml
deleted file mode 100644
index 1f00f440e..000000000
--- a/java/res/xml/keyboard_layout_set_nordic.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_nordic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_pcqwerty.xml b/java/res/xml/keyboard_layout_set_pcqwerty.xml
deleted file mode 100644
index 9367ed00c..000000000
--- a/java/res/xml/keyboard_layout_set_pcqwerty.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_pcqwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_pcqwerty_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_pcqwerty_symbols" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_qwerty.xml b/java/res/xml/keyboard_layout_set_qwerty.xml
deleted file mode 100644
index 821517081..000000000
--- a/java/res/xml/keyboard_layout_set_qwerty.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwerty"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_qwertz.xml b/java/res/xml/keyboard_layout_set_qwertz.xml
deleted file mode 100644
index f9e87a66f..000000000
--- a/java/res/xml/keyboard_layout_set_qwertz.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_qwertz"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_south_slavic.xml b/java/res/xml/keyboard_layout_set_south_slavic.xml
deleted file mode 100644
index 36666b91b..000000000
--- a/java/res/xml/keyboard_layout_set_south_slavic.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_south_slavic"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_spanish.xml b/java/res/xml/keyboard_layout_set_spanish.xml
deleted file mode 100644
index 57cef5234..000000000
--- a/java/res/xml/keyboard_layout_set_spanish.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_spanish"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_10_10_7_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_10_10_7_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keyboard_layout_set_thai.xml b/java/res/xml/keyboard_layout_set_thai.xml
deleted file mode 100644
index 94713e3d4..000000000
--- a/java/res/xml/keyboard_layout_set_thai.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<KeyboardLayoutSet
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
- <Element
- latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_thai"
- latin:enableProximityCharsCorrection="true" />
- <Element
- latin:elementName="alphabetAutomaticShifted"
- latin:elementKeyboard="@xml/kbd_thai"
- latin:enableProximityCharsCorrection="true" />
- <!-- On these shifted alphabet layouts the proximity characters correction should be disabled
- because the letters on these layouts aren't the ones in different case of the above
- unshifted layouts. -->
- <Element
- latin:elementName="alphabetManualShifted"
- latin:elementKeyboard="@xml/kbd_thai" />
- <Element
- latin:elementName="alphabetShiftLocked"
- latin:elementKeyboard="@xml/kbd_thai" />
- <Element
- latin:elementName="alphabetShiftLockShifted"
- latin:elementKeyboard="@xml/kbd_thai" />
- <Element
- latin:elementName="symbols"
- latin:elementKeyboard="@xml/kbd_thai_symbols" />
- <Element
- latin:elementName="symbolsShifted"
- latin:elementKeyboard="@xml/kbd_thai_symbols_shift" />
- <Element
- latin:elementName="phone"
- latin:elementKeyboard="@xml/kbd_phone" />
- <Element
- latin:elementName="phoneSymbols"
- latin:elementKeyboard="@xml/kbd_phone_symbols" />
- <Element
- latin:elementName="number"
- latin:elementKeyboard="@xml/kbd_number" />
-</KeyboardLayoutSet>
diff --git a/java/res/xml/keys_curly_brackets.xml b/java/res/xml/keys_curly_brackets.xml
deleted file mode 100644
index 6a4b1a945..000000000
--- a/java/res/xml/keys_curly_brackets.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="{"
- latin:code="!code/key_left_curly_bracket" />
- <Key
- latin:keyLabel="}"
- latin:code="!code/key_right_curly_bracket" />
-</merge>
diff --git a/java/res/xml/keys_dvorak_123.xml b/java/res/xml/keys_dvorak_123.xml
deleted file mode 100644
index 60e6b6f0d..000000000
--- a/java/res/xml/keys_dvorak_123.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <Key
- latin:keyLabel="&quot;"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- </case>
- <case
- latin:mode="url"
- >
- <Key
- latin:keyLabel="/"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- </case>
- <case
- latin:mode="email"
- >
- <Key
- latin:keyLabel="\@"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- </case>
- <default>
- <Key
- latin:keyLabel="\'"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1"
- latin:moreKeys="!" />
- </default>
- </switch>
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <Key
- latin:keyLabel="&lt;"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2" />
- <Key
- latin:keyLabel="&gt;"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3" />
- </case>
- <default>
- <Key
- latin:keyLabel=","
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2"
- latin:moreKeys="\?" />
- <Key
- latin:keyLabel="."
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3"
- latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="!text/more_keys_for_punctuation,%" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/keys_less_greater.xml b/java/res/xml/keys_less_greater.xml
deleted file mode 100644
index bc9ecdf2f..000000000
--- a/java/res/xml/keys_less_greater.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:languageCode="fa"
- >
- <!-- U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
- <Key
- latin:keyLabel="&#x00AB;"
- latin:code="0x00BB"
- latin:moreKeys="!text/more_keys_for_less_than" />
- <Key
- latin:keyLabel="&#x00BB;"
- latin:code="0x00AB"
- latin:moreKeys="!text/more_keys_for_greater_than" />
- </case>
- <default>
- <Key
- latin:keyLabel="&lt;"
- latin:code="!code/key_less_than"
- latin:moreKeys="!text/more_keys_for_less_than" />
- <Key
- latin:keyLabel="&gt;"
- latin:code="!code/key_greater_than"
- latin:moreKeys="!text/more_keys_for_greater_than" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/keys_parentheses.xml b/java/res/xml/keys_parentheses.xml
deleted file mode 100644
index 25e89c930..000000000
--- a/java/res/xml/keys_parentheses.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="("
- latin:code="!code/key_left_parenthesis"
- latin:moreKeys="!text/more_keys_for_left_parenthesis" />
- <Key
- latin:keyLabel=")"
- latin:code="!code/key_right_parenthesis"
- latin:moreKeys="!text/more_keys_for_right_parenthesis" />
-</merge>
diff --git a/java/res/xml/keys_pcqwerty2_right3.xml b/java/res/xml/keys_pcqwerty2_right3.xml
deleted file mode 100644
index 2065e6b46..000000000
--- a/java/res/xml/keys_pcqwerty2_right3.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabet|alphabetAutomaticShifted"
- >
- <Key
- latin:keyLabel="["
- latin:moreKeys="{" />
- <Key
- latin:keyLabel="]"
- latin:moreKeys="}" />
- <!-- U+00A6: "¦" BROKEN BAR -->
- <Key
- latin:keyLabel="\\"
- latin:moreKeys="\\|,&#x00A6;" />
- </case>
- <!-- keyboardLayoutSetElement="alphabet*Shifted|symbols*" -->
- <default>
- <Key
- latin:keyLabel="{" />
- <Key
- latin:keyLabel="}" />
- <!-- U+00A6: "¦" BROKEN BAR -->
- <Key
- latin:keyLabel="|"
- latin:moreKeys="&#x00A6;" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/keys_pcqwerty3_right2.xml b/java/res/xml/keys_pcqwerty3_right2.xml
deleted file mode 100644
index fd9d3b8b0..000000000
--- a/java/res/xml/keys_pcqwerty3_right2.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabet|alphabetAutomaticShifted"
- >
- <Key
- latin:keyLabel=";"
- latin:moreKeys=":" />
- <Key
- latin:keyLabel="\'"
- latin:moreKeys="&quot;" />
- </case>
- <!-- keyboardLayoutSetElement="alphabet*Shifted|symbols*" -->
- <default>
- <Key
- latin:keyLabel=":" />
- <!-- U+2018: "‘" LEFT SINGLE QUOTATION MARK
- U+2019: "’" RIGHT SINGLE QUOTATION MARK
- U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
- U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
- U+201C: "“" LEFT DOUBLE QUOTATION MARK
- U+201D: "”" RIGHT DOUBLE QUOTATION MARK
- U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
- U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
- <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
- moreKeys="!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x2018;,&#x2019;,&#x201A;,&#x201B;" -->
- <Key
- latin:keyLabel="&quot;"
- latin:moreKeys="!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x2018;,&#x2019;,&#x201A;,&#x201B;" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/keys_pcqwerty4_right3.xml b/java/res/xml/keys_pcqwerty4_right3.xml
deleted file mode 100644
index 7795b3d8b..000000000
--- a/java/res/xml/keys_pcqwerty4_right3.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabet|alphabetAutomaticShifted"
- >
- <Key
- latin:keyLabel=","
- latin:moreKeys="&lt;" />
- <Key
- latin:keyLabel="."
- latin:moreKeys="&gt;" />
- <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
- <Key
- latin:keyLabel="/"
- latin:moreKeys="\?,&#x00BF;" />
- </case>
- <!-- keyboardLayoutSetElement="alphabet*Shifted|symbols*" -->
- <default>
- <!-- U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- U+2264: "≤" LESS-THAN OR EQUAL TO
- U+2265: "≥" GREATER-THAN EQUAL TO
- U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
- <Key
- latin:keyLabel="&lt;"
- latin:moreKeys="!fixedColumnOrder!3,&#x2039;,&#x2264;,&#x00AB;" />
- <Key
- latin:keyLabel="&gt;"
- latin:moreKeys="!fixedColumnOrder!3,&#x203A;,&#x2265;,&#x00BB;" />
- <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
- <Key
- latin:keyLabel="\?"
- latin:moreKeys="&#x00BF;" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/keys_pcqwerty_symbols1.xml b/java/res/xml/keys_pcqwerty_symbols1.xml
deleted file mode 100644
index bf48b1f17..000000000
--- a/java/res/xml/keys_pcqwerty_symbols1.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+00AC: "¬" NOT SIGN -->
- <Key
- latin:keyLabel="~"
- latin:moreKeys="&#x00AC;" />
- <!-- U+00A1: "¡" NVERTED EXCLAMATION MARK -->
- <Key
- latin:keyLabel="!"
- latin:moreKeys="&#x00A1;" />
- <Key
- latin:keyLabel="\@" />
- <Key
- latin:keyLabel="#" />
- <Key
- latin:keyLabel="$" />
- <!-- U+2030: "‰" PER MILLE SIGN -->
- <Key
- latin:keyLabel="%"
- latin:moreKeys="&#x2030;" />
- <Key
- latin:keyLabel="^" />
- <Key
- latin:keyLabel="&amp;" />
- <Key
- latin:keyLabel="*"
- latin:moreKeys="!text/more_keys_for_star" />
- <Key
- latin:keyLabel="(" />
- <Key
- latin:keyLabel=")" />
- <Key
- latin:keyLabel="_" />
- <Key
- latin:keyLabel="+" />
-</merge>
diff --git a/java/res/xml/keys_pcqwerty_symbols2.xml b/java/res/xml/keys_pcqwerty_symbols2.xml
deleted file mode 100644
index d0ea984e8..000000000
--- a/java/res/xml/keys_pcqwerty_symbols2.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+2022: "•" BULLET -->
- <Key
- latin:keyLabel="&#x2022;"
- latin:moreKeys="!text/more_keys_for_bullet" />
- <!-- U+00B1: "±" PLUS-MINUS SIGN -->
- <Key
- latin:keyLabel="&#x00B1;" />
- <!-- U+00AC: "¬" NOT SIGN -->
- <Key
- latin:keyLabel="&#x00AC;" />
- <!-- U+00A6: "¦" BROKEN BAR -->
- <Key
- latin:keyLabel="&#x00A6;" />
- <!-- U+221A: "√" SQUARE ROOT -->
- <Key
- latin:keyLabel="&#x221A;" />
- <!-- U+03C0: "π" GREEK SMALL LETTER PI
- U+03A0: "Π" GREEK CAPITAL LETTER PI -->
- <Key
- latin:keyLabel="&#x03C0;"
- latin:moreKeys="&#x03A0;" />
- <!-- U+03CC: "σ" GREEK SMALL LETTER SIGMA
- U+03A3: "Σ" GREEK CAPITAL LETTER SIGMA -->
- <Key
- latin:keyLabel="&#x03C3;"
- latin:moreKeys="&#x03A3;" />
- <!-- U+00B5: "µ" MICRO SIGN -->
- <Key
- latin:keyLabel="&#x00B5;" />
- <!-- U+00F7: "÷" DIVISION SIGN -->
- <Key
- latin:keyLabel="&#x00F7;" />
- <!-- U+00D7: "×" MULTIPLICATION SIGN -->
- <Key
- latin:keyLabel="&#x00D7;" />
-</merge>
diff --git a/java/res/xml/keys_pcqwerty_symbols3.xml b/java/res/xml/keys_pcqwerty_symbols3.xml
deleted file mode 100644
index 35279deaf..000000000
--- a/java/res/xml/keys_pcqwerty_symbols3.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+00A3: "£" POUND SIGN; -->
- <Key
- latin:keyLabel="&#x00A3;" />
- <!-- U+00A2: "¢" CENT SIGN -->
- <Key
- latin:keyLabel="&#x00A2;" />
- <!-- U+20AC: "€" EURO SIGN -->
- <Key
- latin:keyLabel="&#x20AC;" />
- <!-- U+00A5: "¥" YEN SIGN -->
- <Key
- latin:keyLabel="&#x00A5;" />
- <!-- U+00A4: "¤" CURRENCY SIGN -->
- <Key
- latin:keyLabel="&#x00A4;" />
- <!-- U+00B0: "°" DEGREE SIGN
- U+2032: "′" PRIME
- U+2033: "″" DOUBLE PRIME -->
- <Key
- latin:keyLabel="&#x00B0;"
- latin:moreKeys="&#x2032;,&#x2033;" />
- <!-- U+2260: "≠" NOT EQUAL TO -->
- <Key
- latin:keyLabel="&#x2260;" />
- <!-- U+2248: "≈" ALMOST EQUAL TO -->
- <Key
- latin:keyLabel="&#x2248;" />
- <!-- U+221E: "∞" INFINITY -->
- <Key
- latin:keyLabel="&#x221E;" />
-</merge>
diff --git a/java/res/xml/keys_pcqwerty_symbols4.xml b/java/res/xml/keys_pcqwerty_symbols4.xml
deleted file mode 100644
index 3c628f0e0..000000000
--- a/java/res/xml/keys_pcqwerty_symbols4.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+2122: "™" TRADE MARK SIGN -->
- <Key
- latin:keyLabel="&#x2122;" />
- <!-- U+00AE: "®" REGISTERED SIGN -->
- <Key
- latin:keyLabel="&#x00AE;" />
- <!-- U+00A9: "©" COPYRIGHT SIGN -->
- <Key
- latin:keyLabel="&#x00A9;" />
- <!-- U+00B6: "¶" PILCROW SIGN -->
- <Key
- latin:keyLabel="&#x00B6;" />
- <!-- U+00A7: "§" SECTION SIGN -->
- <Key
- latin:keyLabel="&#x00A7;" />
- <!-- U+2191: "↑" UPWARDS ARROW
- U+2193: "↓" DOWNWARDS ARROW
- U+2190: "←" LEFTWARDS ARROW
- U+2192: "→" RIGHTWARDS ARROW -->
- <Key
- latin:keyLabel="&#x2191;"
- latin:moreKeys="&#x2193;" />
- <Key
- latin:keyLabel="&#x2190;"
- latin:moreKeys="&#x2192;" />
-</merge>
diff --git a/java/res/xml/keys_square_brackets.xml b/java/res/xml/keys_square_brackets.xml
deleted file mode 100644
index 5c128fd0c..000000000
--- a/java/res/xml/keys_square_brackets.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="["
- latin:code="!code/key_left_square_bracket" />
- <Key
- latin:keyLabel="]"
- latin:code="!code/key_right_square_bracket" />
-</merge>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
deleted file mode 100644
index 7a8c6a9ba..000000000
--- a/java/res/xml/method.xml
+++ /dev/null
@@ -1,461 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/**
- * Copyright (c) 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<!-- The attributes in this XML file provide configuration information -->
-<!-- for the Input Method Manager. -->
-
-<!-- Supported subtypes
- keyboard_locale: script_name/keyboard_layout_set[:keyboard_locale]
- af: Afrikaans/qwerty
- ar: Arabic/arabic
- be: Belarusian/east_slavic
- bg: Bulgarian/bulgarian
- bg: Bulgarian/bulgarian_bds
- ca: Catalan/spanish
- cs: Czech/qwertz
- da: Danish/nordic
- de: German/qwertz
- el: Greek/greek
- en_US: English United States/qwerty
- en_GB: English Great Britain/qwerty
- eo: Esperanto/spanish
- es: Spanish/spanish
- et: Estonian/nordic
- fa: Persian/arabic
- fi: Finnish/nordic
- fr: French/azerty
- fr_CA: French Canada/qwerty
- hi: Hindi/hindi
- hr: Croatian/qwertz
- hu: Hungarian/qwertz
- in: Indonesian/qwerty # "id" is official language code of Indonesian.
- is: Icelandic/qwerty
- it: Italian/qwerty
- iw: Hebrew/hebrew # "he" is official language code of Hebrew.
- ka: Georgian/georgian
- ky: Kyrgyz/east_slavic
- lt: Lithuanian/qwerty
- lv: Latvian/qwerty
- mk: Macedonian/south_slavic
- ms: Malay/qwerty
- nb: Norwegian Bokmål/nordic
- nl: Dutch/qwerty
- pl: Polish/qwerty
- pt_BR: Portuguese Brazil/qwerty
- pt_PT: Portuguese Portugal/qwerty
- ro: Romanian/qwerty
- ru: Russian/east_slavic
- sk: Slovak/qwerty
- sl: Slovenian/qwerty
- sr: Serbian/south_slavic
- (sr-Latn: Serbian/qwerty) # not yet implemented.
- sv: Swedish/nordic
- sw: Swahili/qwerty
- th: Thai/thai
- tl: Tagalog/spanish
- tr: Turkish/qwerty
- uk: Ukrainian/east_slavic
- vi: Vietnamese/qwerty
- zu: Zulu/qwerty
- zz: QWERTY/qwerty
- -->
-<!-- TODO: use <lang>_keyboard icon instead of a common keyboard icon. -->
-<!-- Note: SupportTouchPositionCorrection extra value is obsolete and maintained for backward
- compatibility. -->
-<!-- If IME doesn't have an applicable subtype, the first subtype will be used as a default
- subtype.-->
-<input-method xmlns:android="http://schemas.android.com/apk/res/android"
- android:settingsActivity="com.android.inputmethod.latin.SettingsActivity"
- android:isDefault="@bool/im_is_default">
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_en_US"
- android:subtypeId="-921088104"
- android:imeSubtypeLocale="en_US"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="TrySuppressingImeSwitcher,AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_en_GB"
- android:subtypeId="-1337596075"
- android:imeSubtypeLocale="en_GB"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="TrySuppressingImeSwitcher,AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1872175968"
- android:imeSubtypeLocale="af"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1494081088"
- android:imeSubtypeLocale="ar"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="499361881"
- android:imeSubtypeLocale="be"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="195674344"
- android:imeSubtypeLocale="bg"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=bulgarian"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_bulgarian_bds"
- android:subtypeId="1599191706"
- android:imeSubtypeLocale="bg"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=bulgarian_bds"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-756735787"
- android:imeSubtypeLocale="ca"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="758984400"
- android:imeSubtypeLocale="cs"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="770990173"
- android:imeSubtypeLocale="da"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="774684257"
- android:imeSubtypeLocale="de"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="242746067"
- android:imeSubtypeLocale="el"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=greek"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1083200842"
- android:imeSubtypeLocale="eo"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="816242702"
- android:imeSubtypeLocale="es"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-332580523"
- android:imeSubtypeLocale="et"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=nordic,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-1100561836"
- android:imeSubtypeLocale="fa"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=farsi"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="835636643"
- android:imeSubtypeLocale="fi"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="843948332"
- android:imeSubtypeLocale="fr"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-354699631"
- android:imeSubtypeLocale="fr_CA"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="963984255"
- android:imeSubtypeLocale="hi"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=hindi"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="901206634"
- android:imeSubtypeLocale="hr"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="903977197"
- android:imeSubtypeLocale="hu"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <!-- Java uses the deprecated "in" code instead of the standard "id" code for Indonesian. -->
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="2108597344"
- android:imeSubtypeLocale="in"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="2113214949"
- android:imeSubtypeLocale="is"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="931682827"
- android:imeSubtypeLocale="it"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <!-- Java uses the deprecated "iw" code instead of the standard "he" code for Hebrew. -->
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1727731901"
- android:imeSubtypeLocale="iw"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1846648426"
- android:imeSubtypeLocale="ka"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=georgian"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="775494660"
- android:imeSubtypeLocale="ky"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-2094941373"
- android:imeSubtypeLocale="lt"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-2093094331"
- android:imeSubtypeLocale="lv"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-1353667716"
- android:imeSubtypeLocale="mk"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=south_slavic"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-2067235743"
- android:imeSubtypeLocale="ms"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1058205204"
- android:imeSubtypeLocale="nb"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1067440414"
- android:imeSubtypeLocale="nl"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1124698716"
- android:imeSubtypeLocale="pl"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-889195354"
- android:imeSubtypeLocale="pt_BR"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-486540198"
- android:imeSubtypeLocale="pt_PT"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-1927784072"
- android:imeSubtypeLocale="ro"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1983547218"
- android:imeSubtypeLocale="ru"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-1902849005"
- android:imeSubtypeLocale="sk"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-1901925484"
- android:imeSubtypeLocale="sl"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="2009405806"
- android:imeSubtypeLocale="sr"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="SupportTouchPositionCorrection"
- />
- <!-- TODO: Uncomment once we can handle IETF language tag with script name specified.
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_serbian_cyrillic"
- android:subtypeId="XXXXXX"
- android:imeSubtypeLocale="sr"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_serbian_latin"
- android:subtypeId="XXXXXX"
- android:imeSubtypeLocale="sr-Latn"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- -->
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1219821379"
- android:imeSubtypeLocale="sv"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-1891766753"
- android:imeSubtypeLocale="sw"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="529847764"
- android:imeSubtypeLocale="th"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=thai"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-259881489"
- android:imeSubtypeLocale="tl"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=spanish,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1244756446"
- android:imeSubtypeLocale="tr"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="1048856876"
- android:imeSubtypeLocale="uk"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-1818808594"
- android:imeSubtypeLocale="vi"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_generic"
- android:subtypeId="-1693209738"
- android:imeSubtypeLocale="zu"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable"
- />
- <subtype android:icon="@drawable/ic_subtype_keyboard"
- android:label="@string/subtype_no_language_qwerty"
- android:subtypeId="-1573262419"
- android:imeSubtypeLocale="zz"
- android:imeSubtypeMode="keyboard"
- android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EnabledWhenDefaultIsNotAsciiCapable"
- />
-</input-method>
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
deleted file mode 100644
index 3e83fc0fc..000000000
--- a/java/res/xml/prefs.xml
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<PreferenceScreen
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="@string/english_ime_settings"
- android:key="english_ime_settings">
- <PreferenceCategory
- android:title="@string/general_category"
- android:key="general_settings">
- <CheckBoxPreference
- android:key="auto_cap"
- android:title="@string/auto_cap"
- android:persistent="true"
- android:defaultValue="true" />
- <CheckBoxPreference
- android:key="vibrate_on"
- android:title="@string/vibrate_on_keypress"
- android:defaultValue="@bool/config_default_vibration_enabled"
- android:persistent="true" />
- <CheckBoxPreference
- android:key="sound_on"
- android:title="@string/sound_on_keypress"
- android:defaultValue="@bool/config_default_sound_enabled"
- android:persistent="true" />
- <CheckBoxPreference
- android:key="popup_on"
- android:title="@string/popup_on_keypress"
- android:persistent="true"
- android:defaultValue="@bool/config_default_popup_preview" />
- <ListPreference
- android:key="voice_mode"
- android:title="@string/voice_input"
- android:persistent="true"
- android:entryValues="@array/voice_input_modes_values"
- android:entries="@array/voice_input_modes"
- android:defaultValue="@string/voice_mode_main" />
- </PreferenceCategory>
- <PreferenceCategory
- android:title="@string/correction_category"
- android:key="correction_settings">
- <PreferenceScreen
- android:key="configure_dictionaries_key"
- android:title="@string/configure_dictionaries_title">
- <intent
- android:action="android.intent.action.MAIN"
- android:targetPackage="@string/dictionary_pack_package_name"
- android:targetClass="@string/dictionary_pack_settings_activity" />
- </PreferenceScreen>
- <ListPreference
- android:key="auto_correction_threshold"
- android:title="@string/auto_correction"
- android:summary="@string/auto_correction_summary"
- android:persistent="true"
- android:entryValues="@array/auto_correction_threshold_mode_indexes"
- android:entries="@array/auto_correction_threshold_modes"
- android:defaultValue="@string/auto_correction_threshold_mode_index_modest" />
- <ListPreference
- android:key="show_suggestions_setting"
- android:summary="@string/prefs_show_suggestions_summary"
- android:title="@string/prefs_show_suggestions"
- android:persistent="true"
- android:entryValues="@array/prefs_suggestion_visibility_values"
- android:entries="@array/prefs_suggestion_visibilities"
- android:defaultValue="@string/prefs_suggestion_visibility_default_value" />
- </PreferenceCategory>
- <PreferenceCategory
- android:title="@string/misc_category"
- android:key="misc_settings">
- <CheckBoxPreference
- android:key="next_word_prediction"
- android:title="@string/bigram_prediction"
- android:summary="@string/bigram_prediction_summary"
- android:persistent="true"
- android:defaultValue="true" />
- <CheckBoxPreference
- android:key="gesture_input"
- android:title="@string/gesture_input"
- android:summary="@string/gesture_input_summary"
- android:persistent="true"
- android:defaultValue="true" />
- <CheckBoxPreference
- android:key="usability_study_mode"
- android:title="@string/prefs_usability_study_mode"
- android:persistent="true"
- android:defaultValue="false" />
- <PreferenceScreen
- android:key="pref_advanced_settings"
- android:title="@string/advanced_settings"
- android:summary="@string/advanced_settings_summary">
- <CheckBoxPreference
- android:key="pref_key_use_contacts_dict"
- android:title="@string/use_contacts_dict"
- android:summary="@string/use_contacts_dict_summary"
- android:persistent="true"
- android:defaultValue="true" />
- <CheckBoxPreference
- android:key="pref_show_language_switch_key"
- android:title="@string/show_language_switch_key"
- android:summary="@string/show_language_switch_key_summary"
- android:persistent="true"
- android:defaultValue="true" />
- <CheckBoxPreference
- android:key="pref_include_other_imes_in_language_switch_list"
- android:title="@string/include_other_imes_in_language_switch_list"
- android:summary="@string/include_other_imes_in_language_switch_list_summary"
- android:persistent="true"
- android:defaultValue="false" />
- <PreferenceScreen
- android:fragment="com.android.inputmethod.latin.AdditionalSubtypeSettings"
- android:key="custom_input_styles"
- android:title="@string/custom_input_styles_title" />
- <!-- Values for popup dismiss delay are added programatically -->
- <ListPreference
- android:key="pref_key_preview_popup_dismiss_delay"
- android:title="@string/key_preview_popup_dismiss_delay" />
- <PreferenceScreen
- android:key="pref_vibration_duration_settings"
- android:title="@string/prefs_keypress_vibration_duration_settings"/>
- <PreferenceScreen
- android:key="pref_keypress_sound_volume"
- android:title="@string/prefs_keypress_sound_volume_settings" />
- <CheckBoxPreference
- android:key="pref_gesture_preview_trail"
- android:title="@string/gesture_preview_trail"
- android:persistent="true"
- android:defaultValue="true" />
- <CheckBoxPreference
- android:key="pref_show_gesture_floating_preview_text"
- android:title="@string/gesture_floating_preview_text"
- android:summary="@string/gesture_floating_preview_text_summary"
- android:persistent="true"
- android:defaultValue="false" />
- </PreferenceScreen>
- </PreferenceCategory>
-</PreferenceScreen>
diff --git a/java/res/xml/prefs_for_debug.xml b/java/res/xml/prefs_for_debug.xml
deleted file mode 100644
index b926ed065..000000000
--- a/java/res/xml/prefs_for_debug.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="@string/prefs_debug_mode"
- android:key="english_ime_debug_settings">
-
- <CheckBoxPreference
- android:key="enable_logging"
- android:title="@string/prefs_enable_log"
- android:summary="@string/prefs_description_log"
- android:persistent="true"
- android:defaultValue="false"
- />
-
- <ListPreference
- android:key="pref_keyboard_layout_20110916"
- android:title="@string/keyboard_layout"
- android:persistent="true"
- android:entryValues="@array/keyboard_layout_modes_values"
- android:entries="@array/keyboard_layout_modes"
- android:defaultValue="@string/config_default_keyboard_theme_index"
- />
-
- <CheckBoxPreference
- android:key="debug_mode"
- android:title="@string/prefs_debug_mode"
- android:persistent="true"
- android:defaultValue="false"
- />
-
- <CheckBoxPreference
- android:key="force_non_distinct_multitouch"
- android:title="@string/prefs_force_non_distinct_multitouch"
- android:persistent="true"
- android:defaultValue="false"
- />
-</PreferenceScreen>
diff --git a/java/res/xml/row_dvorak4.xml b/java/res/xml/row_dvorak4.xml
deleted file mode 100644
index 69bac1358..000000000
--- a/java/res/xml/row_dvorak4.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyWidth="15%p" />
- <switch>
- <case
- latin:hasShortcutKey="true"
- latin:keyboardLayoutSetElement="alphabet"
- >
- <Key
- latin:keyLabel="q"
- latin:backgroundType="normal"
- latin:additionalMoreKeys="!text/shortcut_as_more_key"
- latin:keyStyle="f1MoreKeysStyle" />
- </case>
- <case
- latin:hasShortcutKey="true"
- >
- <Key
- latin:keyLabel="Q"
- latin:backgroundType="normal"
- latin:additionalMoreKeys="!text/shortcut_as_more_key"
- latin:keyStyle="f1MoreKeysStyle" />
- </case>
- <!-- latin:hasShortcutKey="false" -->
- <case
- latin:keyboardLayoutSetElement="alphabet"
- >
- <Key
- latin:keyLabel="q"
- latin:backgroundType="normal"
- latin:keyStyle="f1MoreKeysStyle" />
- </case>
- <default>
- <Key
- latin:keyLabel="Q"
- latin:backgroundType="normal"
- latin:keyStyle="f1MoreKeysStyle" />
- </default>
- </switch>
- <include
- latin:keyXPos="25%p"
- latin:keyboardLayout="@xml/key_space" />
- <Key
- latin:keyLabel="z"
- latin:moreKeys="!text/more_keys_for_z" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml/row_pcqwerty5.xml b/java/res/xml/row_pcqwerty5.xml
deleted file mode 100644
index a8940af6e..000000000
--- a/java/res/xml/row_pcqwerty5.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="7.692%p"
- >
- <switch>
- <case
- latin:keyboardLayoutSetElement="symbols|symbolsShifted"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyWidth="11.538%p" />
- </case>
- <!-- keyboardLayoutSetElement="alphabet*" -->
- <default>
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyIcon="!icon/undefined"
- latin:keyLabel="!text/label_to_symbol_key_pcqwerty"
- latin:keyWidth="11.538%p" />
- </default>
- </switch>
- <switch>
- <case
- latin:shortcutKeyEnabled="true"
- >
- <Key
- latin:keyStyle="shortcutKeyStyle" />
- </case>
- <case
- latin:clobberSettingsKey="false"
- >
- <Key
- latin:keyStyle="settingsKeyStyle" />
- </case>
- </switch>
- <switch>
- <case
- latin:languageSwitchKeyEnabled="true"
- >
- <Key
- latin:keyStyle="languageSwitchKeyStyle"
- latin:keyXPos="19.230%p" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="53.844%p" />
- </case>
- <!-- languageSwitchKeyEnabled="false" -->
- <default>
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyXPos="19.230%p"
- latin:keyWidth="61.536%p" />
- </default>
- </switch>
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml/row_qwerty4.xml b/java/res/xml/row_qwerty4.xml
deleted file mode 100644
index c29fbf2f1..000000000
--- a/java/res/xml/row_qwerty4.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyWidth="15%p" />
- <include
- latin:keyboardLayout="@xml/key_f1" />
- <include
- latin:keyXPos="25%p"
- latin:keyboardLayout="@xml/key_space" />
- <switch>
- <case
- latin:languageCode="ar|fa"
- >
- <Key
- latin:keyHintLabel="!text/keyhintlabel_for_arabic_diacritics"
- latin:keyLabelFlags="hasPopupHint|hasShiftedLetterHint"
- latin:moreKeys="!text/more_keys_for_arabic_diacritics"
- latin:keyStyle="punctuationKeyStyle" />
- </case>
- <default>
- <Key
- latin:keyStyle="punctuationKeyStyle" />
- </default>
- </switch>
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml/row_symbols4.xml b/java/res/xml/row_symbols4.xml
deleted file mode 100644
index 150ad486c..000000000
--- a/java/res/xml/row_symbols4.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyWidth="15%p" />
- <switch>
- <case
- latin:hasShortcutKey="true"
- >
- <Key
- latin:keyStyle="shortcutKeyStyle" />
- </case>
- <!-- latin:hasShortcutKey="false" -->
- <default>
- <Key
- latin:keyLabel="!text/keylabel_for_comma"
- latin:keyLabelFlags="hasPopupHint"
- latin:additionalMoreKeys="!text/more_keys_for_comma"
- latin:keyStyle="f1MoreKeysStyle" />
- </default>
- </switch>
- <include
- latin:keyXPos="25%p"
- latin:keyboardLayout="@xml/key_space" />
- <Key
- latin:keyStyle="punctuationKeyStyle" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml/row_symbols_shift4.xml b/java/res/xml/row_symbols_shift4.xml
deleted file mode 100644
index 1bfb5ecd1..000000000
--- a/java/res/xml/row_symbols_shift4.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyWidth="15%p" />
- <!-- U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
- <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
- <!-- latin:keyLabelFlags="hasPopupHint" -->
- <!-- latin:moreKeys="&#x201F;" -->
- <!-- U+201E: "„" DOUBLE LOW-9 QUOTATION MARK -->
- <Key
- latin:keyLabel="&#x201E;"
- latin:backgroundType="functional" />
- <include
- latin:keyXPos="25%p"
- latin:keyboardLayout="@xml/key_space" />
- <!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
- <Key
- latin:keyLabel="&#x2026;"
- latin:backgroundType="functional" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml/rowkeys_arabic1.xml b/java/res/xml/rowkeys_arabic1.xml
deleted file mode 100644
index a4bef83c6..000000000
--- a/java/res/xml/rowkeys_arabic1.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0636: "ض" ARABIC LETTER DAD
- U+0661: "١" ARABIC-INDIC DIGIT ONE -->
- <Key
- latin:keyLabel="&#x0636;"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1,&#x0661;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0635: "ص" ARABIC LETTER SAD
- U+0662: "٢" ARABIC-INDIC DIGIT TWO -->
- <Key
- latin:keyLabel="&#x0635;"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2,&#x0662;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0642: "ق" ARABIC LETTER QAF
- U+06A8: "ڨ" ARABIC LETTER QAF WITH THREE DOTS ABOVE
- U+0663: "٣" ARABIC-INDIC DIGIT THREE -->
- <!-- TODO: DroidSansArabic lacks the glyph of U+06A8 ARABIC LETTER QAF WITH THREE DOTS ABOVE -->
- <Key
- latin:keyLabel="&#x0642;"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3,&#x0663;"
- latin:moreKeys="&#x06A8;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0641: "ف" ARABIC LETTER FEH
- U+06A4: "ڤ" ARABIC LETTER VEH
- U+06A2: "ڢ" ARABIC LETTER FEH WITH DOT MOVED BELOW
- U+06A5: "ڥ" ARABIC LETTER FEH WITH THREE DOTS BELOW
- U+0664: "٤" ARABIC-INDIC DIGIT FOUR -->
- <!-- TODO: DroidSansArabic lacks the glyph of U+06A2 ARABIC LETTER FEH WITH DOT MOVED BELOW -->
- <!-- TODO: DroidSansArabic lacks the glyph of U+06A5 ARABIC LETTER FEH WITH THREE DOTS BELOW -->
- <Key
- latin:keyLabel="&#x0641;"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4,&#x0664;"
- latin:moreKeys="&#x06A4;,&#x06A2;,&#x06A5;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+063A: "غ" ARABIC LETTER GHAIN
- U+0665: "٥" ARABIC-INDIC DIGIT FIVE -->
- <Key
- latin:keyLabel="&#x063A;"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5,&#x0665;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0639: "ع" ARABIC LETTER AIN
- U+0666: "٦" ARABIC-INDIC DIGIT SIX -->
- <Key
- latin:keyLabel="&#x0639;"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6,&#x0666;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0647: "ه" ARABIC LETTER HEH
- U+FEEB: "ﻫ" ARABIC LETTER HEH INITIAL FORM
- U+0647 U+200D: ARABIC LETTER HEH + ZERO WIDTH JOINER
- U+0667: "٧" ARABIC-INDIC DIGIT SEVEN -->
- <Key
- latin:keyLabel="&#x0647;"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7,&#x0667;"
- latin:moreKeys="&#xFEEB;|&#x0647;&#x200D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062E: "خ" ARABIC LETTER KHAH
- U+0668: "٨" ARABIC-INDIC DIGIT EIGHT -->
- <Key
- latin:keyLabel="&#x062E;"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8,&#x0668;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062D: "ح" ARABIC LETTER HAH
- U+0669: "٩" ARABIC-INDIC DIGIT NINE -->
- <Key
- latin:keyLabel="&#x062D;"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9,&#x0669;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062C: "ج" ARABIC LETTER JEEM
- U+0686: "چ" ARABIC LETTER TCHEH
- U+0660: "٠" ARABIC-INDIC DIGIT ZERO -->
- <Key
- latin:keyLabel="&#x062C;"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0,&#x0660;"
- latin:moreKeys="&#x0686;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml/rowkeys_arabic2.xml b/java/res/xml/rowkeys_arabic2.xml
deleted file mode 100644
index d733f6411..000000000
--- a/java/res/xml/rowkeys_arabic2.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0634: "ش" ARABIC LETTER SHEEN
- U+069C: "ڜ" ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE -->
- <!-- TODO: DroidSansArabic lacks the glyph of U+069C ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE -->
- <Key
- latin:keyLabel="&#x0634;"
- latin:moreKeys="&#x069C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0633: "س" ARABIC LETTER SEEN -->
- <Key
- latin:keyLabel="&#x0633;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+064A: "ي" ARABIC LETTER YEH
- U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
- U+0649: "ى" ARABIC LETTER ALEF MAKSURA -->
- <Key
- latin:keyLabel="&#x064A;"
- latin:moreKeys="&#x0626;,&#x0649;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0628: "ب" ARABIC LETTER BEH
- U+067E: "پ" ARABIC LETTER PEH -->
- <Key
- latin:keyLabel="&#x0628;"
- latin:moreKeys="&#x067E;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0644: "ل" ARABIC LETTER LAM
- U+FEFB: "ﻻ" ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
- U+0627: "ا" ARABIC LETTER ALEF
- U+FEF7: "ﻷ" ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
- U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
- U+FEF9: "ﻹ" ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
- U+0625: "إ" ARABIC LETTER ALEF WITH HAMZA BELOW
- U+FEF5: "ﻵ" ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
- U+0622: "آ" ARABIC LETTER ALEF WITH MADDA ABOVE -->
- <Key
- latin:keyLabel="&#x0644;"
- latin:moreKeys="&#xFEFB;|&#x0644;&#x0627;,&#xFEF7;|&#x0644;&#x0623;,&#xFEF9;|&#x0644;&#x0625;,&#xFEF5;|&#x0644;&#x0622;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0627: "ا" ARABIC LETTER ALEF
- U+0621: "ء" ARABIC LETTER HAMZA
- U+0671: "ٱ" ARABIC LETTER ALEF WASLA
- U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
- U+0625: "إ" ARABIC LETTER ALEF WITH HAMZA BELOW
- U+0622: "آ" ARABIC LETTER ALEF WITH MADDA ABOVE -->
- <Key
- latin:keyLabel="&#x0627;"
- latin:moreKeys="&#x0621;,&#x0671;,&#x0623;,&#x0625;,&#x0622;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062A: "ت" ARABIC LETTER TEH
- U+062B: "ﺙ" ARABIC LETTER THEH -->
- <Key
- latin:keyLabel="&#x062A;"
- latin:moreKeys="&#x062B;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0646: "ن" ARABIC LETTER NOON -->
- <Key
- latin:keyLabel="&#x0646;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0645: "م" ARABIC LETTER MEEM -->
- <Key
- latin:keyLabel="&#x0645;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0643: "ك" ARABIC LETTER KAF
- U+06AF: "گ" ARABIC LETTER GAF
- U+06A9: "ک" ARABIC LETTER KEHEH -->
- <Key
- latin:keyLabel="&#x0643;"
- latin:moreKeys="&#x06AF;,&#x06A9;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml/rowkeys_arabic3.xml b/java/res/xml/rowkeys_arabic3.xml
deleted file mode 100644
index e4e694812..000000000
--- a/java/res/xml/rowkeys_arabic3.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0638: "ظ" ARABIC LETTER ZAH -->
- <Key
- latin:keyLabel="&#x0638;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0637: "ط" ARABIC LETTER TAH -->
- <Key
- latin:keyLabel="&#x0637;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0630: "ذ" ARABIC LETTER THAL -->
- <Key
- latin:keyLabel="&#x0630;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062F: "د" ARABIC LETTER DAL -->
- <Key
- latin:keyLabel="&#x062F;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0632: "ز" ARABIC LETTER ZAIN
- U+0698: "ژ" ARABIC LETTER JEH -->
- <Key
- latin:keyLabel="&#x0632;"
- latin:moreKeys="&#x0698;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0631: "ر" ARABIC LETTER REH -->
- <Key
- latin:keyLabel="&#x0631;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0629: "ة" ARABIC LETTER TEH MARBUTA -->
- <Key
- latin:keyLabel="&#x0629;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0648: "و" ARABIC LETTER WAW
- U+0624: "ﺅ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
- <Key
- latin:keyLabel="&#x0648;"
- latin:moreKeys="&#x0624;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml/rowkeys_azerty1.xml b/java/res/xml/rowkeys_azerty1.xml
deleted file mode 100644
index 42b27463f..000000000
--- a/java/res/xml/rowkeys_azerty1.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="a"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1"
- latin:moreKeys="!text/more_keys_for_a" />
- <Key
- latin:keyLabel="z"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2"
- latin:moreKeys="!text/more_keys_for_z" />
- <Key
- latin:keyLabel="e"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3"
- latin:moreKeys="!text/more_keys_for_e" />
- <Key
- latin:keyLabel="r"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4"
- latin:moreKeys="!text/more_keys_for_r" />
- <Key
- latin:keyLabel="t"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5"
- latin:moreKeys="!text/more_keys_for_t" />
- <Key
- latin:keyLabel="y"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6"
- latin:moreKeys="!text/more_keys_for_y" />
- <Key
- latin:keyLabel="u"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7"
- latin:moreKeys="!text/more_keys_for_u" />
- <Key
- latin:keyLabel="i"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8"
- latin:moreKeys="!text/more_keys_for_i" />
- <Key
- latin:keyLabel="o"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9"
- latin:moreKeys="!text/more_keys_for_o" />
- <Key
- latin:keyLabel="p"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
-</merge>
diff --git a/java/res/xml/rowkeys_azerty2.xml b/java/res/xml/rowkeys_azerty2.xml
deleted file mode 100644
index 2eee214e5..000000000
--- a/java/res/xml/rowkeys_azerty2.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="q" />
- <Key
- latin:keyLabel="s"
- latin:moreKeys="!text/more_keys_for_s" />
- <Key
- latin:keyLabel="d"
- latin:moreKeys="!text/more_keys_for_d" />
- <Key
- latin:keyLabel="f" />
- <Key
- latin:keyLabel="g"
- latin:moreKeys="!text/more_keys_for_g" />
- <Key
- latin:keyLabel="h"
- latin:moreKeys="!text/more_keys_for_h" />
- <Key
- latin:keyLabel="j"
- latin:moreKeys="!text/more_keys_for_j" />
- <Key
- latin:keyLabel="k"
- latin:moreKeys="!text/more_keys_for_k" />
- <Key
- latin:keyLabel="l"
- latin:moreKeys="!text/more_keys_for_l" />
- <Key
- latin:keyLabel="m" />
-</merge>
diff --git a/java/res/xml/rowkeys_azerty3.xml b/java/res/xml/rowkeys_azerty3.xml
deleted file mode 100644
index 9f4c608f8..000000000
--- a/java/res/xml/rowkeys_azerty3.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="w"
- latin:moreKeys="!text/more_keys_for_w" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="c"
- latin:moreKeys="!text/more_keys_for_c" />
- <Key
- latin:keyLabel="v"
- latin:moreKeys="!text/more_keys_for_v" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="n"
- latin:moreKeys="!text/more_keys_for_n" />
- <include
- latin:keyboardLayout="@xml/key_azerty_quote" />
-</merge>
diff --git a/java/res/xml/rowkeys_bulgarian1.xml b/java/res/xml/rowkeys_bulgarian1.xml
deleted file mode 100644
index 441b079f1..000000000
--- a/java/res/xml/rowkeys_bulgarian1.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+044F: "я" CYRILLIC SMALL LETTER YA -->
- <Key
- latin:keyLabel="&#x044F;"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
- <Key
- latin:keyLabel="&#x0432;"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2" />
- <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
- <Key
- latin:keyLabel="&#x0435;"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3" />
- <!-- U+0440: "р" CYRILLIC SMALL LETTER ER -->
- <Key
- latin:keyLabel="&#x0440;"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4" />
- <!-- U+0442: "т" CYRILLIC SMALL LETTER TE -->
- <Key
- latin:keyLabel="&#x0442;"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5" />
- <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
- <Key
- latin:keyLabel="&#x044A;"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6" />
- <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
- <Key
- latin:keyLabel="&#x0443;"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7" />
- <!-- U+0438: "и" CYRILLIC SMALL LETTER I
- U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE -->
- <Key
- latin:keyLabel="&#x0438;"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8"
- latin:moreKeys="&#x045D;" />
- <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
- <Key
- latin:keyLabel="&#x043E;"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9" />
- <!-- U+043F: "п" CYRILLIC SMALL LETTER PE -->
- <Key
- latin:keyLabel="&#x043F;"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
- <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
- <Key
- latin:keyLabel="&#x0447;" />
-</merge>
diff --git a/java/res/xml/rowkeys_bulgarian2.xml b/java/res/xml/rowkeys_bulgarian2.xml
deleted file mode 100644
index a4e93d862..000000000
--- a/java/res/xml/rowkeys_bulgarian2.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0430: "а" CYRILLIC SMALL LETTER A -->
- <Key
- latin:keyLabel="&#x0430;" />
- <!-- U+0441: "с" CYRILLIC SMALL LETTER ES -->
- <Key
- latin:keyLabel="&#x0441;" />
- <!-- U+0434: "д" CYRILLIC SMALL LETTER DE -->
- <Key
- latin:keyLabel="&#x0434;" />
- <!-- U+0444: "ф" CYRILLIC SMALL LETTER EF -->
- <Key
- latin:keyLabel="&#x0444;" />
- <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
- <Key
- latin:keyLabel="&#x0433;" />
- <!-- U+0445: "х" CYRILLIC SMALL LETTER HA -->
- <Key
- latin:keyLabel="&#x0445;" />
- <!-- U+0439: "й" CYRILLIC SMALL LETTER SHORT I -->
- <Key
- latin:keyLabel="&#x0439;" />
- <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
- <Key
- latin:keyLabel="&#x043A;" />
- <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
- <Key
- latin:keyLabel="&#x043B;" />
- <!-- U+0448: "ш" CYRILLIC SMALL LETTER SHA -->
- <Key
- latin:keyLabel="&#x0448;" />
- <!-- U+0449: "щ" CYRILLIC SMALL LETTER SHCHA -->
- <Key
- latin:keyLabel="&#x0449;" />
-</merge>
diff --git a/java/res/xml/rowkeys_bulgarian3.xml b/java/res/xml/rowkeys_bulgarian3.xml
deleted file mode 100644
index 258219c27..000000000
--- a/java/res/xml/rowkeys_bulgarian3.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
- <Key
- latin:keyLabel="&#x0437;" />
- <!-- U+044C: "ь" CYRILLIC SMALL LETTER SOFT SIGN -->
- <Key
- latin:keyLabel="&#x044C;" />
- <!-- U+0446: "ц" CYRILLIC SMALL LETTER TSE -->
- <Key
- latin:keyLabel="&#x0446;" />
- <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
- <Key
- latin:keyLabel="&#x0436;" />
- <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
- <Key
- latin:keyLabel="&#x0431;" />
- <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
- <Key
- latin:keyLabel="&#x043D;" />
- <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
- <Key
- latin:keyLabel="&#x043C;" />
- <!-- U+044E: "ю" CYRILLIC SMALL LETTER YU -->
- <Key
- latin:keyLabel="&#x044E;" />
-</merge>
diff --git a/java/res/xml/rowkeys_bulgarian_bds1.xml b/java/res/xml/rowkeys_bulgarian_bds1.xml
deleted file mode 100644
index eed1fcb8f..000000000
--- a/java/res/xml/rowkeys_bulgarian_bds1.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
- <Key
- latin:keyLabel="&#x0443;"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
- <Key
- latin:keyLabel="&#x0435;"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2" />
- <!-- U+0438: "и" CYRILLIC SMALL LETTER I
- U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE -->
- <Key
- latin:keyLabel="&#x0438;"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3"
- latin:moreKeys="&#x045D;" />
- <!-- U+0448: "ш" CYRILLIC SMALL LETTER SHA -->
- <Key
- latin:keyLabel="&#x0448;"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4" />
- <!-- U+0449: "щ" CYRILLIC SMALL LETTER SHCHA -->
- <Key
- latin:keyLabel="&#x0449;"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5" />
- <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
- <Key
- latin:keyLabel="&#x043A;"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6" />
- <!-- U+0441: "с" CYRILLIC SMALL LETTER ES -->
- <Key
- latin:keyLabel="&#x0441;"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7" />
- <!-- U+0434: "д" CYRILLIC SMALL LETTER DE -->
- <Key
- latin:keyLabel="&#x0434;"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8" />
- <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
- <Key
- latin:keyLabel="&#x0437;"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9" />
- <!-- U+0446: "ц" CYRILLIC SMALL LETTER TSE -->
- <Key
- latin:keyLabel="&#x0446;"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
- <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
- <Key
- latin:keyLabel="&#x0431;" />
-</merge>
diff --git a/java/res/xml/rowkeys_bulgarian_bds2.xml b/java/res/xml/rowkeys_bulgarian_bds2.xml
deleted file mode 100644
index ff1bff895..000000000
--- a/java/res/xml/rowkeys_bulgarian_bds2.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+044C: "ь" CYRILLIC SMALL LETTER SOFT SIGN -->
- <Key
- latin:keyLabel="&#x044C;" />
- <!-- U+044F: "я" CYRILLIC SMALL LETTER YA -->
- <Key
- latin:keyLabel="&#x044F;" />
- <!-- U+0430: "а" CYRILLIC SMALL LETTER A -->
- <Key
- latin:keyLabel="&#x0430;" />
- <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
- <Key
- latin:keyLabel="&#x043E;" />
- <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
- <Key
- latin:keyLabel="&#x0436;" />
- <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
- <Key
- latin:keyLabel="&#x0433;" />
- <!-- U+0442: "т" CYRILLIC SMALL LETTER TE -->
- <Key
- latin:keyLabel="&#x0442;" />
- <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
- <Key
- latin:keyLabel="&#x043D;" />
- <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
- <Key
- latin:keyLabel="&#x0432;" />
- <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
- <Key
- latin:keyLabel="&#x043C;" />
- <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
- <Key
- latin:keyLabel="&#x0447;" />
-</merge>
diff --git a/java/res/xml/rowkeys_bulgarian_bds3.xml b/java/res/xml/rowkeys_bulgarian_bds3.xml
deleted file mode 100644
index 7bb780ac7..000000000
--- a/java/res/xml/rowkeys_bulgarian_bds3.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+044E: "ю" CYRILLIC SMALL LETTER YU -->
- <Key
- latin:keyLabel="&#x044E;" />
- <!-- U+0439: "й" CYRILLIC SMALL LETTER SHORT I -->
- <Key
- latin:keyLabel="&#x0439;" />
- <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
- <Key
- latin:keyLabel="&#x044A;" />
- <!-- U+044D: "э" CYRILLIC SMALL LETTER E -->
- <Key
- latin:keyLabel="&#x044D;" />
- <!-- U+0444: "ф" CYRILLIC SMALL LETTER EF -->
- <Key
- latin:keyLabel="&#x0444;" />
- <!-- U+0445: "х" CYRILLIC SMALL LETTER HA -->
- <Key
- latin:keyLabel="&#x0445;" />
- <!-- U+043F: "п" CYRILLIC SMALL LETTER PE -->
- <Key
- latin:keyLabel="&#x043F;" />
- <!-- U+0440: "р" CYRILLIC SMALL LETTER ER -->
- <Key
- latin:keyLabel="&#x0440;" />
- <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
- <Key
- latin:keyLabel="&#x043B;" />
-</merge>
diff --git a/java/res/xml/rowkeys_colemak1.xml b/java/res/xml/rowkeys_colemak1.xml
deleted file mode 100644
index f1c30756b..000000000
--- a/java/res/xml/rowkeys_colemak1.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="q"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- <Key
- latin:keyLabel="w"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2"
- latin:moreKeys="!text/more_keys_for_w" />
- <Key
- latin:keyLabel="f"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3" />
- <Key
- latin:keyLabel="p"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4" />
- <Key
- latin:keyLabel="g"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5"
- latin:moreKeys="!text/more_keys_for_g" />
- <Key
- latin:keyLabel="j"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6"
- latin:moreKeys="!text/more_keys_for_j" />
- <Key
- latin:keyLabel="l"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7"
- latin:moreKeys="!text/more_keys_for_l" />
- <Key
- latin:keyLabel="u"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8"
- latin:moreKeys="!text/more_keys_for_u" />
- <Key
- latin:keyLabel="y"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9"
- latin:moreKeys="!text/more_keys_for_y" />
-</merge>
diff --git a/java/res/xml/rowkeys_colemak2.xml b/java/res/xml/rowkeys_colemak2.xml
deleted file mode 100644
index f73d7e95f..000000000
--- a/java/res/xml/rowkeys_colemak2.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="a"
- latin:moreKeys="!text/more_keys_for_a" />
- <Key
- latin:keyLabel="r"
- latin:moreKeys="!text/more_keys_for_r" />
- <Key
- latin:keyLabel="s"
- latin:moreKeys="!text/more_keys_for_s" />
- <Key
- latin:keyLabel="t"
- latin:moreKeys="!text/more_keys_for_t" />
- <Key
- latin:keyLabel="d"
- latin:moreKeys="!text/more_keys_for_d" />
- <Key
- latin:keyLabel="h"
- latin:moreKeys="!text/more_keys_for_h" />
- <Key
- latin:keyLabel="n"
- latin:moreKeys="!text/more_keys_for_n" />
- <Key
- latin:keyLabel="e"
- latin:moreKeys="!text/more_keys_for_e" />
- <Key
- latin:keyLabel="i"
- latin:moreKeys="!text/more_keys_for_i" />
- <Key
- latin:keyLabel="o"
- latin:moreKeys="!text/more_keys_for_o" />
-</merge>
diff --git a/java/res/xml/rowkeys_colemak3.xml b/java/res/xml/rowkeys_colemak3.xml
deleted file mode 100644
index f0f915142..000000000
--- a/java/res/xml/rowkeys_colemak3.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="z"
- latin:moreKeys="!text/more_keys_for_z" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="c"
- latin:moreKeys="!text/more_keys_for_c" />
- <Key
- latin:keyLabel="v"
- latin:moreKeys="!text/more_keys_for_v" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="k"
- latin:moreKeys="!text/more_keys_for_k" />
- <Key
- latin:keyLabel="m" />
-</merge>
diff --git a/java/res/xml/rowkeys_dvorak1.xml b/java/res/xml/rowkeys_dvorak1.xml
deleted file mode 100644
index 7e0eb6e71..000000000
--- a/java/res/xml/rowkeys_dvorak1.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="p"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4" />
- <Key
- latin:keyLabel="y"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5"
- latin:moreKeys="!text/more_keys_for_y" />
- <Key
- latin:keyLabel="f"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6" />
- <Key
- latin:keyLabel="g"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7"
- latin:moreKeys="!text/more_keys_for_g" />
- <Key
- latin:keyLabel="c"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8"
- latin:moreKeys="!text/more_keys_for_c" />
- <Key
- latin:keyLabel="r"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9"
- latin:moreKeys="!text/more_keys_for_r" />
- <Key
- latin:keyLabel="l"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0"
- latin:moreKeys="!text/more_keys_for_l" />
-</merge>
diff --git a/java/res/xml/rowkeys_dvorak2.xml b/java/res/xml/rowkeys_dvorak2.xml
deleted file mode 100644
index 943e3f549..000000000
--- a/java/res/xml/rowkeys_dvorak2.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="a"
- latin:moreKeys="!text/more_keys_for_a" />
- <Key
- latin:keyLabel="o"
- latin:moreKeys="!text/more_keys_for_o" />
- <Key
- latin:keyLabel="e"
- latin:moreKeys="!text/more_keys_for_e" />
- <Key
- latin:keyLabel="u"
- latin:moreKeys="!text/more_keys_for_u" />
- <Key
- latin:keyLabel="i"
- latin:moreKeys="!text/more_keys_for_i" />
- <Key
- latin:keyLabel="d"
- latin:moreKeys="!text/more_keys_for_d" />
- <Key
- latin:keyLabel="h"
- latin:moreKeys="!text/more_keys_for_h" />
- <Key
- latin:keyLabel="t"
- latin:moreKeys="!text/more_keys_for_t" />
- <Key
- latin:keyLabel="n"
- latin:moreKeys="!text/more_keys_for_n" />
- <Key
- latin:keyLabel="s"
- latin:moreKeys="!text/more_keys_for_s" />
-</merge>
diff --git a/java/res/xml/rowkeys_dvorak3.xml b/java/res/xml/rowkeys_dvorak3.xml
deleted file mode 100644
index b035f41cd..000000000
--- a/java/res/xml/rowkeys_dvorak3.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="j"
- latin:moreKeys="!text/more_keys_for_j" />
- <Key
- latin:keyLabel="k"
- latin:moreKeys="!text/more_keys_for_k" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="m" />
- <Key
- latin:keyLabel="w"
- latin:moreKeys="!text/more_keys_for_w" />
- <Key
- latin:keyLabel="v"
- latin:moreKeys="!text/more_keys_for_v" />
-</merge>
diff --git a/java/res/xml/rowkeys_east_slavic1.xml b/java/res/xml/rowkeys_east_slavic1.xml
deleted file mode 100644
index c1b43bd36..000000000
--- a/java/res/xml/rowkeys_east_slavic1.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0439: "й" CYRILLIC SMALL LETTER SHORT I -->
- <Key
- latin:keyLabel="&#x0439;"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- <!-- U+0446: "ц" CYRILLIC SMALL LETTER TSE -->
- <Key
- latin:keyLabel="&#x0446;"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2" />
- <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
- <Key
- latin:keyLabel="&#x0443;"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3"
- latin:moreKeys="!text/more_keys_for_cyrillic_u" />
- <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
- <Key
- latin:keyLabel="&#x043A;"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4" />
- <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
- <Key
- latin:keyLabel="&#x0435;"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5"
- latin:moreKeys="!text/more_keys_for_cyrillic_ie" />
- <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
- <Key
- latin:keyLabel="&#x043D;"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6"
- latin:moreKeys="!text/more_keys_for_cyrillic_en" />
- <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
- <Key
- latin:keyLabel="&#x0433;"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7"
- latin:moreKeys="!text/more_keys_for_cyrillic_ghe" />
- <!-- U+0448: "ш" CYRILLIC SMALL LETTER SHA -->
- <Key
- latin:keyLabel="&#x0448;"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8" />
- <Key
- latin:keyLabel="!text/keylabel_for_east_slavic_row1_9"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9" />
- <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
- <Key
- latin:keyLabel="&#x0437;"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
- <!-- U+0445: "х" CYRILLIC SMALL LETTER HA -->
- <Key
- latin:keyLabel="&#x0445;" />
-</merge>
diff --git a/java/res/xml/rowkeys_east_slavic2.xml b/java/res/xml/rowkeys_east_slavic2.xml
deleted file mode 100644
index 9743727c1..000000000
--- a/java/res/xml/rowkeys_east_slavic2.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0444: "ф" CYRILLIC SMALL LETTER EF -->
- <Key
- latin:keyLabel="&#x0444;" />
- <Key
- latin:keyLabel="!text/keylabel_for_east_slavic_row2_1"
- latin:moreKeys="!text/more_keys_for_east_slavic_row2_1" />
- <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
- <Key
- latin:keyLabel="&#x0432;" />
- <!-- U+0430: "а" CYRILLIC SMALL LETTER A -->
- <Key
- latin:keyLabel="&#x0430;" />
- <!-- U+043F: "п" CYRILLIC SMALL LETTER PE -->
- <Key
- latin:keyLabel="&#x043F;" />
- <!-- U+0440: "р" CYRILLIC SMALL LETTER ER -->
- <Key
- latin:keyLabel="&#x0440;" />
- <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
- <Key
- latin:keyLabel="&#x043E;"
- latin:moreKeys="!text/more_keys_for_cyrillic_o" />
- <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
- <Key
- latin:keyLabel="&#x043B;" />
- <!-- U+0434: "д" CYRILLIC SMALL LETTER DE -->
- <Key
- latin:keyLabel="&#x0434;" />
- <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
- <Key
- latin:keyLabel="&#x0436;" />
- <Key
- latin:keyLabel="!text/keylabel_for_east_slavic_row2_11" />
-</merge>
diff --git a/java/res/xml/rowkeys_east_slavic3.xml b/java/res/xml/rowkeys_east_slavic3.xml
deleted file mode 100644
index c3a171b49..000000000
--- a/java/res/xml/rowkeys_east_slavic3.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+044F: "я" CYRILLIC SMALL LETTER YA -->
- <Key
- latin:keyLabel="&#x044F;" />
- <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
- <Key
- latin:keyLabel="&#x0447;" />
- <!-- U+0441: "с" CYRILLIC SMALL LETTER ES -->
- <Key
- latin:keyLabel="&#x0441;" />
- <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
- <Key
- latin:keyLabel="&#x043C;" />
- <Key
- latin:keyLabel="!text/keylabel_for_east_slavic_row3_5" />
- <!-- U+0442: "т" CYRILLIC SMALL LETTER TE -->
- <Key
- latin:keyLabel="&#x0442;" />
- <!-- U+044C: "ь" CYRILLIC SMALL LETTER SOFT SIGN -->
- <Key
- latin:keyLabel="&#x044C;"
- latin:moreKeys="!text/more_keys_for_cyrillic_soft_sign" />
- <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
- <Key
- latin:keyLabel="&#x0431;" />
- <!-- U+044E: "ю" CYRILLIC SMALL LETTER YU -->
- <Key
- latin:keyLabel="&#x044E;" />
-</merge>
diff --git a/java/res/xml/rowkeys_farsi1.xml b/java/res/xml/rowkeys_farsi1.xml
deleted file mode 100644
index 0ccf1ab54..000000000
--- a/java/res/xml/rowkeys_farsi1.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0635: "ص" ARABIC LETTER SAD
- U+0636: "ض" ARABIC LETTER DAD
- U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE -->
- <Key
- latin:keyLabel="&#x0635;"
- latin:moreKeys="&#x0636;,%"
- latin:keyHintLabel="&#x06F1;"
- latin:additionalMoreKeys="&#x06F1;,1"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0642: "ق" ARABIC LETTER QAF
- U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO -->
- <Key
- latin:keyLabel="&#x0642;"
- latin:keyHintLabel="&#x06F2;"
- latin:additionalMoreKeys="&#x06F2;,2"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0641: "ف" ARABIC LETTER FEH
- U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE -->
- <Key
- latin:keyLabel="&#x0641;"
- latin:keyHintLabel="&#x06F3;"
- latin:additionalMoreKeys="&#x06F3;,3"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+063A: "غ" ARABIC LETTER GHAIN
- U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR -->
- <Key
- latin:keyLabel="&#x063A;"
- latin:keyHintLabel="&#x06F4;"
- latin:additionalMoreKeys="&#x06F4;,4"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0639: "ع" ARABIC LETTER AIN
- U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE -->
- <Key
- latin:keyLabel="&#x0639;"
- latin:keyHintLabel="&#x06F5;"
- latin:additionalMoreKeys="&#x06F5;,5"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0647: "ه" ARABIC LETTER HEH
- U+FEEB: "ﻫ" ARABIC LETTER HEH INITIAL FORM
- U+0647/U+200D: ARABIC LETTER HEH + ZERO WIDTH JOINER
- U+0647/U+0654: ARABIC LETTER HEH + ARABIC HAMZA ABOVE
- U+0629: "ة" ARABIC LETTER TEH MARBUTA
- U+06F6: "۶" EXTENDED ARABIC-INDIC DIGIT SIX -->
- <Key
- latin:keyLabel="&#x0647;"
- latin:moreKeys="&#xFEEB;|&#x0647;&#x200D;,&#x0647;&#x0654;,&#x0629;,%"
- latin:keyHintLabel="&#x06F6;"
- latin:additionalMoreKeys="&#x06F6;,6"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062E: "خ" ARABIC LETTER KHAH
- U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN -->
- <Key
- latin:keyLabel="&#x062E;"
- latin:keyHintLabel="&#x06F7;"
- latin:additionalMoreKeys="&#x06F7;,7"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062D: "ح" ARABIC LETTER HAH
- U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT -->
- <Key
- latin:keyLabel="&#x062D;"
- latin:keyHintLabel="&#x06F8;"
- latin:additionalMoreKeys="&#x06F8;,8"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062C: "ج" ARABIC LETTER JEEM
- U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE -->
- <Key
- latin:keyLabel="&#x062C;"
- latin:keyHintLabel="&#x06F9;"
- latin:additionalMoreKeys="&#x06F9;,9"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0686: "چ" ARABIC LETTER TCHEH
- U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO -->
- <Key
- latin:keyLabel="&#x0686;"
- latin:keyHintLabel="&#x06F0;"
- latin:additionalMoreKeys="&#x06F0;,0"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml/rowkeys_farsi2.xml b/java/res/xml/rowkeys_farsi2.xml
deleted file mode 100644
index 4b6abe2ab..000000000
--- a/java/res/xml/rowkeys_farsi2.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0634: "ش" ARABIC LETTER SHEEN -->
- <Key
- latin:keyLabel="&#x0634;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0633: "س" ARABIC LETTER SEEN
- U+0636: "ض" ARABIC LETTER DAD -->
- <Key
- latin:keyLabel="&#x0633;"
- latin:moreKeys="&#x0636;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+06CC: "ی" ARABIC LETTER FARSI YEH
- U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
- U+064A: "ي" ARABIC LETTER YEH
- U+FBE8: "ﯨ" ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
- U+0649: "ى" ARABIC LETTER ALEF MAKSURA -->
- <Key
- latin:keyLabel="&#x06CC;"
- latin:moreKeys="&#x0626;,&#x064A;,&#xFBE8;|&#x0649;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0628: "ب" ARABIC LETTER BEH -->
- <Key
- latin:keyLabel="&#x0628;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0644: "ل" ARABIC LETTER LAM -->
- <Key
- latin:keyLabel="&#x0644;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0627: "ا" ARABIC LETTER ALEF
- U+0621: "ء" ARABIC LETTER HAMZA
- U+0622: "آ" ARABIC LETTER ALEF WITH MADDA ABOVE
- U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
- U+0671: "ٱ" ARABIC LETTER ALEF WASLA
- U+0625: "إ" ARABIC LETTER ALEF WITH HAMZA BELOW -->
- <Key
- latin:keyLabel="&#x0627;"
- latin:moreKeys="&#x0621;,&#x0622;,&#x0623;,&#x0671;,&#x0625;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062A: "ت" ARABIC LETTER TEH
- U+062B: "ﺙ" ARABIC LETTER THEH
- U+0629: "ة": ARABIC LETTER TEH MARBUTA -->
- <Key
- latin:keyLabel="&#x062A;"
- latin:moreKeys="&#x062B;,&#x0629;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0646: "ن" ARABIC LETTER NOON -->
- <Key
- latin:keyLabel="&#x0646;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0645: "م" ARABIC LETTER MEEM -->
- <Key
- latin:keyLabel="&#x0645;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+06A9: "ک" ARABIC LETTER KEHEH
- U+0643: "ك" ARABIC LETTER KAF -->
- <Key
- latin:keyLabel="&#x06A9;"
- latin:moreKeys="&#x0643;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml/rowkeys_farsi3.xml b/java/res/xml/rowkeys_farsi3.xml
deleted file mode 100644
index 7d2e81f7d..000000000
--- a/java/res/xml/rowkeys_farsi3.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0637: "ط" ARABIC LETTER TAH
- U+0638: "ظ" ARABIC LETTER ZAH -->
- <Key
- latin:keyLabel="&#x0637;"
- latin:moreKeys="&#x0638;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0632: "ز" ARABIC LETTER ZAIN
- U+0698: "ژ" ARABIC LETTER JEH -->
- <Key
- latin:keyLabel="&#x0632;"
- latin:moreKeys="&#x0698;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0631: "ر" ARABIC LETTER REH -->
- <Key
- latin:keyLabel="&#x0631;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0630: "ذ" ARABIC LETTER THAL -->
- <Key
- latin:keyLabel="&#x0630;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+062F: "د" ARABIC LETTER DAL -->
- <Key
- latin:keyLabel="&#x062F;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+067E: "پ" ARABIC LETTER PEH -->
- <Key
- latin:keyLabel="&#x067E;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0648: "و" ARABIC LETTER WAW
- U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
- <Key
- latin:keyLabel="&#x0648;"
- latin:moreKeys="&#x0624;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+06AF: "گ" ARABIC LETTER GAF -->
- <Key
- latin:keyLabel="&#x06AF;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml/rowkeys_georgian1.xml b/java/res/xml/rowkeys_georgian1.xml
deleted file mode 100644
index d31a4c79c..000000000
--- a/java/res/xml/rowkeys_georgian1.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <Key
- latin:keyLabel="Q"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- <!-- U+10ED: "ჭ" GEORGIAN LETTER CHAR -->
- <Key
- latin:keyLabel="&#x10ED;"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2" />
- <Key
- latin:keyLabel="E"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3" />
- <!-- U+10E6: "ღ" GEORGIAN LETTER GHAN -->
- <Key
- latin:keyLabel="&#x10E6;"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4" />
- <!-- U+10D7: "თ" GEORGIAN LETTER TAN -->
- <Key
- latin:keyLabel="&#x10D7;"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5" />
- <Key
- latin:keyLabel="Y"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6" />
- <Key
- latin:keyLabel="U"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7" />
- <Key
- latin:keyLabel="I"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8" />
- <Key
- latin:keyLabel="O"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9" />
- <Key
- latin:keyLabel="P"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
- </case>
- <default>
- <!-- U+10E5: "ქ" GEORGIAN LETTER GHAN -->
- <Key
- latin:keyLabel="&#x10E5;"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- <!-- U+10EC: "წ" GEORGIAN LETTER CIL -->
- <Key
- latin:keyLabel="&#x10EC;"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2" />
- <!-- U+10D4: "ე" GEORGIAN LETTER EN
- U+10F1: "ჱ" GEORGIAN LETTER HE -->
- <Key
- latin:keyLabel="&#x10D4;"
- latin:moreKeys="&#x10F1;"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3" />
- <!-- U+10E0: "რ" GEORGIAN LETTER RAE -->
- <Key
- latin:keyLabel="&#x10E0;"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4" />
- <!-- U+10E2: "ტ" GEORGIAN LETTER TAR -->
- <Key
- latin:keyLabel="&#x10E2;"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5" />
- <!-- U+10E7: "ყ" GEORGIAN LETTER QAR
- U+10F8: "ჸ" GEORGIAN LETTER ELIFI -->
- <Key
- latin:keyLabel="&#x10E7;"
- latin:moreKeys="&#x10F8;"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6" />
- <!-- U+10E3: "უ" GEORGIAN LETTER UN -->
- <Key
- latin:keyLabel="&#x10E3;"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7" />
- <!-- U+10D8: "ი" GEORGIAN LETTER IN
- U+10F2: "ჲ" GEORGIAN LETTER HIE -->
- <Key
- latin:keyLabel="&#x10D8;"
- latin:moreKeys="&#x10F2;"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8" />
- <!-- U+10DD: "ო" GEORGIAN LETTER ON -->
- <Key
- latin:keyLabel="&#x10DD;"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9" />
- <!-- U+10DE: "პ" GEORGIAN LETTER PAR -->
- <Key
- latin:keyLabel="&#x10DE;"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rowkeys_georgian2.xml b/java/res/xml/rowkeys_georgian2.xml
deleted file mode 100644
index cdccda31f..000000000
--- a/java/res/xml/rowkeys_georgian2.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <Key
- latin:keyLabel="A" />
- <!-- U+10E8: "შ" GEORGIAN LETTER SHIN -->
- <Key
- latin:keyLabel="&#x10E8;" />
- <Key
- latin:keyLabel="D" />
- <Key
- latin:keyLabel="F" />
- <Key
- latin:keyLabel="G" />
- <Key
- latin:keyLabel="H" />
- <!-- U+10DF: "ჟ" GEORGIAN LETTER ZHAR -->
- <Key
- latin:keyLabel="&#x10DF;" />
- <Key
- latin:keyLabel="K" />
- <Key
- latin:keyLabel="L" />
- </case>
- <default>
- <!-- U+10D0: "ა" GEORGIAN LETTER AN
- U+10FA: "ჺ" GEORGIAN LETTER AIN -->
- <Key
- latin:keyLabel="&#x10D0;"
- latin:moreKeys="&#x10FA;" />
- <!-- U+10E1: "ს" GEORGIAN LETTER SAN -->
- <Key
- latin:keyLabel="&#x10E1;" />
- <!-- U+10D3: "დ" GEORGIAN LETTER DON -->
- <Key
- latin:keyLabel="&#x10D3;" />
- <!-- U+10E4: "ფ" GEORGIAN LETTER PHAR
- U+10F6: "ჶ" GEORGIAN LETTER FI -->
- <Key
- latin:keyLabel="&#x10E4;"
- latin:moreKeys="&#x10F6;" />
- <!-- U+10D2: "გ" GEORGIAN LETTER GAN
- U+10F9: "ჹ" GEORGIAN LETTER TURNED GAN -->
- <Key
- latin:keyLabel="&#x10D2;"
- latin:moreKeys="&#x10F9;" />
- <!-- U+10F0: "ჰ" GEORGIAN LETTER HAE
- U+10F5: "ჵ" GEORGIAN LETTER HOE -->
- <Key
- latin:keyLabel="&#x10F0;"
- latin:moreKeys="&#x10F5;" />
- <!-- U+10EF: "ჯ" GEORGIAN LETTER JHAN
- U+10F7: "ჷ" GEORGIAN LETTER YN -->
- <Key
- latin:keyLabel="&#x10EF;"
- latin:moreKeys="&#x10F7;" />
- <!-- U+10D9: "კ" GEORGIAN LETTER KAN -->
- <Key
- latin:keyLabel="&#x10D9;" />
- <!-- U+10DA: "ლ" GEORGIAN LETTER LAS -->
- <Key
- latin:keyLabel="&#x10DA;" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rowkeys_georgian3.xml b/java/res/xml/rowkeys_georgian3.xml
deleted file mode 100644
index a3714586f..000000000
--- a/java/res/xml/rowkeys_georgian3.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <!-- U+10EB: "ძ" GEORGIAN LETTER JIL -->
- <Key
- latin:keyLabel="&#x10EB;" />
- <Key
- latin:keyLabel="X" />
- <!-- U+10E9: "ჩ" GEORGIAN LETTER CHIN -->
- <Key
- latin:keyLabel="&#x10E9;" />
- <Key
- latin:keyLabel="V" />
- <Key
- latin:keyLabel="B" />
- <Key
- latin:keyLabel="N" />
- <Key
- latin:keyLabel="M" />
- </case>
- <default>
- <!-- U+10D6: "ზ" GEORGIAN LETTER ZEN -->
- <Key
- latin:keyLabel="&#x10D6;" />
- <!-- U+10EE: "ხ" GEORGIAN LETTER XAN
- U+10F4: "ჴ" GEORGIAN LETTER HAR -->
- <Key
- latin:keyLabel="&#x10EE;"
- latin:moreKeys="&#x10F4;" />
- <!-- U+10EA: "ც" GEORGIAN LETTER CAN -->
- <Key
- latin:keyLabel="&#x10EA;" />
- <!-- U+10D5: "ვ" GEORGIAN LETTER VIN
- U+10F3: "ჳ" GEORGIAN LETTER WE -->
- <Key
- latin:keyLabel="&#x10D5;"
- latin:moreKeys="&#x10F3;" />
- <!-- U+10D1: "ბ" GEORGIAN LETTER BAN -->
- <Key
- latin:keyLabel="&#x10D1;" />
- <!-- U+10DC: "ნ" GEORGIAN LETTER NAR
- U+10FC: "ჼ" MODIFIER LETTER GEORGIAN NAR -->
- <Key
- latin:keyLabel="&#x10DC;"
- latin:moreKeys="&#x10FC;" />
- <!-- U+10DB: "მ" GEORGIAN LETTER MAN -->
- <Key
- latin:keyLabel="&#x10DB;" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rowkeys_greek1.xml b/java/res/xml/rowkeys_greek1.xml
deleted file mode 100644
index 5777d3b85..000000000
--- a/java/res/xml/rowkeys_greek1.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- TODO: Should find a way to compound Greek dialytika tonos and other Greek letters. -->
- <!--
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- >
- U+0385: "΅" GREEK DIALYTIKA TONOS
- <Key
- latin:keyLabel="&#x0385;"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2" />
- </case>
- <default>
- -->
- <!-- U+03C2: "ς" GREEK SMALL LETTER FINAL SIGMA -->
- <Key
- latin:keyLabel="&#x03C2;"
- latin:keyLabelFlags="preserveCase"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2" />
- <!--
- </default>
- </switch>
- -->
- <!-- U+03B5: "ε" GREEK SMALL LETTER EPSILON
- U+03AD: "έ" GREEK SMALL LETTER EPSILON WITH TONOS -->
- <Key
- latin:keyLabel="&#x03B5;"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3"
- latin:moreKeys="&#x03AD;" />
- <!-- U+03C1: "ρ" GREEK SMALL LETTER RHO -->
- <Key
- latin:keyLabel="&#x03C1;"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4" />
- <!-- U+03C4: "τ" GREEK SMALL LETTER TAU -->
- <Key
- latin:keyLabel="&#x03C4;"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5" />
- <!-- U+03C5: "υ" GREEK SMALL LETTER UPSILON
- U+03CD: "ύ" GREEK SMALL LETTER UPSILON WITH TONOS
- U+03CB: "ϋ" GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- U+03B0: "ΰ" GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -->
- <Key
- latin:keyLabel="&#x03C5;"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6"
- latin:moreKeys="&#x03CD;,&#x03CB;,&#x03B0;" />
- <!-- U+03B8: "θ" GREEK SMALL LETTER THETA -->
- <Key
- latin:keyLabel="&#x03B8;"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7" />
- <!-- U+03B9: "ι" GREEK SMALL LETTER IOTA
- U+03AF: "ί" GREEK SMALL LETTER IOTA WITH TONOS
- U+03CA: "ϊ" GREEK SMALL LETTER IOTA WITH DIALYTIKA
- U+0390: "ΐ" GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -->
- <Key
- latin:keyLabel="&#x03B9;"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8"
- latin:moreKeys="&#x03AF;,&#x03CA;,&#x0390;" />
- <!-- U+03BF: "ο" GREEK SMALL LETTER OMICRON
- U+03CC: "ό" GREEK SMALL LETTER OMICRON WITH TONOS -->
- <Key
- latin:keyLabel="&#x03BF;"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9"
- latin:moreKeys="&#x03CC;" />
- <!-- U+03C0: "π" GREEK SMALL LETTER PI -->
- <Key
- latin:keyLabel="&#x03C0;"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
-</merge>
diff --git a/java/res/xml/rowkeys_greek2.xml b/java/res/xml/rowkeys_greek2.xml
deleted file mode 100644
index 91bdc1165..000000000
--- a/java/res/xml/rowkeys_greek2.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+03B1: "α" GREEK SMALL LETTER ALPHA
- U+03AC: "ά" GREEK SMALL LETTER ALPHA WITH TONOS -->
- <Key
- latin:keyLabel="&#x03B1;"
- latin:moreKeys="&#x03AC;" />
- <!-- U+03C3: "σ" GREEK SMALL LETTER SIGMA -->
- <Key
- latin:keyLabel="&#x03C3;" />
- <!-- U+03B4: "δ" GREEK SMALL LETTER DELTA -->
- <Key
- latin:keyLabel="&#x03B4;" />
- <!-- U+03C6: "φ" GREEK SMALL LETTER PHI -->
- <Key
- latin:keyLabel="&#x03C6;" />
- <!-- U+03B3: "γ" GREEK SMALL LETTER GAMMA -->
- <Key
- latin:keyLabel="&#x03B3;" />
- <!-- U+03B7: "η" GREEK SMALL LETTER ETA
- U+03AE: "ή" GREEK SMALL LETTER ETA WITH TONOS -->
- <Key
- latin:keyLabel="&#x03B7;"
- latin:moreKeys="&#x03AE;" />
- <!-- U+03BE: "ξ" GREEK SMALL LETTER XI -->
- <Key
- latin:keyLabel="&#x03BE;" />
- <!-- U+03BA: "κ" GREEK SMALL LETTER KAPPA -->
- <Key
- latin:keyLabel="&#x03BA;" />
- <!-- U+03BB: "λ" GREEK SMALL LETTER LAMDA -->
- <Key
- latin:keyLabel="&#x03BB;" />
-</merge>
diff --git a/java/res/xml/rowkeys_greek3.xml b/java/res/xml/rowkeys_greek3.xml
deleted file mode 100644
index 8a99db925..000000000
--- a/java/res/xml/rowkeys_greek3.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+03B6: "ζ" GREEK SMALL LETTER ZETA -->
- <Key
- latin:keyLabel="&#x03B6;" />
- <!-- U+03C7: "χ" GREEK SMALL LETTER CHI -->
- <Key
- latin:keyLabel="&#x03C7;" />
- <!-- U+03C8: "ψ" GREEK SMALL LETTER PSI -->
- <Key
- latin:keyLabel="&#x03C8;" />
- <!-- U+03C9: "ω" GREEK SMALL LETTER OMEGA
- U+03CE: "ώ" GREEK SMALL LETTER OMEGA WITH TONOS -->
- <Key
- latin:keyLabel="&#x03C9;"
- latin:moreKeys="&#x03CE;" />
- <!-- U+03B2: "β" GREEK SMALL LETTER BETA -->
- <Key
- latin:keyLabel="&#x03B2;" />
- <!-- U+03BD: "ν" GREEK SMALL LETTER NU -->
- <Key
- latin:keyLabel="&#x03BD;" />
- <!-- U+03BC: "μ" GREEK SMALL LETTER MU -->
- <Key
- latin:keyLabel="&#x03BC;" />
-</merge>
diff --git a/java/res/xml/rowkeys_hebrew1.xml b/java/res/xml/rowkeys_hebrew1.xml
deleted file mode 100644
index 396da785e..000000000
--- a/java/res/xml/rowkeys_hebrew1.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+05E7: "ק" HEBREW LETTER QOF -->
- <Key
- latin:keyLabel="&#x05E7;" />
- <!-- U+05E8: "ר" HEBREW LETTER RESH -->
- <Key
- latin:keyLabel="&#x05E8;" />
- <!-- U+05D0: "א" HEBREW LETTER ALEF -->
- <Key
- latin:keyLabel="&#x05D0;" />
- <!-- U+05D8: "ט" HEBREW LETTER TET -->
- <Key
- latin:keyLabel="&#x05D8;" />
- <!-- U+05D5: "ו" HEBREW LETTER VAV -->
- <Key
- latin:keyLabel="&#x05D5;" />
- <!-- U+05DF: "ן" HEBREW LETTER FINAL NUN -->
- <Key
- latin:keyLabel="&#x05DF;" />
- <!-- U+05DD: "ם" HEBREW LETTER FINAL MEM -->
- <Key
- latin:keyLabel="&#x05DD;" />
- <!-- U+05E4: "פ" HEBREW LETTER PE -->
- <Key
- latin:keyLabel="&#x05E4;" />
-</merge>
diff --git a/java/res/xml/rowkeys_hebrew2.xml b/java/res/xml/rowkeys_hebrew2.xml
deleted file mode 100644
index e4ecac335..000000000
--- a/java/res/xml/rowkeys_hebrew2.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+05E9: "ש" HEBREW LETTER SHIN -->
- <Key
- latin:keyLabel="&#x05E9;" />
- <!-- U+05D3: "ד" HEBREW LETTER DALET -->
- <Key
- latin:keyLabel="&#x05D3;" />
- <!-- U+05D2: "ג" HEBREW LETTER GIMEL
- U+05D2 U+05F3: "ג׳" HEBREW LETTER GIMEL + HEBREW PUNCTUATION GERESH -->
- <Key
- latin:keyLabel="&#x05D2;"
- latin:moreKeys="&#x05D2;&#x05F3;" />
- <!-- U+05DB: "כ" HEBREW LETTER KAF -->
- <Key
- latin:keyLabel="&#x05DB;" />
- <!-- U+05E2: "ע" HEBREW LETTER AYIN -->
- <Key
- latin:keyLabel="&#x05E2;" />
- <!-- U+05D9: "י" HEBREW LETTER YOD
- U+05F2 U+05B7: "ײַ" HEBREW LIGATURE YIDDISH DOUBLE YOD + HEBREW POINT PATAH -->
- <Key
- latin:keyLabel="&#x05D9;"
- latin:moreKeys="&#x05F2;&#x05B7;" />
- <!-- U+05D7: "ח" HEBREW LETTER HET
- U+05D7 U+05F3: "ח׳" HEBREW LETTER HET + HEBREW PUNCTUATION GERESH -->
- <Key
- latin:keyLabel="&#x05D7;"
- latin:moreKeys="&#x05D7;&#x05F3;" />
- <!-- U+05DC: "ל" HEBREW LETTER LAMED -->
- <Key
- latin:keyLabel="&#x05DC;" />
- <!-- U+05DA: "ך" HEBREW LETTER FINAL KAF -->
- <Key
- latin:keyLabel="&#x05DA;" />
- <!-- U+05E3: "ף" HEBREW LETTER FINAL PE -->
- <Key
- latin:keyLabel="&#x05E3;" />
-</merge>
diff --git a/java/res/xml/rowkeys_hebrew3.xml b/java/res/xml/rowkeys_hebrew3.xml
deleted file mode 100644
index 805a7a596..000000000
--- a/java/res/xml/rowkeys_hebrew3.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+05D6: "ז" HEBREW LETTER ZAYIN
- U+05D6 U+05F3: "ז׳" HEBREW LETTER ZAYIN + HEBREW PUNCTUATION GERESH -->
- <Key
- latin:keyLabel="&#x05D6;"
- latin:moreKeys="&#x05D6;&#x05F3;" />
- <!-- U+05E1: "ס" HEBREW LETTER SAMEKH -->
- <Key
- latin:keyLabel="&#x05E1;" />
- <!-- U+05D1: "ב" HEBREW LETTER BET -->
- <Key
- latin:keyLabel="&#x05D1;" />
- <!-- U+05D4: "ה" HEBREW LETTER HE -->
- <Key
- latin:keyLabel="&#x05D4;" />
- <!-- U+05E0: "נ" HEBREW LETTER NUN -->
- <Key
- latin:keyLabel="&#x05E0;" />
- <!-- U+05DE: "מ" HEBREW LETTER MEM -->
- <Key
- latin:keyLabel="&#x05DE;" />
- <!-- U+05E6: "צ" HEBREW LETTER TSADI
- U+05E6 U+05F3: "צ׳" HEBREW LETTER TSADI + HEBREW PUNCTUATION GERESH -->
- <Key
- latin:keyLabel="&#x05E6;"
- latin:moreKeys="&#x05E6;&#x05F3;" />
- <!-- U+05EA: "ת" HEBREW LETTER TAV
- U+05EA U+05F3: "ת׳" HEBREW LETTER TAV + HEBREW PUNCTUATION GERESH -->
- <Key
- latin:keyLabel="&#x05EA;"
- latin:moreKeys="&#x05EA;&#x05F3;" />
- <!-- U+05E5: "ץ" HEBREW LETTER FINAL TSADI
- U+05E5 U+05F3: "ץ׳" HEBREW LETTER FINAL TSADI + HEBREW PUNCTUATION GERESH -->
- <Key
- latin:keyLabel="&#x05E5;"
- latin:moreKeys="&#x05E5;&#x05F3;" />
-</merge>
diff --git a/java/res/xml/rowkeys_hindi1.xml b/java/res/xml/rowkeys_hindi1.xml
deleted file mode 100644
index 11208045c..000000000
--- a/java/res/xml/rowkeys_hindi1.xml
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <!-- U+0914: "औ" DEVANAGARI LETTER AU
- U+0912/U+0902: "ऒं" DEVANAGARI LETTER SHORT O//DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x0914;"
- latin:moreKeys="&#x0912;&#x0902;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0910: "ऐ" DEVANAGARI LETTER AI
- U+0910/U+0902: "ऐं" DEVANAGARI LETTER AI/DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x0910;"
- latin:moreKeys="&#x0910;&#x0902;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0906: "आ" DEVANAGARI LETTER AA
- U+0906/U+0902: "आं" DEVANAGARI LETTER AA/DEVANAGARI SIGN ANUSVARA
- U+0906/U+0901: "आँ" DEVANAGARI LETTER AA/DEVANAGARI SIGN CANDRABINDU -->
- <Key
- latin:keyLabel="&#x0906;"
- latin:moreKeys="&#x0906;&#x0902;,&#x0906;&#x0901;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0908: "ई" DEVANAGARI LETTER II
- U+0908/U+0902: "ईं" DEVANAGARI LETTER II/DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x0908;"
- latin:moreKeys="&#x0908;&#x0902;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+090A: "ऊ" DEVANAGARI LETTER UU
- U+090A/U+0902: "ऊं" DEVANAGARI LETTER UU/DEVANAGARI SIGN ANUSVARA
- U+090A/U+0901: "ऊँ" DEVANAGARI LETTER UU/DEVANAGARI SIGN CANDRABINDU -->
- <Key
- latin:keyLabel="&#x090A;"
- latin:moreKeys="&#x090A;&#x0902;,&#x090A;&#x0901;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+092D: "भ" DEVANAGARI LETTER BHA -->
- <Key
- latin:keyLabel="&#x092D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0903: "ः" DEVANAGARI SIGN VISARGA -->
- <Key
- latin:keyLabel="&#x0903;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0918: "घ" DEVANAGARI LETTER GHA -->
- <Key
- latin:keyLabel="&#x0918;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0927: "ध" DEVANAGARI LETTER DHA
- U+0915/U+094D/U+0937: "क्ष" DEVANAGARI LETTER KA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER SSA
- U+0936/U+094D/U+0930: "श्र" DEVANAGARI LETTER SHA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA -->
- <Key
- latin:keyLabel="&#x0927;"
- latin:moreKeys="&#x0915;&#x094D;&#x0937;,&#x0936;&#x094D;&#x0930;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+091D: "झ" DEVANAGARI LETTER JHA -->
- <Key
- latin:keyLabel="&#x091D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0922: "ढ" DEVANAGARI LETTER DDHA -->
- <Key
- latin:keyLabel="&#x0922;"
- latin:keyLabelFlags="fontNormal" />
- </case>
- <default>
- <!-- U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
- U+094C/U+0902: "ौं" DEVANAGARI VOWEL SIGN AU/DEVANAGARI SIGN ANUSVARA
- U+0967: "१" DEVANAGARI DIGIT ONE -->
- <Key
- latin:keyLabel="&#x094C;"
- latin:moreKeys="&#x094C;&#x0902;,%"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="&#x0967;,1"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0948: "ै" DEVANAGARI VOWEL SIGN AI
- U+0948/U+0902: "ैं" DEVANAGARI VOWEL SIGN AI/DEVANAGARI SIGN ANUSVARA
- U+0968: "२" DEVANAGARI DIGIT TWO -->
- <Key
- latin:keyLabel="&#x0948;"
- latin:moreKeys="&#x0948;&#x0902;,%"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="&#x0968;,2"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+093E: "ा" DEVANAGARI VOWEL SIGN AA
- U+093E/U+0902: "ां" DEVANAGARI VOWEL SIGN AA/DEVANAGARI SIGN ANUSVARA
- U+093E/U+0901: "ाँ" DEVANAGARI VOWEL SIGN AA/DEVANAGARI SIGN CANDRABINDU
- U+0969: "३" DEVANAGARI DIGIT THREE -->
- <Key
- latin:keyLabel="&#x093E;"
- latin:moreKeys="&#x093E;&#x0902;,&#x093E;&#x0901;,%"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="&#x0969;,3"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0940: "ी" DEVANAGARI VOWEL SIGN II
- U+0940/U+0902: "ीं" DEVANAGARI VOWEL SIGN II/DEVANAGARI SIGN ANUSVARA
- U+096A: "४" DEVANAGARI DIGIT FOUR -->
- <Key
- latin:keyLabel="&#x0940;"
- latin:moreKeys="&#x0940;&#x0902;,%"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="&#x096A;,4"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0942: "ू" DEVANAGARI VOWEL SIGN UU
- U+0942/U+0902: "ूं" DEVANAGARI VOWEL SIGN UU/DEVANAGARI SIGN ANUSVARA
- U+0942/U+0901: "ूँ" DEVANAGARI VOWEL SIGN UU/DEVANAGARI SIGN CANDRABINDU
- U+096B: "५" DEVANAGARI DIGIT FIVE -->
- <Key
- latin:keyLabel="&#x0942;"
- latin:moreKeys="&#x0942;&#x0902;,&#x0942;&#x0901;,%"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="&#x096B;,5"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+092C: "ब" DEVANAGARI LETTER BA
- U+092C/U+0952: "ब॒" DEVANAGARI LETTER BA/DEVANAGARI STRESS SIGN ANUDATTA -->
- <Key
- latin:keyLabel="&#x092C;"
- latin:moreKeys="&#x092C;&#x0952;,%"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="&#x096C;,6"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0939: "ह" DEVANAGARI LETTER HA
- U+096D: "७" DEVANAGARI DIGIT SEVEN -->
- <Key
- latin:keyLabel="&#x0939;"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="&#x096D;,7"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0917: "ग" DEVANAGARI LETTER GA
- U+091C/U+094D/U+091E: "ज्ञ" DEVANAGARI LETTER JA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER NYA
- U+0917/U+093C: "ग़" DEVANAGARI LETTER GA/DEVANAGARI SIGN NUKTA
- U+0917/U+0952: "ग॒" DEVANAGARI LETTER GA/DEVANAGARI STRESS SIGN ANUDATTA
- U+096E: "८" DEVANAGARI DIGIT EIGHT -->
- <Key
- latin:keyLabel="&#x0917;"
- latin:moreKeys="&#x091C;&#x094D;&#x091E;,&#x0917;&#x093C;,&#x0917;&#x0952;,%"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="&#x096E;,8"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0926: "द" DEVANAGARI LETTER DA
- U+096F: "९" DEVANAGARI DIGIT NINE -->
- <Key
- latin:keyLabel="&#x0926;"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+091C: "ज" DEVANAGARI LETTER JA
- U+091C/U+0952: "ज॒" DEVANAGARI LETTER JA/DEVANAGARI STRESS SIGN ANUDATTA
- U+091C/U+094D/U+091E: "ज्ञ" DEVANAGARI LETTER JA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER NYA
- U+091C/U+093C: "ज़" DEVANAGARI LETTER JA/DEVANAGARI SIGN NUKTA
- U+0966: "०" DEVANAGARI DIGIT ZERO -->
- <Key
- latin:keyLabel="&#x091C;"
- latin:moreKeys="&#x091C;&#x0952;,&#x091C;&#x094D;&#x091E;,&#x091C;&#x093C;,%"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="&#x0966;,0"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0921: "ड" DEVANAGARI LETTER DDA
- U+0921/U+0952: "ड॒" DEVANAGARI LETTER DDA/DEVANAGARI STRESS SIGN ANUDATTA
- U+0921/U+093C: "ड़" DEVANAGARI LETTER DDA/DEVANAGARI SIGN NUKTA -->
- <Key
- latin:keyLabel="&#x0921;"
- latin:moreKeys="&#x0921;&#x0952;,&#x0921;&#x093C;"
- latin:keyLabelFlags="fontNormal" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rowkeys_hindi2.xml b/java/res/xml/rowkeys_hindi2.xml
deleted file mode 100644
index e7c67dbe7..000000000
--- a/java/res/xml/rowkeys_hindi2.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <!-- U+0913: "ओ" DEVANAGARI LETTER O
- U+0913/U+0902: "ओं" DEVANAGARI LETTER O/DEVANAGARI SIGN ANUSVARA
- U+0911: "ऑ" DEVANAGARI LETTER CANDRA O
- U+0912: "ऒ" DEVANAGARI LETTER SHORT O -->
- <Key
- latin:keyLabel="&#x0913;"
- latin:moreKeys="&#x0913;&#x0902;,&#x0911;,&#x0912;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+090F: "ए" DEVANAGARI LETTER E
- U+090F/U+0902: "एं" DEVANAGARI LETTER E/DEVANAGARI SIGN ANUSVARA
- U+090F/U+0901: "एँ" DEVANAGARI LETTER E/DEVANAGARI SIGN CANDRABINDU
- U+090D: "ऍ" DEVANAGARI LETTER CANDRA E
- U+090E: "ऎ" DEVANAGARI LETTER SHORT E -->
- <Key
- latin:keyLabel="&#x090F;"
- latin:moreKeys="&#x090F;&#x0902;,&#x090F;&#x0901;,&#x090D;,&#x090E;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0905: "अ" DEVANAGARI LETTER A
- U+0905/U+0902: "अं" DEVANAGARI LETTER A/DEVANAGARI SIGN ANUSVARA
- U+0905/U+0901: "अँ" DEVANAGARI LETTER A/DEVANAGARI SIGN CANDRABINDU -->
- <Key
- latin:keyLabel="&#x0905;"
- latin:moreKeys="&#x0905;&#x0902;,&#x0905;&#x0901;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0907: "इ" DEVANAGARI LETTER I
- U+0907/U+0902: "इं" DEVANAGARI LETTER I/DEVANAGARI SIGN ANUSVARA
- U+0907/U+0901: "इं" DEVANAGARI LETTER I/DEVANAGARI SIGN CANDRABINDU -->
- <Key
- latin:keyLabel="&#x0907;"
- latin:moreKeys="&#x0907;&#x0902;,&#x0907;&#x0901;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0909: "उ" DEVANAGARI LETTER U
- U+0909/U+0902: "उं" DEVANAGARI LETTER U/DEVANAGARI SIGN ANUSVARA
- U+0909/U+0901: "उँ" DEVANAGARI LETTER U/DEVANAGARI SIGN CANDRABINDU -->
- <Key
- latin:keyLabel="&#x0909;"
- latin:moreKeys="&#x0909;&#x0902;,&#x0909;&#x0901;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+092B: "फ" DEVANAGARI LETTER PHA
- U+092B/U+093C: "फ़" DEVANAGARI LETTER PHA/DEVANAGARI SIGN NUKTA -->
- <Key
- latin:keyLabel="&#x092B;"
- latin:moreKeys="&#x092B;&#x093C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0931: "ऱ" DEVANAGARI LETTER RRA
- U+094D/U+0930: "्र" DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA
- U+0930/U+094D: "र्" DEVANAGARI LETTER RA/DEVANAGARI SIGN VIRAMA -->
- <Key
- latin:keyLabel="&#x0931;"
- latin:moreKeys="&#x094D;&#x0930;,&#x0930;&#x094D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0916: "ख" DEVANAGARI LETTER KHA
- U+0916/U+093C: "ख़" DEVANAGARI LETTER KHA/DEVANAGARI SIGN NUKTA -->
- <Key
- latin:keyLabel="&#x0916;"
- latin:moreKeys="&#x0916;&#x093C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0925: "थ" DEVANAGARI LETTER THA -->
- <Key
- latin:keyLabel="&#x0925;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+091B: "छ" DEVANAGARI LETTER CHA -->
- <Key
- latin:keyLabel="&#x091B;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0920: "ठ" DEVANAGARI LETTER TTHA -->
- <Key
- latin:keyLabel="&#x0920;"
- latin:keyLabelFlags="fontNormal" />
- </case>
- <default>
- <!-- U+094B: "ो" DEVANAGARI VOWEL SIGN O
- U+094B/U+0902: "қं" DEVANAGARI VOWEL SIGN O/DEVANAGARI SIGN ANUSVARA
- U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O
- U+094A: "ॊ" DEVANAGARI VOWEL SIGN SHORT O -->
- <Key
- latin:keyLabel="&#x094B;"
- latin:moreKeys="&#x094B;&#x0902;,&#x0949;,&#x094A;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0947: "े" DEVANAGARI VOWEL SIGN E
- U+0947/U+0902: "ें" DEVANAGARI VOWEL SIGN E/DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x0947;"
- latin:moreKeys="&#x0947;&#x0902;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+094D: "्" DEVANAGARI SIGN VIRAMA -->
- <Key
- latin:keyLabel="&#x094D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+093F: "ि" DEVANAGARI VOWEL SIGN I
- U+093F/U+0902: "िं" DEVANAGARI VOWEL SIGN I/DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x093F;"
- latin:moreKeys="&#x093F;&#x0902;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0941: "ु" DEVANAGARI VOWEL SIGN U
- U+0941/U+0902: "ुं" DEVANAGARI VOWEL SIGN U/DEVANAGARI SIGN ANUSVARA
- U+0941/U+0901: "ुँ" DEVANAGARI VOWEL SIGN U/DEVANAGARI SIGN CANDRABINDU -->
- <Key
- latin:keyLabel="&#x0941;"
- latin:moreKeys="&#x0941;&#x0902;,&#x0941;&#x0901;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+092A: "प" DEVANAGARI LETTER PA -->
- <Key
- latin:keyLabel="&#x092A;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0930: "र" DEVANAGARI LETTER RA
- U+090B: "ऋ" DEVANAGARI LETTER VOCALIC R
- U+0930/U+093C: "ऱ" DEVANAGARI LETTER RA/DEVANAGARI SIGN NUKTA
- U+0960: "ॠ" DEVANAGARI LETTER VOCALIC RR -->
- <Key
- latin:keyLabel="&#x0930;"
- latin:moreKeys="&#x090B;,&#x0930;&#x093C;,&#x0960;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0915: "क" DEVANAGARI LETTER KA
- U+0915/U+093C: "क़" DEVANAGARI LETTER KA/DEVANAGARI SIGN NUKTA -->
- <Key
- latin:keyLabel="&#x0915;"
- latin:moreKeys="&#x0915;&#x093C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0924: "त" DEVANAGARI LETTER TA
- U+0924/U+094D/U+0930: "त्र" DEVANAGARI LETTER TA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA -->
- <Key
- latin:keyLabel="&#x0924;"
- latin:moreKeys="&#x0924;&#x094D;&#x0930;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+091A: "च" DEVANAGARI LETTER CA -->
- <Key
- latin:keyLabel="&#x091A;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+091F: "ट" DEVANAGARI LETTER TTA -->
- <Key
- latin:keyLabel="&#x091F;"
- latin:keyLabelFlags="fontNormal" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rowkeys_hindi3.xml b/java/res/xml/rowkeys_hindi3.xml
deleted file mode 100644
index ebbff3e33..000000000
--- a/java/res/xml/rowkeys_hindi3.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <!-- U+0911: "ऑ" DEVANAGARI LETTER CANDRA O -->
- <Key
- latin:keyLabel="&#x0911;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
- U+0945: "ॅ" DEVANAGARI VOWEL SIGN CANDRA E-->
- <Key
- latin:keyLabel="&#x0901;"
- latin:moreKeys="&#x0945;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0923: "ण" DEVANAGARI LETTER NNA -->
- <Key
- latin:keyLabel="&#x0923;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0929: "ऩ" DEVANAGARI LETTER NNNA -->
- <Key
- latin:keyLabel="&#x0929;" />
- <!-- U+0933: "ळ" DEVANAGARI LETTER LLA
- U+0934: "ऴ" DEVANAGARI LETTER LLLA -->
- <Key
- latin:keyLabel="&#x0933;"
- latin:moreKeys="&#x0934;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0936: "श" DEVANAGARI LETTER SHA -->
- <Key
- latin:keyLabel="&#x0936;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0937: "ष" DEVANAGARI LETTER SSA -->
- <Key
- latin:keyLabel="&#x0937;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
- U+0944: "ॄ" DEVANAGARI VOWEL SIGN VOCALIC RR -->
- <Key
- latin:keyLabel="&#x0943;"
- latin:moreKeys="&#x0944;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+091E: "ञ" DEVANAGARI LETTER NYA -->
- <Key
- latin:keyLabel="&#x091E;"
- latin:keyLabelFlags="fontNormal" />
- </case>
- <default>
- <!-- U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O -->
- <Key
- latin:keyLabel="&#x0949;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0902: "ं" DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x0902;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+092E: "म" DEVANAGARI LETTER MA
- U+0950: "ॐ" DEVANAGARI OM -->
- <Key
- latin:keyLabel="&#x092E;"
- latin:moreKeys="&#x0950;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0928: "न" DEVANAGARI LETTER NA
- U+091E: "ञ" DEVANAGARI LETTER NYA
- U+0919: "ङ" DEVANAGARI LETTER NGA
- U+0928/U+093C: "ऩ" DEVANAGARI LETTER NA/DEVANAGARI SIGN NUKTA -->
- <Key
- latin:keyLabel="&#x0928;"
- latin:moreKeys="&#x091E;,&#x0919;,&#x0928;&#x093C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0935: "व" DEVANAGARI LETTER VA -->
- <Key
- latin:keyLabel="&#x0935;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0932: "ल" DEVANAGARI LETTER LA
- U+090C: "ऌ" DEVANAGARI LETTER VOCALIC L
- U+0961: "ॡ" DEVANAGARI LETTER VOCALIC LL -->
- <Key
- latin:keyLabel="&#x0932;"
- latin:moreKeys="&#x090C;,&#x0961;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0938: "स" DEVANAGARI LETTER SA -->
- <Key
- latin:keyLabel="&#x0938;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+092F: "य" DEVANAGARI LETTER YA
- U+095F: "य़" DEVANAGARI LETTER YYA -->
- <Key
- latin:keyLabel="&#x092F;"
- latin:moreKeys="&#x095F;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+093C: "़" DEVANAGARI SIGN NUKTA
- U+097D: "ॽ" DEVANAGARI LETTER GLOTTAL STOP
- U+0970: "॰" DEVANAGARI ABBREVIATION SIGN
- U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
- <Key
- latin:keyLabel="&#x093C;"
- latin:moreKeys="&#x097D;,&#x0970;,&#x093D;"
- latin:keyLabelFlags="fontNormal" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rowkeys_nordic1.xml b/java/res/xml/rowkeys_nordic1.xml
deleted file mode 100644
index 72ac86b2e..000000000
--- a/java/res/xml/rowkeys_nordic1.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty1" />
- <Key
- latin:keyLabel="!text/keylabel_for_nordic_row1_11" />
-</merge>
diff --git a/java/res/xml/rowkeys_nordic2.xml b/java/res/xml/rowkeys_nordic2.xml
deleted file mode 100644
index 836214abf..000000000
--- a/java/res/xml/rowkeys_nordic2.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty2" />
- <Key
- latin:keyLabel="!text/keylabel_for_nordic_row2_10"
- latin:moreKeys="!text/more_keys_for_nordic_row2_10" />
- <Key
- latin:keyLabel="!text/keylabel_for_nordic_row2_11"
- latin:moreKeys="!text/more_keys_for_nordic_row2_11" />
-</merge>
diff --git a/java/res/xml/rowkeys_pcqwerty1.xml b/java/res/xml/rowkeys_pcqwerty1.xml
deleted file mode 100644
index 0ecda3550..000000000
--- a/java/res/xml/rowkeys_pcqwerty1.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabet|alphabetAutomaticShifted"
- >
- <!-- U+00AC: "¬" NOT SIGN -->
- <Key
- latin:keyLabel="`"
- latin:moreKeys="~"
- latin:additionalMoreKeys="&#x00AC;" />
- <!-- U+00A1: "¡" NVERTED EXCLAMATION MARK -->
- <Key
- latin:keyLabel="1"
- latin:additionalMoreKeys="!"
- latin:moreKeys="&#x00A1;,!text/more_keys_for_symbols_1" />
- <Key
- latin:keyLabel="2"
- latin:additionalMoreKeys="\@"
- latin:moreKeys="!text/more_keys_for_symbols_2" />
- <Key
- latin:keyLabel="3"
- latin:additionalMoreKeys="#"
- latin:moreKeys="!text/more_keys_for_symbols_3" />
- <Key
- latin:keyLabel="4"
- latin:additionalMoreKeys="$"
- latin:moreKeys="!text/more_keys_for_symbols_4" />
- <Key
- latin:keyLabel="5"
- latin:additionalMoreKeys="\\%"
- latin:moreKeys="!text/more_keys_for_symbols_5" />
- <Key
- latin:keyLabel="6"
- latin:additionalMoreKeys="^"
- latin:moreKeys="!text/more_keys_for_symbols_6" />
- <Key
- latin:keyLabel="7"
- latin:additionalMoreKeys="&amp;"
- latin:moreKeys="!text/more_keys_for_symbols_7" />
- <Key
- latin:keyLabel="8"
- latin:additionalMoreKeys="*,%"
- latin:moreKeys="!text/more_keys_for_symbols_8" />
- <Key
- latin:keyLabel="9"
- latin:additionalMoreKeys="("
- latin:moreKeys="!text/more_keys_for_symbols_9" />
- <Key
- latin:keyLabel="0"
- latin:additionalMoreKeys=")"
- latin:moreKeys="!text/more_keys_for_symbols_0" />
- <Key
- latin:keyLabel="-"
- latin:moreKeys="_" />
- <Key
- latin:keyLabel="="
- latin:moreKeys="+" />
- </case>
- <!-- keyboardLayoutSetElement="alphabet*Shifted|symbols*" -->
- <default>
- <include
- latin:keyboardLayout="@xml/keys_pcqwerty_symbols1" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rowkeys_pcqwerty2.xml b/java/res/xml/rowkeys_pcqwerty2.xml
deleted file mode 100644
index cedf47559..000000000
--- a/java/res/xml/rowkeys_pcqwerty2.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="symbols|symbolsShifted"
- >
- <include
- latin:keyboardLayout="@xml/keys_pcqwerty_symbols2" />
- </case>
- <default>
- <!-- The keys on this PC layout row2 consist of the letters of QWERTY layout row1 and
- some symbols keys. -->
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty1"
- latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
- </default>
- </switch>
- <include
- latin:keyboardLayout="@xml/keys_pcqwerty2_right3" />
-</merge>
diff --git a/java/res/xml/rowkeys_pcqwerty3.xml b/java/res/xml/rowkeys_pcqwerty3.xml
deleted file mode 100644
index 5044e5feb..000000000
--- a/java/res/xml/rowkeys_pcqwerty3.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="symbols|symbolsShifted"
- >
- <include
- latin:keyboardLayout="@xml/keys_pcqwerty_symbols3" />
- </case>
- <default>
- <!-- The keys on this PC layout row3 consist of the letters of QWERTY layout row2 and
- some symbols keys. -->
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty2" />
- </default>
- </switch>
- <include
- latin:keyboardLayout="@xml/keys_pcqwerty3_right2" />
-</merge>
diff --git a/java/res/xml/rowkeys_pcqwerty4.xml b/java/res/xml/rowkeys_pcqwerty4.xml
deleted file mode 100644
index 4071e8c09..000000000
--- a/java/res/xml/rowkeys_pcqwerty4.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="symbols|symbolsShifted"
- >
- <include
- latin:keyboardLayout="@xml/keys_pcqwerty_symbols4" />
- </case>
- <default>
- <!-- The keys on this PC layout row4 consist of the letters of QWERTY layout row3 and
- some symbols keys. -->
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- </default>
- </switch>
- <include
- latin:keyboardLayout="@xml/keys_pcqwerty4_right3" />
-</merge>
diff --git a/java/res/xml/rowkeys_qwerty1.xml b/java/res/xml/rowkeys_qwerty1.xml
deleted file mode 100644
index e7c9b590b..000000000
--- a/java/res/xml/rowkeys_qwerty1.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="!text/keylabel_for_q"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1"
- latin:moreKeys="!text/more_keys_for_q" />
- <Key
- latin:keyLabel="!text/keylabel_for_w"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2"
- latin:moreKeys="!text/more_keys_for_w" />
- <Key
- latin:keyLabel="e"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3"
- latin:moreKeys="!text/more_keys_for_e" />
- <Key
- latin:keyLabel="r"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4"
- latin:moreKeys="!text/more_keys_for_r" />
- <Key
- latin:keyLabel="t"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5"
- latin:moreKeys="!text/more_keys_for_t" />
- <Key
- latin:keyLabel="!text/keylabel_for_y"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6"
- latin:moreKeys="!text/more_keys_for_y" />
- <Key
- latin:keyLabel="u"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7"
- latin:moreKeys="!text/more_keys_for_u" />
- <Key
- latin:keyLabel="i"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8"
- latin:moreKeys="!text/more_keys_for_i" />
- <Key
- latin:keyLabel="o"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9"
- latin:moreKeys="!text/more_keys_for_o" />
- <Key
- latin:keyLabel="p"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
-</merge>
diff --git a/java/res/xml/rowkeys_qwerty2.xml b/java/res/xml/rowkeys_qwerty2.xml
deleted file mode 100644
index d9777d920..000000000
--- a/java/res/xml/rowkeys_qwerty2.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="a"
- latin:moreKeys="!text/more_keys_for_a" />
- <Key
- latin:keyLabel="s"
- latin:moreKeys="!text/more_keys_for_s" />
- <Key
- latin:keyLabel="d"
- latin:moreKeys="!text/more_keys_for_d" />
- <Key
- latin:keyLabel="f" />
- <Key
- latin:keyLabel="g"
- latin:moreKeys="!text/more_keys_for_g" />
- <Key
- latin:keyLabel="h"
- latin:moreKeys="!text/more_keys_for_h" />
- <Key
- latin:keyLabel="j"
- latin:moreKeys="!text/more_keys_for_j" />
- <Key
- latin:keyLabel="k"
- latin:moreKeys="!text/more_keys_for_k" />
- <Key
- latin:keyLabel="l"
- latin:moreKeys="!text/more_keys_for_l" />
-</merge>
diff --git a/java/res/xml/rowkeys_qwerty3.xml b/java/res/xml/rowkeys_qwerty3.xml
deleted file mode 100644
index b70fd729f..000000000
--- a/java/res/xml/rowkeys_qwerty3.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="z"
- latin:moreKeys="!text/more_keys_for_z" />
- <Key
- latin:keyLabel="!text/keylabel_for_x"
- latin:moreKeys="!text/more_keys_for_x" />
- <Key
- latin:keyLabel="c"
- latin:moreKeys="!text/more_keys_for_c" />
- <Key
- latin:keyLabel="v"
- latin:moreKeys="!text/more_keys_for_v" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="n"
- latin:moreKeys="!text/more_keys_for_n" />
- <Key
- latin:keyLabel="m" />
-</merge>
diff --git a/java/res/xml/rowkeys_qwertz1.xml b/java/res/xml/rowkeys_qwertz1.xml
deleted file mode 100644
index d87f03ddc..000000000
--- a/java/res/xml/rowkeys_qwertz1.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="q"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- <Key
- latin:keyLabel="w"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2"
- latin:moreKeys="!text/more_keys_for_w" />
- <Key
- latin:keyLabel="e"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3"
- latin:moreKeys="!text/more_keys_for_e" />
- <Key
- latin:keyLabel="r"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4"
- latin:moreKeys="!text/more_keys_for_r" />
- <Key
- latin:keyLabel="t"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5"
- latin:moreKeys="!text/more_keys_for_t" />
- <Key
- latin:keyLabel="z"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6"
- latin:moreKeys="!text/more_keys_for_z" />
- <Key
- latin:keyLabel="u"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7"
- latin:moreKeys="!text/more_keys_for_u" />
- <Key
- latin:keyLabel="i"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8"
- latin:moreKeys="!text/more_keys_for_i" />
- <Key
- latin:keyLabel="o"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9"
- latin:moreKeys="!text/more_keys_for_o" />
- <Key
- latin:keyLabel="p"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
-</merge>
diff --git a/java/res/xml/rowkeys_qwertz3.xml b/java/res/xml/rowkeys_qwertz3.xml
deleted file mode 100644
index 9e39fe08e..000000000
--- a/java/res/xml/rowkeys_qwertz3.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="y"
- latin:moreKeys="!text/more_keys_for_y" />
- <Key
- latin:keyLabel="x" />
- <Key
- latin:keyLabel="c"
- latin:moreKeys="!text/more_keys_for_c" />
- <Key
- latin:keyLabel="v"
- latin:moreKeys="!text/more_keys_for_v" />
- <Key
- latin:keyLabel="b" />
- <Key
- latin:keyLabel="n"
- latin:moreKeys="!text/more_keys_for_n" />
- <Key
- latin:keyLabel="m" />
-</merge>
diff --git a/java/res/xml/rowkeys_south_slavic1.xml b/java/res/xml/rowkeys_south_slavic1.xml
deleted file mode 100644
index 6117d46f1..000000000
--- a/java/res/xml/rowkeys_south_slavic1.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0459: "љ" CYRILLIC SMALL LETTER LJE -->
- <Key
- latin:keyLabel="&#x0459;"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1" />
- <!-- U+045A: "њ" CYRILLIC SMALL LETTER NJE -->
- <Key
- latin:keyLabel="&#x045A;"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2" />
- <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
- <Key
- latin:keyLabel="&#x0435;"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3"
- latin:moreKeys="!text/more_keys_for_cyrillic_ie" />
- <!-- U+0440: "р" CYRILLIC SMALL LETTER ER -->
- <Key
- latin:keyLabel="&#x0440;"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4" />
- <!-- U+0442: "т" CYRILLIC SMALL LETTER TE -->
- <Key
- latin:keyLabel="&#x0442;"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5" />
- <Key
- latin:keyLabel="!text/keylabel_for_south_slavic_row1_6"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6" />
- <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
- <Key
- latin:keyLabel="&#x0443;"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7" />
- <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
- <Key
- latin:keyLabel="&#x0438;"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8"
- latin:moreKeys="!text/more_keys_for_cyrillic_i" />
- <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
- <Key
- latin:keyLabel="&#x043E;"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9" />
- <!-- U+043F: "п" CYRILLIC SMALL LETTER PE -->
- <Key
- latin:keyLabel="&#x043F;"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0" />
- <!-- U+0448: "ш" CYRILLIC SMALL LETTER SHA -->
- <Key
- latin:keyLabel="&#x0448;" />
-</merge>
diff --git a/java/res/xml/rowkeys_south_slavic2.xml b/java/res/xml/rowkeys_south_slavic2.xml
deleted file mode 100644
index 88e894053..000000000
--- a/java/res/xml/rowkeys_south_slavic2.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+0430: "а" CYRILLIC SMALL LETTER A -->
- <Key
- latin:keyLabel="&#x0430;" />
- <!-- U+0441: "с" CYRILLIC SMALL LETTER ES -->
- <Key
- latin:keyLabel="&#x0441;" />
- <!-- U+0434: "д" CYRILLIC SMALL LETTER DE -->
- <Key
- latin:keyLabel="&#x0434;" />
- <!-- U+0444: "ф" CYRILLIC SMALL LETTER EF -->
- <Key
- latin:keyLabel="&#x0444;" />
- <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
- <Key
- latin:keyLabel="&#x0433;" />
- <!-- U+0445: "х" CYRILLIC SMALL LETTER HA -->
- <Key
- latin:keyLabel="&#x0445;" />
- <!-- U+0458: "ј" CYRILLIC SMALL LETTER JE -->
- <Key
- latin:keyLabel="&#x0458;" />
- <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
- <Key
- latin:keyLabel="&#x043A;" />
- <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
- <Key
- latin:keyLabel="&#x043B;" />
- <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
- <Key
- latin:keyLabel="&#x0447;" />
- <Key
- latin:keyLabel="!text/keylabel_for_south_slavic_row2_11" />
-</merge>
diff --git a/java/res/xml/rowkeys_south_slavic3.xml b/java/res/xml/rowkeys_south_slavic3.xml
deleted file mode 100644
index b01550911..000000000
--- a/java/res/xml/rowkeys_south_slavic3.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="!text/keylabel_for_south_slavic_row3_1" />
- <!-- U+045F: "џ" CYRILLIC SMALL LETTER DZHE -->
- <Key
- latin:keyLabel="&#x045F;" />
- <!-- U+0446: "ц" CYRILLIC SMALL LETTER TSE -->
- <Key
- latin:keyLabel="&#x0446;" />
- <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
- <Key
- latin:keyLabel="&#x0432;" />
- <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
- <Key
- latin:keyLabel="&#x0431;" />
- <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
- <Key
- latin:keyLabel="&#x043D;" />
- <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
- <Key
- latin:keyLabel="&#x043C;" />
- <Key
- latin:keyLabel="!text/keylabel_for_south_slavic_row3_8" />
- <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
- <Key
- latin:keyLabel="&#x0436;" />
-</merge>
diff --git a/java/res/xml/rowkeys_spanish2.xml b/java/res/xml/rowkeys_spanish2.xml
deleted file mode 100644
index 335dff33c..000000000
--- a/java/res/xml/rowkeys_spanish2.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty2" />
- <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
- <Key
- latin:keyLabel="!text/keylabel_for_spanish_row2_10" />
- </merge>
diff --git a/java/res/xml/rowkeys_symbols1.xml b/java/res/xml/rowkeys_symbols1.xml
deleted file mode 100644
index 6e2f92dd9..000000000
--- a/java/res/xml/rowkeys_symbols1.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_1"
- latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_1"
- latin:moreKeys="!text/more_keys_for_symbols_1" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_2"
- latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_2"
- latin:moreKeys="!text/more_keys_for_symbols_2" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_3"
- latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_3"
- latin:moreKeys="!text/more_keys_for_symbols_3" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_4"
- latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_4"
- latin:moreKeys="!text/more_keys_for_symbols_4" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_5"
- latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_5"
- latin:moreKeys="!text/more_keys_for_symbols_5" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_6"
- latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_6"
- latin:moreKeys="!text/more_keys_for_symbols_6" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_7"
- latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_7"
- latin:moreKeys="!text/more_keys_for_symbols_7" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_8"
- latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_8"
- latin:moreKeys="!text/more_keys_for_symbols_8" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_9"
- latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_9"
- latin:moreKeys="!text/more_keys_for_symbols_9" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_0"
- latin:additionalMoreKeys="!text/additional_more_keys_for_symbols_0"
- latin:moreKeys="!text/more_keys_for_symbols_0" />
-</merge>
diff --git a/java/res/xml/rowkeys_symbols2.xml b/java/res/xml/rowkeys_symbols2.xml
deleted file mode 100644
index 425e20470..000000000
--- a/java/res/xml/rowkeys_symbols2.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:languageCode="fa"
- >
- <!-- U+066C: "٬" ARABIC THOUSANDS SEPARATOR
- U+066B: "٫" ARABIC DECIMAL SEPARATOR -->
- <Key
- latin:keyLabel="&#x066C;"
- latin:keyHintLabel="\@"
- latin:moreKeys="\@" />
- <Key
- latin:keyLabel="&#x066B;"
- latin:keyHintLabel="#"
- latin:moreKeys="#" />
- </case>
- <default>
- <Key
- latin:keyLabel="\@" />
- <Key
- latin:keyLabel="#" />
- </default>
- </switch>
- <Key
- latin:keyStyle="currencyKeyStyle" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_percent"
- latin:moreKeys="!text/more_keys_for_symbols_percent" />
- <Key
- latin:keyLabel="&amp;" />
- <Key
- latin:keyLabel="*"
- latin:moreKeys="!text/more_keys_for_star" />
- <!-- U+2013: "–" EN DASH
- U+2014: "—" EM DASH -->
- <Key
- latin:keyLabel="-"
- latin:moreKeys="_,&#x2013;,&#x2014;" />
- <Key
- latin:keyLabel="+"
- latin:moreKeys="!text/more_keys_for_plus" />
- <include
- latin:keyboardLayout="@xml/keys_parentheses" />
-</merge>
diff --git a/java/res/xml/rowkeys_symbols3.xml b/java/res/xml/rowkeys_symbols3.xml
deleted file mode 100644
index 7722ca9ae..000000000
--- a/java/res/xml/rowkeys_symbols3.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="!"
- latin:moreKeys="!text/more_keys_for_symbols_exclamation" />
- <switch>
- <case
- latin:languageCode="fa"
- >
- <!-- U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
- <Key
- latin:keyLabel="&#x00AB;"
- latin:code="0x00BB"
- latin:moreKeys="!text/more_keys_for_double_quote" />
- <Key
- latin:keyLabel="&#x00BB;"
- latin:code="0x00AB"
- latin:moreKeys="!text/more_keys_for_single_quote" />
- </case>
- <default>
- <Key
- latin:keyLabel="&quot;"
- latin:moreKeys="!text/more_keys_for_double_quote" />
- <Key
- latin:keyLabel="\'"
- latin:moreKeys="!text/more_keys_for_single_quote" />
- </default>
- </switch>
- <Key
- latin:keyLabel=":" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_semicolon"
- latin:moreKeys="!text/more_keys_for_symbols_semicolon" />
- <Key
- latin:keyLabel="/" />
- <Key
- latin:keyLabel="!text/keylabel_for_symbols_question"
- latin:moreKeys="!text/more_keys_for_symbols_question" />
-</merge>
diff --git a/java/res/xml/rowkeys_symbols_shift1.xml b/java/res/xml/rowkeys_symbols_shift1.xml
deleted file mode 100644
index fea8ae337..000000000
--- a/java/res/xml/rowkeys_symbols_shift1.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyLabel="~" />
- <Key
- latin:keyLabel="`" />
- <Key
- latin:keyLabel="|" />
- <!-- U+2022: "•" BULLET -->
- <Key
- latin:keyLabel="&#x2022;"
- latin:moreKeys="!text/more_keys_for_bullet" />
- <!-- U+221A: "√" SQUARE ROOT -->
- <Key
- latin:keyLabel="&#x221A;" />
- <!-- U+03C0: "π" GREEK SMALL LETTER PI
- U+03A0: "Π" GREEK CAPITAL LETTER PI -->
- <Key
- latin:keyLabel="&#x03C0;"
- latin:moreKeys="&#x03A0;" />
- <!-- U+00F7: "÷" DIVISION SIGN -->
- <Key
- latin:keyLabel="&#x00F7;" />
- <!-- U+00D7: "×" MULTIPLICATION SIGN -->
- <Key
- latin:keyLabel="&#x00D7;" />
- <include
- latin:keyboardLayout="@xml/keys_curly_brackets" />
-</merge>
diff --git a/java/res/xml/rowkeys_symbols_shift2.xml b/java/res/xml/rowkeys_symbols_shift2.xml
deleted file mode 100644
index 3fd8aacb6..000000000
--- a/java/res/xml/rowkeys_symbols_shift2.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Key
- latin:keyStyle="nonSpecialBackgroundTabKeyStyle" />
- <Key
- latin:keyStyle="moreCurrency1KeyStyle" />
- <Key
- latin:keyStyle="moreCurrency2KeyStyle" />
- <Key
- latin:keyStyle="moreCurrency3KeyStyle" />
- <!-- U+00B0: "°" DEGREE SIGN
- U+2032: "′" PRIME
- U+2033: "″" DOUBLE PRIME -->
- <Key
- latin:keyLabel="&#x00B0;"
- latin:moreKeys="&#x2032;,&#x2033;" />
- <!-- U+2191: "↑" UPWARDS ARROW
- U+2193: "↓" DOWNWARDS ARROW
- U+2190: "←" LEFTWARDS ARROW
- U+2192: "→" RIGHTWARDS ARROW -->
- <Key
- latin:keyLabel="^"
- latin:moreKeys="&#x2191;,&#x2193;,&#x2190;,&#x2192;" />
- <Key
- latin:keyLabel="_" />
- <!-- U+2260: "≠" NOT EQUAL TO
- U+2248: "≈" ALMOST EQUAL TO
- U+221E: "∞" INFINITY -->
- <Key
- latin:keyLabel="="
- latin:moreKeys="&#x2260;,&#x2248;,&#x221E;" />
- <include
- latin:keyboardLayout="@xml/keys_square_brackets" />
-</merge>
diff --git a/java/res/xml/rowkeys_symbols_shift3.xml b/java/res/xml/rowkeys_symbols_shift3.xml
deleted file mode 100644
index a35af218f..000000000
--- a/java/res/xml/rowkeys_symbols_shift3.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+2122: "™" TRADE MARK SIGN -->
- <Key
- latin:keyLabel="&#x2122;" />
- <!-- U+00AE: "®" REGISTERED SIGN -->
- <Key
- latin:keyLabel="&#x00AE;" />
- <!-- U+00A9: "©" COPYRIGHT SIGN -->
- <Key
- latin:keyLabel="&#x00A9;" />
- <!-- U+00B6: "¶" PILCROW SIGN
- U+00A7: "§" SECTION SIGN -->
- <Key
- latin:keyLabel="&#x00B6;"
- latin:moreKeys="&#x00A7;" />
- <Key
- latin:keyLabel="\\" />
- <include
- latin:keyboardLayout="@xml/keys_less_greater" />
-</merge>
diff --git a/java/res/xml/rowkeys_thai1.xml b/java/res/xml/rowkeys_thai1.xml
deleted file mode 100644
index 950d2a456..000000000
--- a/java/res/xml/rowkeys_thai1.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <Key
- latin:keyLabel="+" />
- <!-- U+0E51: "๑" THAI DIGIT ONE -->
- <Key
- latin:keyLabel="&#x0E51;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E52: "๒" THAI DIGIT TWO -->
- <Key
- latin:keyLabel="&#x0E52;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E53: "๓" THAI DIGIT THREE -->
- <Key
- latin:keyLabel="&#x0E53;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E54: "๔" THAI DIGIT FOUR -->
- <Key
- latin:keyLabel="&#x0E54;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0020: " " SPACE
- U+0E39: " ู" THAI CHARACTER SARA UU -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E39;"
- latin:code="0x0E39"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT -->
- <Key
- latin:keyLabel="&#x0E3F;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E55: "๕" THAI DIGIT FIVE -->
- <Key
- latin:keyLabel="&#x0E55;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E56: "๖" THAI DIGIT SIX -->
- <Key
- latin:keyLabel="&#x0E56;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E57: "๗" THAI DIGIT SEVEN -->
- <Key
- latin:keyLabel="&#x0E57;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E58: "๘" THAI DIGIT EIGHT -->
- <Key
- latin:keyLabel="&#x0E58;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E59: "๙" THAI DIGIT NINE -->
- <Key
- latin:keyLabel="&#x0E59;"
- latin:keyLabelFlags="fontNormal" />
- </case>
- <default>
- <!-- U+0E45: "ๅ" THAI CHARACTER LAKKHANGYAO -->
- <Key
- latin:keyLabel="&#x0E45;"
- latin:keyLabelFlags="fontNormal" />
- <Key
- latin:keyLabel="/" />
- <Key
- latin:keyLabel="_" />
- <!-- U+0E20: "ภ" THAI CHARACTER PHO SAMPHAO -->
- <Key
- latin:keyLabel="&#x0E20;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E16: "ถ" THAI CHARACTER THO THUNG -->
- <Key
- latin:keyLabel="&#x0E16;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0020: " " SPACE
- U+0E38: " ุ" THAI CHARACTER SARA U -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E38;"
- latin:code="0x0E38"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0020: " " SPACE
- U+0E36: " ึ" THAI CHARACTER SARA UE -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E36;"
- latin:code="0x0E36"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0E04: "ค" THAI CHARACTER KHO KHWAI -->
- <Key
- latin:keyLabel="&#x0E04;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E15: "ต" THAI CHARACTER TO TAO -->
- <Key
- latin:keyLabel="&#x0E15;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E08: "จ" THAI CHARACTER CHO CHAN -->
- <Key
- latin:keyLabel="&#x0E08;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E02: "ข" THAI CHARACTER KHO KHAI -->
- <Key
- latin:keyLabel="&#x0E02;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E0A: "ช" THAI CHARACTER CHO CHANG -->
- <Key
- latin:keyLabel="&#x0E0A;"
- latin:keyLabelFlags="fontNormal" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rowkeys_thai2.xml b/java/res/xml/rowkeys_thai2.xml
deleted file mode 100644
index f602994b9..000000000
--- a/java/res/xml/rowkeys_thai2.xml
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <!-- U+0E50: "๐" THAI DIGIT ZERO -->
- <Key
- latin:keyLabel="&#x0E50;"
- latin:keyLabelFlags="fontNormal" />
- <Key
- latin:keyLabel="&quot;" />
- <!-- U+0E0E: "ฎ" THAI CHARACTER DO CHADA -->
- <Key
- latin:keyLabel="&#x0E0E;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E11: "ฑ" THAI CHARACTER THO NANGMONTHO -->
- <Key
- latin:keyLabel="&#x0E11;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E18: "ธ" THAI CHARACTER THO THONG -->
- <Key
- latin:keyLabel="&#x0E18;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0020: " " SPACE
- U+0E4D: " ํ" THAI CHARACTER THANTHAKHAT -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E4D;"
- latin:code="0x0E4D"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0020: " " SPACE
- U+0E4A: " ๊" THAI CHARACTER MAI TRI -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E4A;"
- latin:code="0x0E4A"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0E13: "ณ" THAI CHARACTER NO NEN -->
- <Key
- latin:keyLabel="&#x0E13;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E2F: "ฯ" THAI CHARACTER PAIYANNOI -->
- <Key
- latin:keyLabel="&#x0E2F;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E0D: "ญ" THAI CHARACTER YO YING -->
- <Key
- latin:keyLabel="&#x0E0D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E10: "ฐ" THAI CHARACTER THO THAN -->
- <Key
- latin:keyLabel="&#x0E10;"
- latin:keyLabelFlags="fontNormal" />
- <Key
- latin:keyLabel="," />
- </case>
- <default>
- <!-- U+0E46: "ๆ" THAI CHARACTER MAIYAMOK -->
- <Key
- latin:keyLabel="&#x0E46;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E44: "ไ" THAI CHARACTER SARA AI MAIMALAI -->
- <Key
- latin:keyLabel="&#x0E44;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E33: "ำ" THAI CHARACTER SARA AM -->
- <Key
- latin:keyLabel="&#x0E33;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E1E: "พ" THAI CHARACTER PHO PHAN -->
- <Key
- latin:keyLabel="&#x0E1E;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E30: "ะ" THAI CHARACTER SARA A -->
- <Key
- latin:keyLabel="&#x0E30;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0020: " " SPACE
- U+0E31: " ั" THAI CHARACTER MAI HAN-AKAT -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E31;"
- latin:code="0x0E31"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0020: " " SPACE
- U+0E35: " ี" HAI CHARACTER SARA II -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E35;"
- latin:code="0x0E35"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0E23: "ร" THAI CHARACTER RO RUA -->
- <Key
- latin:keyLabel="&#x0E23;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E19: "น" THAI CHARACTER NO NU -->
- <Key
- latin:keyLabel="&#x0E19;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E22: "ย" THAI CHARACTER YO YAK -->
- <Key
- latin:keyLabel="&#x0E22;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E1A: "บ" THAI CHARACTER BO BAIMAI -->
- <Key
- latin:keyLabel="&#x0E1A;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E25: "ล" THAI CHARACTER LO LING -->
- <Key
- latin:keyLabel="&#x0E25;"
- latin:keyLabelFlags="fontNormal" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rowkeys_thai3.xml b/java/res/xml/rowkeys_thai3.xml
deleted file mode 100644
index 7b6e6372e..000000000
--- a/java/res/xml/rowkeys_thai3.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <!-- U+0E24: "ฤ" THAI CHARACTER RU -->
- <Key
- latin:keyLabel="&#x0E24;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E06: "ฆ" THAI CHARACTER KHO RAKHANG -->
- <Key
- latin:keyLabel="&#x0E06;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E0F: "ฏ" THAI CHARACTER TO PATAK -->
- <Key
- latin:keyLabel="&#x0E0F;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E42: "โ" THAI CHARACTER SARA O -->
- <Key
- latin:keyLabel="&#x0E42;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E0C: "ฌ" THAI CHARACTER CHO CHOE -->
- <Key
- latin:keyLabel="&#x0E0C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0020: " " SPACE
- U+0E47: " ็" THAI CHARACTER MAITAIKHU -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E47;"
- latin:code="0x0E47"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0020: " " SPACE
- U+0E4B: " ๋" THAI CHARACTER MAI CHATTAWA -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E4B;"
- latin:code="0x0E4B"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0E29: "ษ" THAI CHARACTER SO RUSI -->
- <Key
- latin:keyLabel="&#x0E29;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E28: "ศ" THAI CHARACTER SO SALA -->
- <Key
- latin:keyLabel="&#x0E28;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E0B: "ซ" THAI CHARACTER SO SO -->
- <Key
- latin:keyLabel="&#x0E0B;"
- latin:keyLabelFlags="fontNormal" />
- <Key
- latin:keyLabel="." />
- </case>
- <default>
- <!-- U+0E1F: "ฟ" THAI CHARACTER FO FAN -->
- <Key
- latin:keyLabel="&#x0E1F;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E2B: "ห" THAI CHARACTER HO HIP -->
- <Key
- latin:keyLabel="&#x0E2B;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E01: "ก" THAI CHARACTER KO KAI -->
- <Key
- latin:keyLabel="&#x0E01;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E14: "ด" THAI CHARACTER DO DEK -->
- <Key
- latin:keyLabel="&#x0E14;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E40: "เ" THAI CHARACTER SARA E -->
- <Key
- latin:keyLabel="&#x0E40;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0020: " " SPACE
- U+0E49: " ้" THAI CHARACTER MAI THO -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E49;"
- latin:code="0x0E49"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0020: " " SPACE
- U+0E48: " ่" THAI CHARACTER MAI EK -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E48;"
- latin:code="0x0E48"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0E32: "า" THAI CHARACTER SARA AA -->
- <Key
- latin:keyLabel="&#x0E32;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E2A: "ส" THAI CHARACTER SO SUA -->
- <Key
- latin:keyLabel="&#x0E2A;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E27: "ว" THAI CHARACTER WO WAEN -->
- <Key
- latin:keyLabel="&#x0E27;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E07: "ง" THAI CHARACTER NGO NGU -->
- <Key
- latin:keyLabel="&#x0E07;"
- latin:keyLabelFlags="fontNormal" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rowkeys_thai4.xml b/java/res/xml/rowkeys_thai4.xml
deleted file mode 100644
index 8a784242c..000000000
--- a/java/res/xml/rowkeys_thai4.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <Key
- latin:keyLabel="(" />
- <Key
- latin:keyLabel=")" />
- <!-- U+0E09: "ฉ" THAI CHARACTER CHO CHING -->
- <Key
- latin:keyLabel="&#x0E09;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E2E: "ฮ" THAI CHARACTER HO NOKHUK -->
- <Key
- latin:keyLabel="&#x0E2E;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0020: " " SPACE
- U+0E3A: " ฺ" THAI CHARACTER PHINTHU -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E3A;"
- latin:code="0x0E3A"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0020: " " SPACE
- U+0E4C: " ์" THAI CHARACTER THANTHAKHAT -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E4C;"
- latin:code="0x0E4C"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <Key
- latin:keyLabel="\?" />
- <!-- U+0E12: "ฒ" THAI CHARACTER THO PHUTHAO -->
- <Key
- latin:keyLabel="&#x0E12;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E2C: "ฬ" THAI CHARACTER LO CHULA -->
- <Key
- latin:keyLabel="&#x0E2C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E26: "ฦ" THAI CHARACTER LU -->
- <Key
- latin:keyLabel="&#x0E26;"
- latin:keyLabelFlags="fontNormal" />
- </case>
- <default>
- <!-- U+0E1C: "ผ" THAI CHARACTER PHO PHUNG -->
- <Key
- latin:keyLabel="&#x0E1C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E1B: "ป" THAI CHARACTER PO PLA -->
- <Key
- latin:keyLabel="&#x0E1B;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E41: "แ" THAI CHARACTER SARA AE -->
- <Key
- latin:keyLabel="&#x0E41;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E2D: "อ" THAI CHARACTER O ANG -->
- <Key
- latin:keyLabel="&#x0E2D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0020: " " SPACE
- U+0E34: " ิ" THAI CHARACTER SARA I -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E34;"
- latin:code="0x0E34"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0020: " " SPACE
- U+0E37: " ื" THAI CHARACTER SARA UEE -->
- <!-- Note: The space character is needed as a preceding letter to draw some Thai
- composing characters correctly. -->
- <Key
- latin:keyLabel="&#x20;&#x0E37;"
- latin:code="0x0E37"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+0E17: "ท" THAI CHARACTER THO THAHAN -->
- <Key
- latin:keyLabel="&#x0E17;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E21: "ม" THAI CHARACTER MO MA -->
- <Key
- latin:keyLabel="&#x0E21;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E43: "ใ" THAI CHARACTER SARA AI MAIMUAN -->
- <Key
- latin:keyLabel="&#x0E43;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0E1D: "ฝ" THAI CHARACTER FO FA -->
- <Key
- latin:keyLabel="&#x0E1D;"
- latin:keyLabelFlags="fontNormal" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rows_arabic.xml b/java/res/xml/rows_arabic.xml
deleted file mode 100644
index 6449af219..000000000
--- a/java/res/xml/rows_arabic.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_arabic1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_arabic2" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_arabic3"
- latin:keyXPos="5.0%p" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_azerty.xml b/java/res/xml/rows_azerty.xml
deleted file mode 100644
index a52504c4f..000000000
--- a/java/res/xml/rows_azerty.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_azerty1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_azerty2" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_azerty3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_bulgarian.xml b/java/res/xml/rows_bulgarian.xml
deleted file mode 100644
index 883c2833d..000000000
--- a/java/res/xml/rows_bulgarian.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian1" />
- </Row>
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian2" />
- </Row>
- <Row
- latin:keyWidth="9.091%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="13.636%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_bulgarian_bds.xml b/java/res/xml/rows_bulgarian_bds.xml
deleted file mode 100644
index b4f3f1207..000000000
--- a/java/res/xml/rows_bulgarian_bds.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian_bds1" />
- </Row>
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian_bds2" />
- </Row>
- <Row
- latin:keyWidth="8.711%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.8%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_bulgarian_bds3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_colemak.xml b/java/res/xml/rows_colemak.xml
deleted file mode 100644
index d74c2c9ec..000000000
--- a/java/res/xml/rows_colemak.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_colemak1" />
- <include
- latin:keyboardLayout="@xml/key_colemak_colon" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_colemak2" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_colemak3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_dvorak.xml b/java/res/xml/rows_dvorak.xml
deleted file mode 100644
index 8e3d071b0..000000000
--- a/java/res/xml/rows_dvorak.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/keys_dvorak_123" />
- <include
- latin:keyboardLayout="@xml/rowkeys_dvorak1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_dvorak2" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_dvorak3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_dvorak4" />
-</merge>
diff --git a/java/res/xml/rows_east_slavic.xml b/java/res/xml/rows_east_slavic.xml
deleted file mode 100644
index 5d3d768f3..000000000
--- a/java/res/xml/rows_east_slavic.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_east_slavic1" />
- </Row>
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_east_slavic2" />
- </Row>
- <Row
- latin:keyWidth="8.711%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.8%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_east_slavic3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_farsi.xml b/java/res/xml/rows_farsi.xml
deleted file mode 100644
index cc0c526b3..000000000
--- a/java/res/xml/rows_farsi.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_farsi1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_farsi2" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_farsi3"
- latin:keyXPos="5.0%p" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_georgian.xml b/java/res/xml/rows_georgian.xml
deleted file mode 100644
index 8c81dd007..000000000
--- a/java/res/xml/rows_georgian.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_georgian1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_georgian2"
- latin:keyXPos="5%p" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_georgian3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_greek.xml b/java/res/xml/rows_greek.xml
deleted file mode 100644
index ca6d24005..000000000
--- a/java/res/xml/rows_greek.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/key_greek_semicolon" />
- <include
- latin:keyboardLayout="@xml/rowkeys_greek1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_greek2"
- latin:keyXPos="5%p" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_greek3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_hebrew.xml b/java/res/xml/rows_hebrew.xml
deleted file mode 100644
index 2d513df65..000000000
--- a/java/res/xml/rows_hebrew.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_hebrew1"
- latin:keyXPos="5%p" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_hebrew2" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_hebrew3"
- latin:keyXPos="5%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_hindi.xml b/java/res/xml/rows_hindi.xml
deleted file mode 100644
index 5c631ebff..000000000
--- a/java/res/xml/rows_hindi.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_hindi1" />
- </Row>
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_hindi2" />
- </Row>
- <Row
- latin:keyWidth="8.711%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.8%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_hindi3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_nordic.xml b/java/res/xml/rows_nordic.xml
deleted file mode 100644
index 3068917f5..000000000
--- a/java/res/xml/rows_nordic.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_nordic1" />
- </Row>
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_nordic2" />
- </Row>
- <Row
- latin:keyWidth="9.2%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <Spacer
- latin:keyWidth="2.8%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyXPos="-15%p"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_number.xml b/java/res/xml/rows_number.xml
deleted file mode 100644
index 96564e8ff..000000000
--- a/java/res/xml/rows_number.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_number" />
- <switch>
- <case
- latin:passwordInput="true"
- >
- <include
- latin:keyboardLayout="@xml/rows_number_password" />
- </case>
- <default>
- <include
- latin:keyboardLayout="@xml/rows_number_normal" />
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml/rows_number_normal.xml b/java/res/xml/rows_number_normal.xml
deleted file mode 100644
index c59e26247..000000000
--- a/java/res/xml/rows_number_normal.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row>
- <Key
- latin:keyLabel="1"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="2"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="3"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="-"
- latin:keyStyle="numFunctionalKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyLabel="4"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="5"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="6"
- latin:keyStyle="numKeyStyle" />
- <switch>
- <case
- latin:mode="date"
- >
- <Key
- latin:keyLabel="."
- latin:keyStyle="numFunctionalKeyStyle"
- latin:keyWidth="fillRight" />
- </case>
- <case
- latin:mode="time|datetime"
- >
- <Key
- latin:keyLabel="."
- latin:keyLabelFlags="hasPopupHint"
- latin:moreKeys="!text/more_keys_for_am_pm"
- latin:keyStyle="numFunctionalKeyStyle"
- latin:keyWidth="fillRight" />
- </case>
- <default>
- <Key
- latin:keyLabel=","
- latin:keyStyle="numFunctionalKeyStyle"
- latin:keyWidth="fillRight" />
- </default>
- </switch>
- </Row>
- <Row>
- <Key
- latin:keyLabel="7"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="8"
- latin:keyStyle="numKeyStyle"/>
- <Key
- latin:keyLabel="9"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyStyle="numSpaceKeyStyle" />
- <Key
- latin:keyLabel="0"
- latin:keyStyle="numKeyStyle" />
- <switch>
- <case
- latin:mode="date"
- >
- <Key
- latin:keyLabel="/"
- latin:keyStyle="numKeyStyle" />
- </case>
- <case
- latin:mode="time"
- >
- <Key
- latin:keyLabel=":"
- latin:keyStyle="numKeyStyle" />
- </case>
- <case
- latin:mode="datetime"
- >
- <!-- U+002F: "/" SOLIDUS -->
- <Key
- latin:code="0x002F"
- latin:keyLabel="/ :"
- latin:moreKeys="!embeddedMoreKey!,:"
- latin:keyStyle="numKeyStyle" />
- </case>
- <default>
- <Key
- latin:keyLabel="."
- latin:keyStyle="numKeyStyle" />
- </default>
- </switch>
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml/rows_number_password.xml b/java/res/xml/rows_number_password.xml
deleted file mode 100644
index 2e61a08ae..000000000
--- a/java/res/xml/rows_number_password.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="10%p" />
- <Key
- latin:keyStyle="num1KeyStyle" />
- <Key
- latin:keyStyle="num2KeyStyle" />
- <Key
- latin:keyStyle="num3KeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="10%p" />
- <Key
- latin:keyStyle="num4KeyStyle" />
- <Key
- latin:keyStyle="num5KeyStyle" />
- <Key
- latin:keyStyle="num6KeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="10%p" />
- <Key
- latin:keyStyle="num7KeyStyle" />
- <Key
- latin:keyStyle="num8KeyStyle" />
- <Key
- latin:keyStyle="num9KeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <!-- Note: This Spacer prevents the below key from being marked as a left edge key. -->
- <Spacer
- latin:keyWidth="10%p" />
- <Key
- latin:keyStyle="deleteKeyStyle" />
- <Key
- latin:keyStyle="num0KeyStyle" />
- <Key
- latin:keyStyle="enterKeyStyle" />
- <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
- <Spacer
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml/rows_pcqwerty.xml b/java/res/xml/rows_pcqwerty.xml
deleted file mode 100644
index a5ed74518..000000000
--- a/java/res/xml/rows_pcqwerty.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="7.692%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
- </Row>
- <Row
- latin:keyWidth="7.692%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
- </Row>
- <Row
- latin:keyWidth="7.692%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty3"
- latin:keyXPos="3.846%p" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <Row
- latin:keyWidth="7.692%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="11.538%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty4" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_pcqwerty5" />
-</merge>
diff --git a/java/res/xml/rows_pcqwerty_symbols.xml b/java/res/xml/rows_pcqwerty_symbols.xml
deleted file mode 100644
index 107a4ad1f..000000000
--- a/java/res/xml/rows_pcqwerty_symbols.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="7.692%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
- </Row>
- <Row
- latin:keyWidth="7.692%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
- </Row>
- <Row
- latin:keyWidth="7.692%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty3"
- latin:keyXPos="3.846%p" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <Row
- latin:keyWidth="7.692%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_pcqwerty4"
- latin:keyXPos="11.538%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_pcqwerty5" />
-</merge>
diff --git a/java/res/xml/rows_phone.xml b/java/res/xml/rows_phone.xml
deleted file mode 100644
index 630b24ea4..000000000
--- a/java/res/xml/rows_phone.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_number" />
- <Row>
- <Key
- latin:keyStyle="num1KeyStyle" />
- <Key
- latin:keyStyle="num2KeyStyle" />
- <Key
- latin:keyStyle="num3KeyStyle" />
- <Key
- latin:keyLabel="-"
- latin:keyStyle="numFunctionalKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyStyle="num4KeyStyle" />
- <Key
- latin:keyStyle="num5KeyStyle" />
- <Key
- latin:keyStyle="num6KeyStyle" />
- <Key
- latin:keyLabel="."
- latin:keyStyle="numFunctionalKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyStyle="num7KeyStyle" />
- <Key
- latin:keyStyle="num8KeyStyle" />
- <Key
- latin:keyStyle="num9KeyStyle" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyStyle="numPhoneToSymbolKeyStyle" />
- <!-- U+0030: "0" DIGIT ZERO -->
- <Key
- latin:keyStyle="num0KeyStyle"
- latin:code="0x0030"
- latin:keyLabel="0 +"
- latin:moreKeys="!embeddedMoreKey!,+" />
- <Key
- latin:keyStyle="numSpaceKeyStyle" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml/rows_phone_symbols.xml b/java/res/xml/rows_phone_symbols.xml
deleted file mode 100644
index 7841c56e5..000000000
--- a/java/res/xml/rows_phone_symbols.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_number" />
- <Row>
- <Key
- latin:keyLabel="("
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="/"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel=")"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="-"
- latin:keyStyle="numFunctionalKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyLabel="N"
- latin:keyStyle="numKeyBaseStyle" />
- <!-- Pause is a comma. Check PhoneNumberUtils.java to see if this
- has changed. -->
- <Key
- latin:keyStyle="numPauseKeyStyle" />
- <Key
- latin:keyLabel=","
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyLabel="."
- latin:keyStyle="numFunctionalKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyStyle="numStarKeyStyle" />
- <!-- Wait is a semicolon. -->
- <Key
- latin:keyStyle="numWaitKeyStyle" />
- <Key
- latin:keyLabel="#"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <Row>
- <Key
- latin:keyStyle="numPhoneToNumericKeyStyle" />
- <Key
- latin:keyLabel="+"
- latin:keyStyle="numKeyStyle" />
- <Key
- latin:keyStyle="numSpaceKeyStyle" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
-</merge>
diff --git a/java/res/xml/rows_qwerty.xml b/java/res/xml/rows_qwerty.xml
deleted file mode 100644
index cdd420361..000000000
--- a/java/res/xml/rows_qwerty.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty2"
- latin:keyXPos="5%p" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_qwertz.xml b/java/res/xml/rows_qwertz.xml
deleted file mode 100644
index 31a147c12..000000000
--- a/java/res/xml/rows_qwertz.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwertz1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty2"
- latin:keyXPos="5%p" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwertz3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_south_slavic.xml b/java/res/xml/rows_south_slavic.xml
deleted file mode 100644
index 05442848d..000000000
--- a/java/res/xml/rows_south_slavic.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_south_slavic1" />
- </Row>
- <Row
- latin:keyWidth="9.091%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_south_slavic2" />
- </Row>
- <Row
- latin:keyWidth="8.711%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.8%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_south_slavic3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_spanish.xml b/java/res/xml/rows_spanish.xml
deleted file mode 100644
index ecda4a4a6..000000000
--- a/java/res/xml/rows_spanish.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_spanish2" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/rows_symbols.xml b/java/res/xml/rows_symbols.xml
deleted file mode 100644
index bd1a57e75..000000000
--- a/java/res/xml/rows_symbols.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols2" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="toMoreSymbolKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols4" />
-</merge>
diff --git a/java/res/xml/rows_symbols_shift.xml b/java/res/xml/rows_symbols_shift.xml
deleted file mode 100644
index 9c03d90b5..000000000
--- a/java/res/xml/rows_symbols_shift.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <include
- latin:keyboardLayout="@xml/key_styles_currency" />
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift1" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift2" />
- </Row>
- <Row
- latin:keyWidth="10%p"
- >
- <Key
- latin:keyStyle="backFromMoreSymbolKeyStyle"
- latin:keyWidth="15%p"
- latin:visualInsetsRight="1%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_symbols_shift3" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight"
- latin:visualInsetsLeft="1%p" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_symbols_shift4" />
-</merge>
diff --git a/java/res/xml/rows_thai.xml b/java/res/xml/rows_thai.xml
deleted file mode 100644
index 108b7e1fc..000000000
--- a/java/res/xml/rows_thai.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <include
- latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="8.3333%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_thai1" />
- </Row>
- <Row
- latin:keyWidth="8.3333%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_thai2" />
- </Row>
- <Row
- latin:keyWidth="8.3333%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_thai3" />
- <include
- latin:keyboardLayout="@xml/key_thai_kho_khuat" />
- </Row>
- <Row
- latin:keyWidth="8.3333%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle" />
- <include
- latin:keyboardLayout="@xml/rowkeys_thai4" />
- <Key
- latin:keyStyle="deleteKeyStyle" />
- </Row>
- <include
- latin:keyboardLayout="@xml/row_qwerty4" />
-</merge>
diff --git a/java/res/xml/spell_checker_settings.xml b/java/res/xml/spell_checker_settings.xml
deleted file mode 100644
index 222b98b6b..000000000
--- a/java/res/xml/spell_checker_settings.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<PreferenceScreen
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="@string/android_spell_checker_settings">
- <CheckBoxPreference
- android:key="pref_spellcheck_use_contacts"
- android:title="@string/use_contacts_for_spellchecking_option_title"
- android:summary="@string/use_contacts_for_spellchecking_option_summary"
- android:persistent="true"
- android:defaultValue="true" />
-</PreferenceScreen>
diff --git a/java/res/xml/spellchecker.xml b/java/res/xml/spellchecker.xml
deleted file mode 100644
index 66cd66280..000000000
--- a/java/res/xml/spellchecker.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/**
- * Copyright (c) 2011, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<!-- The attributes in this XML file provide the configuration information
- for the spell checker -->
-
-<spell-checker xmlns:android="http://schemas.android.com/apk/res/android"
- android:label="@string/aosp_spell_checker_service_name"
- android:settingsActivity="com.android.inputmethod.latin.spellcheck.SpellCheckerSettingsActivity">
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="en"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="en_US"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="en_GB"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="fr"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="de"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="it"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="es"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="ru"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="cs"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="nl"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="hr"
- />
- <subtype
- android:label="@string/subtype_generic"
- android:subtypeLocale="pt_BR"
- />
-</spell-checker>
diff --git a/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java b/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java
index 5af5d044f..b9b6362fc 100644
--- a/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java
+++ b/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java
@@ -47,7 +47,7 @@ import com.android.inputmethod.latin.CollectionUtils;
* virtual views, thus conveying their logical structure.
* </p>
*/
-public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat {
+public final class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat {
private static final String TAG = AccessibilityEntityProvider.class.getSimpleName();
private static final int UNDEFINED = Integer.MIN_VALUE;
diff --git a/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java b/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java
index 01220a58a..fcfa6d4e4 100644
--- a/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java
+++ b/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java
@@ -32,7 +32,7 @@ import com.android.inputmethod.keyboard.MainKeyboardView;
import com.android.inputmethod.keyboard.PointerTracker;
import com.android.inputmethod.latin.R;
-public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat {
+public final class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat {
private static final AccessibleKeyboardViewProxy sInstance = new AccessibleKeyboardViewProxy();
private InputMethodService mInputMethod;
diff --git a/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java b/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java
index 5c45448a5..b87ae3a15 100644
--- a/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java
+++ b/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java
@@ -26,11 +26,12 @@ import com.android.inputmethod.keyboard.Key;
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardId;
import com.android.inputmethod.latin.CollectionUtils;
+import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.R;
import java.util.HashMap;
-public class KeyCodeDescriptionMapper {
+public final class KeyCodeDescriptionMapper {
private static final String TAG = KeyCodeDescriptionMapper.class.getSimpleName();
// The resource ID of the string spoken for obscured keys
@@ -61,17 +62,19 @@ public class KeyCodeDescriptionMapper {
mKeyLabelMap.put(":-)", R.string.spoken_description_smiley);
// Special non-character codes defined in Keyboard
- mKeyCodeMap.put(Keyboard.CODE_SPACE, R.string.spoken_description_space);
- mKeyCodeMap.put(Keyboard.CODE_DELETE, R.string.spoken_description_delete);
- mKeyCodeMap.put(Keyboard.CODE_ENTER, R.string.spoken_description_return);
- mKeyCodeMap.put(Keyboard.CODE_SETTINGS, R.string.spoken_description_settings);
- mKeyCodeMap.put(Keyboard.CODE_SHIFT, R.string.spoken_description_shift);
- mKeyCodeMap.put(Keyboard.CODE_SHORTCUT, R.string.spoken_description_mic);
- mKeyCodeMap.put(Keyboard.CODE_SWITCH_ALPHA_SYMBOL, R.string.spoken_description_to_symbol);
- mKeyCodeMap.put(Keyboard.CODE_TAB, R.string.spoken_description_tab);
- mKeyCodeMap.put(Keyboard.CODE_LANGUAGE_SWITCH, R.string.spoken_description_language_switch);
- mKeyCodeMap.put(Keyboard.CODE_ACTION_NEXT, R.string.spoken_description_action_next);
- mKeyCodeMap.put(Keyboard.CODE_ACTION_PREVIOUS, R.string.spoken_description_action_previous);
+ mKeyCodeMap.put(Constants.CODE_SPACE, R.string.spoken_description_space);
+ mKeyCodeMap.put(Constants.CODE_DELETE, R.string.spoken_description_delete);
+ mKeyCodeMap.put(Constants.CODE_ENTER, R.string.spoken_description_return);
+ mKeyCodeMap.put(Constants.CODE_SETTINGS, R.string.spoken_description_settings);
+ mKeyCodeMap.put(Constants.CODE_SHIFT, R.string.spoken_description_shift);
+ mKeyCodeMap.put(Constants.CODE_SHORTCUT, R.string.spoken_description_mic);
+ mKeyCodeMap.put(Constants.CODE_SWITCH_ALPHA_SYMBOL, R.string.spoken_description_to_symbol);
+ mKeyCodeMap.put(Constants.CODE_TAB, R.string.spoken_description_tab);
+ mKeyCodeMap.put(Constants.CODE_LANGUAGE_SWITCH,
+ R.string.spoken_description_language_switch);
+ mKeyCodeMap.put(Constants.CODE_ACTION_NEXT, R.string.spoken_description_action_next);
+ mKeyCodeMap.put(Constants.CODE_ACTION_PREVIOUS,
+ R.string.spoken_description_action_previous);
}
/**
@@ -97,17 +100,17 @@ public class KeyCodeDescriptionMapper {
boolean shouldObscure) {
final int code = key.mCode;
- if (code == Keyboard.CODE_SWITCH_ALPHA_SYMBOL) {
+ if (code == Constants.CODE_SWITCH_ALPHA_SYMBOL) {
final String description = getDescriptionForSwitchAlphaSymbol(context, keyboard);
if (description != null)
return description;
}
- if (code == Keyboard.CODE_SHIFT) {
+ if (code == Constants.CODE_SHIFT) {
return getDescriptionForShiftKey(context, keyboard);
}
- if (code == Keyboard.CODE_ACTION_ENTER) {
+ if (code == Constants.CODE_ACTION_ENTER) {
return getDescriptionForActionKey(context, keyboard, key);
}
@@ -121,7 +124,7 @@ public class KeyCodeDescriptionMapper {
}
// Just attempt to speak the description.
- if (key.mCode != Keyboard.CODE_UNSPECIFIED) {
+ if (key.mCode != Constants.CODE_UNSPECIFIED) {
return getDescriptionForKeyCode(context, keyboard, key, shouldObscure);
}
diff --git a/java/src/com/android/inputmethod/annotations/ExternallyReferenced.java b/java/src/com/android/inputmethod/annotations/ExternallyReferenced.java
new file mode 100644
index 000000000..ea5f12ce2
--- /dev/null
+++ b/java/src/com/android/inputmethod/annotations/ExternallyReferenced.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.annotations;
+
+/**
+ * Denotes that the class, method or field should not be eliminated by ProGuard,
+ * because it is externally referenced. (See proguard.flags)
+ */
+public @interface ExternallyReferenced {
+}
diff --git a/java/src/com/android/inputmethod/annotations/UsedForTesting.java b/java/src/com/android/inputmethod/annotations/UsedForTesting.java
new file mode 100644
index 000000000..2ada091e4
--- /dev/null
+++ b/java/src/com/android/inputmethod/annotations/UsedForTesting.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.annotations;
+
+/**
+ * Denotes that the class, method or field should not be eliminated by ProGuard,
+ * so that unit tests can access it. (See proguard.flags)
+ */
+public @interface UsedForTesting {
+}
diff --git a/java/src/com/android/inputmethod/compat/AudioManagerCompatWrapper.java b/java/src/com/android/inputmethod/compat/AudioManagerCompatWrapper.java
index b6c3e2a88..40eed91f2 100644
--- a/java/src/com/android/inputmethod/compat/AudioManagerCompatWrapper.java
+++ b/java/src/com/android/inputmethod/compat/AudioManagerCompatWrapper.java
@@ -20,7 +20,7 @@ import android.media.AudioManager;
import java.lang.reflect.Method;
-public class AudioManagerCompatWrapper {
+public final class AudioManagerCompatWrapper {
private static final Method METHOD_isWiredHeadsetOn = CompatUtils.getMethod(
AudioManager.class, "isWiredHeadsetOn");
private static final Method METHOD_isBluetoothA2dpOn = CompatUtils.getMethod(
diff --git a/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java b/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java
index cc10a4ed2..a01c301ee 100644
--- a/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java
+++ b/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java
@@ -27,7 +27,7 @@ import java.lang.reflect.Method;
// TODO: Override this class with the concrete implementation if we need to take care of the
// performance.
-public class InputMethodManagerCompatWrapper {
+public final class InputMethodManagerCompatWrapper {
private static final String TAG = InputMethodManagerCompatWrapper.class.getSimpleName();
private static final Method METHOD_switchToNextInputMethod = CompatUtils.getMethod(
InputMethodManager.class, "switchToNextInputMethod", IBinder.class, Boolean.TYPE);
diff --git a/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java b/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java
index 159f43650..c1609ea28 100644
--- a/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java
+++ b/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java
@@ -83,14 +83,13 @@ public final class SuggestionSpanUtils {
}
public static CharSequence getTextWithAutoCorrectionIndicatorUnderline(
- Context context, CharSequence text) {
+ final Context context, final String text) {
if (TextUtils.isEmpty(text) || CONSTRUCTOR_SuggestionSpan == null
|| OBJ_FLAG_AUTO_CORRECTION == null || OBJ_SUGGESTIONS_MAX_SIZE == null
|| OBJ_FLAG_MISSPELLED == null || OBJ_FLAG_EASY_CORRECT == null) {
return text;
}
- final Spannable spannable = text instanceof Spannable
- ? (Spannable) text : new SpannableString(text);
+ final Spannable spannable = new SpannableString(text);
final Object[] args =
{ context, null, new String[] {}, (int)OBJ_FLAG_AUTO_CORRECTION,
(Class<?>) SuggestionSpanPickedNotificationReceiver.class };
@@ -104,28 +103,24 @@ public final class SuggestionSpanUtils {
return spannable;
}
- public static CharSequence getTextWithSuggestionSpan(Context context,
- CharSequence pickedWord, SuggestedWords suggestedWords, boolean dictionaryAvailable) {
+ public static CharSequence getTextWithSuggestionSpan(final Context context,
+ final String pickedWord, final SuggestedWords suggestedWords,
+ final boolean dictionaryAvailable) {
if (!dictionaryAvailable || TextUtils.isEmpty(pickedWord)
|| CONSTRUCTOR_SuggestionSpan == null
- || suggestedWords == null || suggestedWords.size() == 0
- || suggestedWords.mIsPrediction || suggestedWords.mIsPunctuationSuggestions
+ || suggestedWords.isEmpty() || suggestedWords.mIsPrediction
+ || suggestedWords.mIsPunctuationSuggestions
|| OBJ_SUGGESTIONS_MAX_SIZE == null) {
return pickedWord;
}
- final Spannable spannable;
- if (pickedWord instanceof Spannable) {
- spannable = (Spannable) pickedWord;
- } else {
- spannable = new SpannableString(pickedWord);
- }
+ final Spannable spannable = new SpannableString(pickedWord);
final ArrayList<String> suggestionsList = CollectionUtils.newArrayList();
for (int i = 0; i < suggestedWords.size(); ++i) {
if (suggestionsList.size() >= OBJ_SUGGESTIONS_MAX_SIZE) {
break;
}
- final CharSequence word = suggestedWords.getWord(i);
+ final String word = suggestedWords.getWord(i);
if (!TextUtils.equals(pickedWord, word)) {
suggestionsList.add(word.toString());
}
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index cb120a33e..7346a9c38 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -16,11 +16,11 @@
package com.android.inputmethod.keyboard;
-import static com.android.inputmethod.keyboard.Keyboard.CODE_OUTPUT_TEXT;
-import static com.android.inputmethod.keyboard.Keyboard.CODE_SHIFT;
-import static com.android.inputmethod.keyboard.Keyboard.CODE_SWITCH_ALPHA_SYMBOL;
-import static com.android.inputmethod.keyboard.Keyboard.CODE_UNSPECIFIED;
import static com.android.inputmethod.keyboard.internal.KeyboardIconsSet.ICON_UNDEFINED;
+import static com.android.inputmethod.latin.Constants.CODE_OUTPUT_TEXT;
+import static com.android.inputmethod.latin.Constants.CODE_SHIFT;
+import static com.android.inputmethod.latin.Constants.CODE_SWITCH_ALPHA_SYMBOL;
+import static com.android.inputmethod.latin.Constants.CODE_UNSPECIFIED;
import android.content.res.Resources;
import android.content.res.TypedArray;
@@ -39,6 +39,7 @@ import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
import com.android.inputmethod.keyboard.internal.KeyboardParams;
import com.android.inputmethod.keyboard.internal.KeyboardRow;
import com.android.inputmethod.keyboard.internal.MoreKeySpec;
+import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.ResourceUtils;
import com.android.inputmethod.latin.StringUtils;
@@ -138,7 +139,7 @@ public class Key implements Comparable<Key> {
private final OptionalAttributes mOptionalAttributes;
- private static class OptionalAttributes {
+ private static final class OptionalAttributes {
/** Text to output when pressed. This can be multiple characters, like ".com" */
public final String mOutputText;
public final int mAltCode;
@@ -453,7 +454,7 @@ public class Key implements Comparable<Key> {
label = "/" + mLabel;
}
return String.format("%s%s %d,%d %dx%d %s/%s/%s",
- Keyboard.printableCode(mCode), label, mX, mY, mWidth, mHeight, mHintLabel,
+ Constants.printableCode(mCode), label, mX, mY, mWidth, mHeight, mHintLabel,
KeyboardIconsSet.getIconName(mIconId), backgroundName(mBackgroundType));
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyDetector.java b/java/src/com/android/inputmethod/keyboard/KeyDetector.java
index f5686dcda..0a91284d0 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyDetector.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyDetector.java
@@ -21,6 +21,7 @@ import com.android.inputmethod.latin.Constants;
public class KeyDetector {
private final int mKeyHysteresisDistanceSquared;
+ private final int mKeyHysteresisDistanceForSlidingModifierSquared;
private Keyboard mKeyboard;
private int mCorrectionX;
@@ -30,10 +31,24 @@ public class KeyDetector {
* This class handles key detection.
*
* @param keyHysteresisDistance if the pointer movement distance is smaller than this, the
- * movement will not been handled as meaningful movement. The unit is pixel.
+ * movement will not be handled as meaningful movement. The unit is pixel.
*/
public KeyDetector(float keyHysteresisDistance) {
+ this(keyHysteresisDistance, keyHysteresisDistance);
+ }
+
+ /**
+ * This class handles key detection.
+ *
+ * @param keyHysteresisDistance if the pointer movement distance is smaller than this, the
+ * movement will not be handled as meaningful movement. The unit is pixel.
+ * @param keyHysteresisDistanceForSlidingModifier the same parameter for sliding input that
+ * starts from a modifier key such as shift and symbols key.
+ */
+ public KeyDetector(float keyHysteresisDistance, float keyHysteresisDistanceForSlidingModifier) {
mKeyHysteresisDistanceSquared = (int)(keyHysteresisDistance * keyHysteresisDistance);
+ mKeyHysteresisDistanceForSlidingModifierSquared = (int)(
+ keyHysteresisDistanceForSlidingModifier * keyHysteresisDistanceForSlidingModifier);
}
public void setKeyboard(Keyboard keyboard, float correctionX, float correctionY) {
@@ -45,8 +60,9 @@ public class KeyDetector {
mKeyboard = keyboard;
}
- public int getKeyHysteresisDistanceSquared() {
- return mKeyHysteresisDistanceSquared;
+ public int getKeyHysteresisDistanceSquared(boolean isSlidingFromModifier) {
+ return isSlidingFromModifier
+ ? mKeyHysteresisDistanceForSlidingModifierSquared : mKeyHysteresisDistanceSquared;
}
public int getTouchX(int x) {
@@ -102,7 +118,7 @@ public class KeyDetector {
}
public static String printableCode(Key key) {
- return key != null ? Keyboard.printableCode(key.mCode) : "none";
+ return key != null ? Constants.printableCode(key.mCode) : "none";
}
public static String printableCodes(int[] codes) {
@@ -111,7 +127,7 @@ public class KeyDetector {
for (final int code : codes) {
if (code == Constants.NOT_A_CODE) break;
if (addDelimiter) sb.append(", ");
- sb.append(Keyboard.printableCode(code));
+ sb.append(Constants.printableCode(code));
addDelimiter = true;
}
return "[" + sb + "]";
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index b7c7f415d..a1b1f5dad 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -16,15 +16,13 @@
package com.android.inputmethod.keyboard;
-import android.util.Log;
import android.util.SparseArray;
import com.android.inputmethod.keyboard.internal.KeyVisualAttributes;
import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
import com.android.inputmethod.keyboard.internal.KeyboardParams;
import com.android.inputmethod.latin.CollectionUtils;
-
-
+import com.android.inputmethod.latin.Constants;
/**
* Loads an XML description of a keyboard and stores the attributes of the keys. A keyboard
@@ -45,46 +43,6 @@ import com.android.inputmethod.latin.CollectionUtils;
* </pre>
*/
public class Keyboard {
- private static final String TAG = Keyboard.class.getSimpleName();
-
- /** Some common keys code. Must be positive.
- * These should be aligned with values/keycodes.xml
- */
- public static final int CODE_ENTER = '\n';
- public static final int CODE_TAB = '\t';
- public static final int CODE_SPACE = ' ';
- public static final int CODE_PERIOD = '.';
- public static final int CODE_DASH = '-';
- public static final int CODE_SINGLE_QUOTE = '\'';
- public static final int CODE_DOUBLE_QUOTE = '"';
- public static final int CODE_QUESTION_MARK = '?';
- public static final int CODE_EXCLAMATION_MARK = '!';
- // TODO: Check how this should work for right-to-left languages. It seems to stand
- // that for rtl languages, a closing parenthesis is a left parenthesis. Is this
- // managed by the font? Or is it a different char?
- public static final int CODE_CLOSING_PARENTHESIS = ')';
- public static final int CODE_CLOSING_SQUARE_BRACKET = ']';
- public static final int CODE_CLOSING_CURLY_BRACKET = '}';
- public static final int CODE_CLOSING_ANGLE_BRACKET = '>';
-
- /** Special keys code. Must be negative.
- * These should be aligned with KeyboardCodesSet.ID_TO_NAME[],
- * KeyboardCodesSet.DEFAULT[] and KeyboardCodesSet.RTL[]
- */
- public static final int CODE_SHIFT = -1;
- public static final int CODE_SWITCH_ALPHA_SYMBOL = -2;
- public static final int CODE_OUTPUT_TEXT = -3;
- public static final int CODE_DELETE = -4;
- public static final int CODE_SETTINGS = -5;
- public static final int CODE_SHORTCUT = -6;
- public static final int CODE_ACTION_ENTER = -7;
- public static final int CODE_ACTION_NEXT = -8;
- public static final int CODE_ACTION_PREVIOUS = -9;
- public static final int CODE_LANGUAGE_SWITCH = -10;
- public static final int CODE_RESEARCH = -11;
- // Code value representing the code is not specified.
- public static final int CODE_UNSPECIFIED = -12;
-
public final KeyboardId mId;
public final int mThemeId;
@@ -163,7 +121,7 @@ public class Keyboard {
}
public Key getKey(final int code) {
- if (code == CODE_UNSPECIFIED) {
+ if (code == Constants.CODE_UNSPECIFIED) {
return null;
}
synchronized (mKeyCache) {
@@ -197,10 +155,6 @@ public class Keyboard {
return false;
}
- public static boolean isLetterCode(final int code) {
- return code >= CODE_SPACE;
- }
-
@Override
public String toString() {
return mId.toString();
@@ -219,27 +173,4 @@ public class Keyboard {
final int adjustedY = Math.max(0, Math.min(y, mOccupiedHeight - 1));
return mProximityInfo.getNearestKeys(adjustedX, adjustedY);
}
-
- public static String printableCode(final int code) {
- switch (code) {
- case CODE_SHIFT: return "shift";
- case CODE_SWITCH_ALPHA_SYMBOL: return "symbol";
- case CODE_OUTPUT_TEXT: return "text";
- case CODE_DELETE: return "delete";
- case CODE_SETTINGS: return "settings";
- case CODE_SHORTCUT: return "shortcut";
- case CODE_ACTION_ENTER: return "actionEnter";
- case CODE_ACTION_NEXT: return "actionNext";
- case CODE_ACTION_PREVIOUS: return "actionPrevious";
- case CODE_LANGUAGE_SWITCH: return "languageSwitch";
- case CODE_UNSPECIFIED: return "unspec";
- case CODE_TAB: return "tab";
- case CODE_ENTER: return "enter";
- default:
- if (code <= 0) Log.w(TAG, "Unknown non-positive key code=" + code);
- if (code < CODE_SPACE) return String.format("'\\u%02x'", code);
- if (code < 0x100) return String.format("'%c'", code);
- return String.format("'\\u%04x'", code);
- }
- }
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java b/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java
index 5c8f78f5e..b612f0927 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java
@@ -56,11 +56,11 @@ public interface KeyboardActionListener {
public void onCodeInput(int primaryCode, int x, int y);
/**
- * Sends a sequence of characters to the listener.
+ * Sends a string of characters to the listener.
*
- * @param text the sequence of characters to be displayed.
+ * @param text the string of characters to be registered.
*/
- public void onTextInput(CharSequence text);
+ public void onTextInput(String text);
/**
* Called when user started batch input.
@@ -99,7 +99,7 @@ public interface KeyboardActionListener {
@Override
public void onCodeInput(int primaryCode, int x, int y) {}
@Override
- public void onTextInput(CharSequence text) {}
+ public void onTextInput(String text) {}
@Override
public void onStartBatchInput() {}
@Override
@@ -112,13 +112,5 @@ public interface KeyboardActionListener {
public boolean onCustomRequest(int requestCode) {
return false;
}
-
- // TODO: Remove this method when the vertical correction is removed.
- public static boolean isInvalidCoordinate(int coordinate) {
- // Detect {@link Constants#NOT_A_COORDINATE},
- // {@link Constants#SUGGESTION_STRIP_COORDINATE}, and
- // {@link Constants#SPELL_CHECKER_COORDINATE}.
- return coordinate < 0;
- }
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
index 1e5277345..5e8a8f6bb 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
@@ -33,7 +33,7 @@ import java.util.Locale;
/**
* Unique identifier for each keyboard type.
*/
-public class KeyboardId {
+public final class KeyboardId {
public static final int MODE_TEXT = 0;
public static final int MODE_URL = 1;
public static final int MODE_EMAIL = 2;
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java b/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
index aaccf63ba..4d5d7e14e 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
@@ -34,6 +34,7 @@ import android.util.Xml;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodSubtype;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.compat.EditorInfoCompatUtils;
import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
import com.android.inputmethod.keyboard.internal.KeyboardParams;
@@ -61,7 +62,7 @@ import java.util.HashMap;
* A {@link KeyboardLayoutSet} needs to be created for each
* {@link android.view.inputmethod.EditorInfo}.
*/
-public class KeyboardLayoutSet {
+public final class KeyboardLayoutSet {
private static final String TAG = KeyboardLayoutSet.class.getSimpleName();
private static final boolean DEBUG_CACHE = LatinImeLogger.sDBG;
@@ -77,7 +78,7 @@ public class KeyboardLayoutSet {
CollectionUtils.newHashMap();
private static final KeysCache sKeysCache = new KeysCache();
- public static class KeyboardLayoutSetException extends RuntimeException {
+ public static final class KeyboardLayoutSetException extends RuntimeException {
public final KeyboardId mKeyboardId;
public KeyboardLayoutSetException(final Throwable cause, final KeyboardId keyboardId) {
@@ -86,17 +87,17 @@ public class KeyboardLayoutSet {
}
}
- private static class ElementParams {
+ private static final class ElementParams {
int mKeyboardXmlId;
boolean mProximityCharsCorrectionEnabled;
public ElementParams() {}
}
- private static class Params {
+ private static final class Params {
String mKeyboardLayoutSetName;
int mMode;
EditorInfo mEditorInfo;
- boolean mTouchPositionCorrectionEnabled;
+ boolean mDisableTouchPositionCorrectionDataForTest;
boolean mVoiceKeyEnabled;
boolean mVoiceKeyOnMain;
boolean mNoSettingsKey;
@@ -167,7 +168,9 @@ public class KeyboardLayoutSet {
}
final int keyboardXmlId = elementParams.mKeyboardXmlId;
builder.load(keyboardXmlId, id);
- builder.setTouchPositionCorrectionEnabled(mParams.mTouchPositionCorrectionEnabled);
+ if (mParams.mDisableTouchPositionCorrectionDataForTest) {
+ builder.disableTouchPositionCorrectionDataForTest();
+ }
builder.setProximityCharsCorrectionEnabled(
elementParams.mProximityCharsCorrectionEnabled);
keyboard = builder.build();
@@ -192,16 +195,15 @@ public class KeyboardLayoutSet {
final Params params = mParams;
final boolean isSymbols = (keyboardLayoutSetElementId == KeyboardId.ELEMENT_SYMBOLS
|| keyboardLayoutSetElementId == KeyboardId.ELEMENT_SYMBOLS_SHIFTED);
- final boolean noLanguage = SubtypeLocale.isNoLanguage(params.mSubtype);
- final boolean voiceKeyEnabled = params.mVoiceKeyEnabled && !noLanguage;
- final boolean hasShortcutKey = voiceKeyEnabled && (isSymbols != params.mVoiceKeyOnMain);
+ final boolean hasShortcutKey = params.mVoiceKeyEnabled
+ && (isSymbols != params.mVoiceKeyOnMain);
return new KeyboardId(keyboardLayoutSetElementId, params.mSubtype, params.mDeviceFormFactor,
params.mOrientation, params.mWidth, params.mMode, params.mEditorInfo,
- params.mNoSettingsKey, voiceKeyEnabled, hasShortcutKey,
+ params.mNoSettingsKey, params.mVoiceKeyEnabled, hasShortcutKey,
params.mLanguageSwitchKeyEnabled);
}
- public static class Builder {
+ public static final class Builder {
private final Context mContext;
private final String mPackageName;
private final Resources mResources;
@@ -264,8 +266,9 @@ public class KeyboardLayoutSet {
return this;
}
- public void setTouchPositionCorrectionEnabled(final boolean enabled) {
- mParams.mTouchPositionCorrectionEnabled = enabled;
+ @UsedForTesting
+ public void disableTouchPositionCorrectionDataForTest() {
+ mParams.mDisableTouchPositionCorrectionDataForTest = true;
}
public KeyboardLayoutSet build() {
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index fd789f029..edcd888db 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -29,7 +29,7 @@ import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
import com.android.inputmethod.keyboard.KeyboardLayoutSet.KeyboardLayoutSetException;
import com.android.inputmethod.keyboard.PointerTracker.TimerProxy;
import com.android.inputmethod.keyboard.internal.KeyboardState;
-import com.android.inputmethod.latin.DebugSettings;
+import com.android.inputmethod.latin.AudioAndHapticFeedbackManager;
import com.android.inputmethod.latin.ImfUtils;
import com.android.inputmethod.latin.InputView;
import com.android.inputmethod.latin.LatinIME;
@@ -39,12 +39,12 @@ import com.android.inputmethod.latin.SettingsValues;
import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.WordComposer;
-public class KeyboardSwitcher implements KeyboardState.SwitchActions {
+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 class KeyboardTheme {
+ static final class KeyboardTheme {
public final int mThemeId;
public final int mStyleId;
@@ -65,9 +65,9 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
new KeyboardTheme(5, R.style.KeyboardTheme_IceCreamSandwich),
};
+ private AudioAndHapticFeedbackManager mFeedbackManager;
private SubtypeSwitcher mSubtypeSwitcher;
private SharedPreferences mPrefs;
- private boolean mForceNonDistinctMultitouch;
private InputView mCurrentInputView;
private MainKeyboardView mKeyboardView;
@@ -102,12 +102,11 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
private void initInternal(LatinIME latinIme, SharedPreferences prefs) {
mLatinIME = latinIme;
mResources = latinIme.getResources();
+ mFeedbackManager = new AudioAndHapticFeedbackManager(latinIme);
mPrefs = prefs;
mSubtypeSwitcher = SubtypeSwitcher.getInstance();
mState = new KeyboardState(this);
setContextThemeWrapper(latinIme, getKeyboardTheme(latinIme, prefs));
- mForceNonDistinctMultitouch = prefs.getBoolean(
- DebugSettings.FORCE_NON_DISTINCT_MULTITOUCH_KEY, false);
}
private static KeyboardTheme getKeyboardTheme(Context context, SharedPreferences prefs) {
@@ -147,6 +146,7 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
mKeyboardLayoutSet = builder.build();
try {
mState.onLoadKeyboard(mResources.getString(R.string.layout_switch_back_symbols));
+ mFeedbackManager.onSettingsChanged(settingsValues);
} catch (KeyboardLayoutSetException e) {
Log.w(TAG, "loading keyboard failed: " + e.mKeyboardId, e.getCause());
LatinImeLogger.logOnException(e.mKeyboardId.toString(), e.getCause());
@@ -154,6 +154,10 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
}
}
+ public void onRingerModeChanged() {
+ mFeedbackManager.onRingerModeChanged();
+ }
+
public void saveKeyboardState() {
if (getKeyboard() != null) {
mState.onSaveKeyboardState();
@@ -202,7 +206,7 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
public void onPressKey(int code) {
if (isVibrateAndSoundFeedbackRequired()) {
- mLatinIME.hapticAndAudioFeedback(code);
+ mFeedbackManager.hapticAndAudioFeedback(code, mKeyboardView);
}
mState.onPressKey(code, isSinglePointer(), mLatinIME.getCurrentAutoCapsState());
}
@@ -314,7 +318,7 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void hapticAndAudioFeedback(int code) {
- mLatinIME.hapticAndAudioFeedback(code);
+ mFeedbackManager.hapticAndAudioFeedback(code, mKeyboardView);
}
public void onLongPressTimeout(int code) {
@@ -333,10 +337,6 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
return mKeyboardView != null && mKeyboardView.getPointerCount() == 1;
}
- public boolean hasDistinctMultitouch() {
- return mKeyboardView != null && mKeyboardView.hasDistinctMultitouch();
- }
-
/**
* Updates state machine to figure out when to automatically switch back to the previous mode.
*/
@@ -363,9 +363,6 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
// TODO: Should use LAYER_TYPE_SOFTWARE when hardware acceleration is off?
}
mKeyboardView.setKeyboardActionListener(mLatinIME);
- if (mForceNonDistinctMultitouch) {
- mKeyboardView.setDistinctMultitouch(false);
- }
// This always needs to be set since the accessibility state can
// potentially change without the input view being re-created.
@@ -389,13 +386,19 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
}
}
- public int getManualCapsMode() {
- switch (getKeyboard().mId.mElementId) {
+ public int getKeyboardShiftMode() {
+ final Keyboard keyboard = getKeyboard();
+ if (keyboard == null) {
+ return WordComposer.CAPS_MODE_OFF;
+ }
+ switch (keyboard.mId.mElementId) {
case KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCKED:
case KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCK_SHIFTED:
return WordComposer.CAPS_MODE_MANUAL_SHIFT_LOCKED;
case KeyboardId.ELEMENT_ALPHABET_MANUAL_SHIFTED:
return WordComposer.CAPS_MODE_MANUAL_SHIFTED;
+ case KeyboardId.ELEMENT_ALPHABET_AUTOMATIC_SHIFTED:
+ return WordComposer.CAPS_MODE_AUTO_SHIFTED;
default:
return WordComposer.CAPS_MODE_OFF;
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index cf89567f8..472f74b12 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -30,6 +30,7 @@ import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Message;
import android.util.AttributeSet;
+import android.util.DisplayMetrics;
import android.util.Log;
import android.util.SparseArray;
import android.util.TypedValue;
@@ -104,7 +105,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
private static final String TAG = KeyboardView.class.getSimpleName();
// XML attributes
- private final KeyVisualAttributes mKeyVisualAttributes;
+ protected final KeyVisualAttributes mKeyVisualAttributes;
private final int mKeyLabelHorizontalPadding;
private final float mKeyHintLetterPadding;
private final float mKeyPopupHintLetterPadding;
@@ -732,6 +733,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
return width;
}
+ // TODO: Remove this method.
public float getLabelWidth(final String label, final Paint paint) {
paint.getTextBounds(label, 0, label.length(), mTextBounds);
return mTextBounds.width();
@@ -781,9 +783,6 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
public void cancelAllMessages() {
mDrawingHandler.cancelAllMessages();
- if (mPreviewPlacerView != null) {
- mPreviewPlacerView.cancelAllMessages();
- }
}
private TextView getKeyPreviewText(final int pointerId) {
@@ -827,9 +826,19 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
if (mPreviewPlacerView.getParent() != null) {
return;
}
+ final int width = getWidth();
+ final int height = getHeight();
+ if (width == 0 || height == 0) {
+ // In transient state.
+ return;
+ }
final int[] viewOrigin = new int[2];
getLocationInWindow(viewOrigin);
- mPreviewPlacerView.setOrigin(viewOrigin[0], viewOrigin[1]);
+ final DisplayMetrics dm = getResources().getDisplayMetrics();
+ if (viewOrigin[1] < dm.heightPixels / 4) {
+ // In transient state.
+ return;
+ }
final View rootView = getRootView();
if (rootView == null) {
Log.w(TAG, "Cannot find root view");
@@ -841,6 +850,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
Log.w(TAG, "Cannot find android.R.id.content view to add PreviewPlacerView");
} else {
windowContentView.addView(mPreviewPlacerView);
+ mPreviewPlacerView.setKeyboardViewGeometry(viewOrigin[0], viewOrigin[1], width, height);
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
index 4ed0f58e1..e60a8a942 100644
--- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
@@ -19,6 +19,7 @@ package com.android.inputmethod.keyboard;
import android.animation.AnimatorInflater;
import android.animation.ObjectAnimator;
import android.content.Context;
+import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.content.res.TypedArray;
@@ -28,7 +29,7 @@ import android.graphics.Paint.Align;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Message;
-import android.text.TextUtils;
+import android.preference.PreferenceManager;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
@@ -41,11 +42,13 @@ import android.widget.PopupWindow;
import com.android.inputmethod.accessibility.AccessibilityUtils;
import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
+import com.android.inputmethod.annotations.ExternallyReferenced;
import com.android.inputmethod.keyboard.PointerTracker.DrawingProxy;
import com.android.inputmethod.keyboard.PointerTracker.TimerProxy;
import com.android.inputmethod.keyboard.internal.KeyDrawParams;
-import com.android.inputmethod.keyboard.internal.SuddenJumpingTouchEventHandler;
+import com.android.inputmethod.keyboard.internal.TouchScreenRegulator;
import com.android.inputmethod.latin.Constants;
+import com.android.inputmethod.latin.DebugSettings;
import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.R;
@@ -82,9 +85,20 @@ import java.util.WeakHashMap;
* @attr ref R.styleable#MainKeyboardView_longPressShiftKeyTimeout
* @attr ref R.styleable#MainKeyboardView_ignoreAltCodeKeyTimeout
* @attr ref R.styleable#MainKeyboardView_showMoreKeysKeyboardAtTouchPoint
+ * @attr ref R.styleable#MainKeyboardView_gestureStaticTimeThresholdAfterFastTyping
+ * @attr ref R.styleable#MainKeyboardView_gestureDetectFastMoveSpeedThreshold
+ * @attr ref R.styleable#MainKeyboardView_gestureDynamicThresholdDecayDuration
+ * @attr ref R.styleable#MainKeyboardView_gestureDynamicTimeThresholdFrom
+ * @attr ref R.styleable#MainKeyboardView_gestureDynamicTimeThresholdTo
+ * @attr ref R.styleable#MainKeyboardView_gestureDynamicDistanceThresholdFrom
+ * @attr ref R.styleable#MainKeyboardView_gestureDynamicDistanceThresholdTo
+ * @attr ref R.styleable#MainKeyboardView_gestureSamplingMinimumDistance
+ * @attr ref R.styleable#MainKeyboardView_gestureRecognitionMinimumTime
+ * @attr ref R.styleable#MainKeyboardView_gestureRecognitionSpeedThreshold
+ * @attr ref R.styleable#MainKeyboardView_suppressKeyPreviewAfterBatchInputDuration
*/
-public class MainKeyboardView extends KeyboardView implements PointerTracker.KeyEventHandler,
- SuddenJumpingTouchEventHandler.ProcessMotionEvent {
+public final class MainKeyboardView extends KeyboardView implements PointerTracker.KeyEventHandler,
+ TouchScreenRegulator.ProcessMotionEvent {
private static final String TAG = MainKeyboardView.class.getSimpleName();
// TODO: Kill process when the usability study mode was changed.
@@ -127,16 +141,16 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
new WeakHashMap<Key, MoreKeysPanel>();
private final boolean mConfigShowMoreKeysKeyboardAtTouchedPoint;
- private final SuddenJumpingTouchEventHandler mTouchScreenRegulator;
+ private final TouchScreenRegulator mTouchScreenRegulator;
protected KeyDetector mKeyDetector;
- private boolean mHasDistinctMultitouch;
+ private final boolean mHasDistinctMultitouch;
private int mOldPointerCount = 1;
private Key mOldKey;
private final KeyTimerHandler mKeyTimerHandler;
- private static class KeyTimerHandler extends StaticInnerHandlerWrapper<MainKeyboardView>
+ private static final class KeyTimerHandler extends StaticInnerHandlerWrapper<MainKeyboardView>
implements TimerProxy {
private static final int MSG_TYPING_STATE_EXPIRED = 0;
private static final int MSG_REPEAT_KEY = 1;
@@ -192,7 +206,9 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
private void startKeyRepeatTimer(final PointerTracker tracker, final long delay) {
final Key key = tracker.getKey();
- if (key == null) return;
+ if (key == null) {
+ return;
+ }
sendMessageDelayed(obtainMessage(MSG_REPEAT_KEY, key.mCode, 0, tracker), delay);
}
@@ -215,7 +231,7 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
cancelLongPressTimer();
final int delay;
switch (code) {
- case Keyboard.CODE_SHIFT:
+ case Constants.CODE_SHIFT:
delay = mLongPressShiftKeyTimeout;
break;
default:
@@ -236,7 +252,7 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
final Key key = tracker.getKey();
final int delay;
switch (key.mCode) {
- case Keyboard.CODE_SHIFT:
+ case Constants.CODE_SHIFT:
delay = mLongPressShiftKeyTimeout;
break;
default:
@@ -293,7 +309,7 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
// When user hits the space or the enter key, just cancel the while-typing timer.
final int typedCode = typedKey.mCode;
- if (typedCode == Keyboard.CODE_SPACE || typedCode == Keyboard.CODE_ENTER) {
+ if (typedCode == Constants.CODE_SPACE || typedCode == Constants.CODE_ENTER) {
startWhileTypingFadeinAnimation(keyboardView);
return;
}
@@ -345,15 +361,19 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
public MainKeyboardView(final Context context, final AttributeSet attrs, final int defStyle) {
super(context, attrs, defStyle);
- mTouchScreenRegulator = new SuddenJumpingTouchEventHandler(getContext(), this);
+ mTouchScreenRegulator = new TouchScreenRegulator(context, this);
- mHasDistinctMultitouch = context.getPackageManager()
+ final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ final boolean forceNonDistinctMultitouch = prefs.getBoolean(
+ DebugSettings.FORCE_NON_DISTINCT_MULTITOUCH_KEY, false);
+ final boolean hasDistinctMultitouch = context.getPackageManager()
.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT);
+ mHasDistinctMultitouch = hasDistinctMultitouch && !forceNonDistinctMultitouch;
final Resources res = getResources();
final boolean needsPhantomSuddenMoveEventHack = Boolean.parseBoolean(
ResourceUtils.getDeviceOverrideValue(res,
R.array.phantom_sudden_move_event_device_list, "false"));
- PointerTracker.init(mHasDistinctMultitouch, needsPhantomSuddenMoveEventHack);
+ PointerTracker.init(needsPhantomSuddenMoveEventHack);
final TypedArray a = context.obtainStyledAttributes(
attrs, R.styleable.MainKeyboardView, defStyle, R.style.MainKeyboardView);
@@ -378,7 +398,10 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
final float keyHysteresisDistance = a.getDimension(
R.styleable.MainKeyboardView_keyHysteresisDistance, 0);
- mKeyDetector = new KeyDetector(keyHysteresisDistance);
+ final float keyHysteresisDistanceForSlidingModifier = a.getDimension(
+ R.styleable.MainKeyboardView_keyHysteresisDistanceForSlidingModifier, 0);
+ mKeyDetector = new KeyDetector(
+ keyHysteresisDistance, keyHysteresisDistanceForSlidingModifier);
mKeyTimerHandler = new KeyTimerHandler(this, a);
mConfigShowMoreKeysKeyboardAtTouchedPoint = a.getBoolean(
R.styleable.MainKeyboardView_showMoreKeysKeyboardAtTouchedPoint, false);
@@ -394,7 +417,9 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
}
private ObjectAnimator loadObjectAnimator(final int resId, final Object target) {
- if (resId == 0) return null;
+ if (resId == 0) {
+ return null;
+ }
final ObjectAnimator animator = (ObjectAnimator)AnimatorInflater.loadAnimator(
getContext(), resId);
if (animator != null) {
@@ -403,20 +428,23 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
return animator;
}
- // Getter/setter methods for {@link ObjectAnimator}.
+ @ExternallyReferenced
public int getLanguageOnSpacebarAnimAlpha() {
return mLanguageOnSpacebarAnimAlpha;
}
+ @ExternallyReferenced
public void setLanguageOnSpacebarAnimAlpha(final int alpha) {
mLanguageOnSpacebarAnimAlpha = alpha;
invalidateKey(mSpaceKey);
}
+ @ExternallyReferenced
public int getAltCodeKeyWhileTypingAnimAlpha() {
return mAltCodeKeyWhileTypingAnimAlpha;
}
+ @ExternallyReferenced
public void setAltCodeKeyWhileTypingAnimAlpha(final int alpha) {
mAltCodeKeyWhileTypingAnimAlpha = alpha;
updateAltCodeKeyWhileTyping();
@@ -466,10 +494,10 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
mKeyDetector.setKeyboard(
keyboard, -getPaddingLeft(), -getPaddingTop() + mVerticalCorrection);
PointerTracker.setKeyDetector(mKeyDetector);
- mTouchScreenRegulator.setKeyboard(keyboard);
+ mTouchScreenRegulator.setKeyboardGeometry(keyboard.mOccupiedWidth);
mMoreKeysPanelCache.clear();
- mSpaceKey = keyboard.getKey(Keyboard.CODE_SPACE);
+ mSpaceKey = keyboard.getKey(Constants.CODE_SPACE);
mSpaceIcon = (mSpaceKey != null)
? mSpaceKey.getIcon(keyboard.mIconsSet, Constants.Color.ALPHA_OPAQUE) : null;
final int keyHeight = keyboard.mMostCommonKeyHeight - keyboard.mVerticalGap;
@@ -492,18 +520,6 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
PointerTracker.setGestureHandlingEnabledByUser(gestureHandlingEnabledByUser);
}
- /**
- * Returns whether the device has distinct multi-touch panel.
- * @return true if the device has distinct multi-touch panel.
- */
- public boolean hasDistinctMultitouch() {
- return mHasDistinctMultitouch;
- }
-
- public void setDistinctMultitouch(final boolean hasDistinctMultitouch) {
- mHasDistinctMultitouch = hasDistinctMultitouch;
- }
-
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
@@ -539,21 +555,25 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
}
// Check if we are already displaying popup panel.
- if (mMoreKeysPanel != null)
+ if (mMoreKeysPanel != null) {
return false;
- if (parentKey == null)
+ }
+ if (parentKey == null) {
return false;
+ }
return onLongPress(parentKey, tracker);
}
// This default implementation returns a more keys panel.
protected MoreKeysPanel onCreateMoreKeysPanel(final Key parentKey) {
- if (parentKey.mMoreKeys == null)
+ if (parentKey.mMoreKeys == null) {
return null;
+ }
final View container = LayoutInflater.from(getContext()).inflate(mMoreKeysLayout, null);
- if (container == null)
+ if (container == null) {
throw new NullPointerException();
+ }
final MoreKeysKeyboardView moreKeysKeyboardView =
(MoreKeysKeyboardView)container.findViewById(R.id.more_keys_keyboard_view);
@@ -586,7 +606,7 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
KeyboardSwitcher.getInstance().hapticAndAudioFeedback(primaryCode);
return true;
}
- if (primaryCode == Keyboard.CODE_SPACE || primaryCode == Keyboard.CODE_LANGUAGE_SWITCH) {
+ if (primaryCode == Constants.CODE_SPACE || primaryCode == Constants.CODE_LANGUAGE_SWITCH) {
// Long pressing the space key invokes IME switcher dialog.
if (invokeCustomRequest(LatinIME.CODE_SHOW_INPUT_METHOD_PICKER)) {
tracker.onLongPressed();
@@ -614,8 +634,9 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
MoreKeysPanel moreKeysPanel = mMoreKeysPanelCache.get(parentKey);
if (moreKeysPanel == null) {
moreKeysPanel = onCreateMoreKeysPanel(parentKey);
- if (moreKeysPanel == null)
+ if (moreKeysPanel == null) {
return false;
+ }
mMoreKeysPanelCache.put(parentKey, moreKeysPanel);
}
if (mMoreKeysWindow == null) {
@@ -651,9 +672,8 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
public boolean isInSlidingKeyInput() {
if (mMoreKeysPanel != null) {
return true;
- } else {
- return PointerTracker.isAnyInSlidingKeyInput();
}
+ return PointerTracker.isAnyInSlidingKeyInput();
}
public int getPointerCount() {
@@ -702,39 +722,15 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
x = (int)me.getX(index);
y = (int)me.getY(index);
}
- if (ENABLE_USABILITY_STUDY_LOG) {
- final String eventTag;
- switch (action) {
- case MotionEvent.ACTION_UP:
- eventTag = "[Up]";
- break;
- case MotionEvent.ACTION_DOWN:
- eventTag = "[Down]";
- break;
- case MotionEvent.ACTION_POINTER_UP:
- eventTag = "[PointerUp]";
- break;
- case MotionEvent.ACTION_POINTER_DOWN:
- eventTag = "[PointerDown]";
- break;
- case MotionEvent.ACTION_MOVE: // Skip this as being logged below
- eventTag = "";
- break;
- default:
- eventTag = "[Action" + action + "]";
- break;
- }
- if (!TextUtils.isEmpty(eventTag)) {
- final float size = me.getSize(index);
- final float pressure = me.getPressure(index);
- UsabilityStudyLogUtils.getInstance().write(
- eventTag + eventTime + "," + id + "," + x + "," + y + ","
- + size + "," + pressure);
- }
+ // TODO: This might be moved to the tracker.processMotionEvent() call below.
+ if (ENABLE_USABILITY_STUDY_LOG && action != MotionEvent.ACTION_MOVE) {
+ writeUsabilityStudyLog(me, action, eventTime, index, id, x, y);
}
+ // TODO: This should be moved to the tracker.processMotionEvent() call below.
+ // Currently the same "move" event is being logged twice.
if (ProductionFlag.IS_EXPERIMENTAL) {
- ResearchLogger.mainKeyboardView_processMotionEvent(me, action, eventTime, index, id,
- x, y);
+ ResearchLogger.mainKeyboardView_processMotionEvent(
+ me, action, eventTime, index, id, x, y);
}
if (mKeyTimerHandler.isInKeyRepeat()) {
@@ -760,8 +756,9 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
final Key newKey = tracker.getKeyOn(x, y);
if (mOldKey != newKey) {
tracker.onDownEvent(x, y, eventTime, this);
- if (action == MotionEvent.ACTION_UP)
+ if (action == MotionEvent.ACTION_UP) {
tracker.onUpEvent(x, y, eventTime);
+ }
}
} else if (pointerCount == 2 && oldPointerCount == 1) {
// Single-touch to multi-touch transition.
@@ -798,15 +795,11 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
}
tracker.onMoveEvent(px, py, eventTime, motionEvent);
if (ENABLE_USABILITY_STUDY_LOG) {
- final float pointerSize = me.getSize(i);
- final float pointerPressure = me.getPressure(i);
- UsabilityStudyLogUtils.getInstance().write("[Move]" + eventTime + ","
- + pointerId + "," + px + "," + py + ","
- + pointerSize + "," + pointerPressure);
+ writeUsabilityStudyLog(me, action, eventTime, i, pointerId, px, py);
}
if (ProductionFlag.IS_EXPERIMENTAL) {
- ResearchLogger.mainKeyboardView_processMotionEvent(me, action, eventTime,
- i, pointerId, px, py);
+ ResearchLogger.mainKeyboardView_processMotionEvent(
+ me, action, eventTime, i, pointerId, px, py);
}
}
} else {
@@ -817,6 +810,35 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
return true;
}
+ private static void writeUsabilityStudyLog(final MotionEvent me, final int action,
+ final long eventTime, final int index, final int id, final int x, final int y) {
+ final String eventTag;
+ switch (action) {
+ case MotionEvent.ACTION_UP:
+ eventTag = "[Up]";
+ break;
+ case MotionEvent.ACTION_DOWN:
+ eventTag = "[Down]";
+ break;
+ case MotionEvent.ACTION_POINTER_UP:
+ eventTag = "[PointerUp]";
+ break;
+ case MotionEvent.ACTION_POINTER_DOWN:
+ eventTag = "[PointerDown]";
+ break;
+ case MotionEvent.ACTION_MOVE:
+ eventTag = "[Move]";
+ break;
+ default:
+ eventTag = "[Action" + action + "]";
+ break;
+ }
+ final float size = me.getSize(index);
+ final float pressure = me.getPressure(index);
+ UsabilityStudyLogUtils.getInstance().write(
+ eventTag + eventTime + "," + id + "," + x + "," + y + "," + size + "," + pressure);
+ }
+
@Override
public void closing() {
super.closing();
@@ -826,14 +848,14 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
@Override
public boolean dismissMoreKeysPanel() {
- if (mMoreKeysWindow != null && mMoreKeysWindow.isShowing()) {
- mMoreKeysWindow.dismiss();
- mMoreKeysPanel = null;
- mMoreKeysPanelPointerTrackerId = -1;
- dimEntireKeyboard(false);
- return true;
+ if (mMoreKeysWindow == null || !mMoreKeysWindow.isShowing()) {
+ return false;
}
- return false;
+ mMoreKeysWindow.dismiss();
+ mMoreKeysPanel = null;
+ mMoreKeysPanelPointerTrackerId = -1;
+ dimEntireKeyboard(false);
+ return true;
}
/**
@@ -856,16 +878,22 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
public void updateShortcutKey(final boolean available) {
final Keyboard keyboard = getKeyboard();
- if (keyboard == null) return;
- final Key shortcutKey = keyboard.getKey(Keyboard.CODE_SHORTCUT);
- if (shortcutKey == null) return;
+ if (keyboard == null) {
+ return;
+ }
+ final Key shortcutKey = keyboard.getKey(Constants.CODE_SHORTCUT);
+ if (shortcutKey == null) {
+ return;
+ }
shortcutKey.setEnabled(available);
invalidateKey(shortcutKey);
}
private void updateAltCodeKeyWhileTyping() {
final Keyboard keyboard = getKeyboard();
- if (keyboard == null) return;
+ if (keyboard == null) {
+ return;
+ }
for (final Key key : keyboard.mAltCodeKeysWhileTyping) {
invalidateKey(key);
}
@@ -895,7 +923,9 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
}
public void updateAutoCorrectionState(final boolean isAutoCorrection) {
- if (!mAutoCorrectionSpacebarLedEnabled) return;
+ if (!mAutoCorrectionSpacebarLedEnabled) {
+ return;
+ }
mAutoCorrectionSpacebarLedOn = isAutoCorrection;
invalidateKey(mSpaceKey);
}
@@ -906,13 +936,13 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
if (key.altCodeWhileTyping() && key.isEnabled()) {
params.mAnimAlpha = mAltCodeKeyWhileTypingAnimAlpha;
}
- if (key.mCode == Keyboard.CODE_SPACE) {
+ if (key.mCode == Constants.CODE_SPACE) {
drawSpacebar(key, canvas, paint);
// Whether space key needs to show the "..." popup hint for special purposes
if (key.isLongPressEnabled() && mHasMultipleEnabledIMEsOrSubtypes) {
drawKeyPopupHint(key, canvas, paint, params);
}
- } else if (key.mCode == Keyboard.CODE_LANGUAGE_SWITCH) {
+ } else if (key.mCode == Constants.CODE_LANGUAGE_SWITCH) {
super.onDrawKeyTopVisuals(key, canvas, paint, params);
drawKeyPopupHint(key, canvas, paint, params);
} else {
@@ -923,10 +953,14 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
private boolean fitsTextIntoWidth(final int width, final String text, final Paint paint) {
paint.setTextScaleX(1.0f);
final float textWidth = getLabelWidth(text, paint);
- if (textWidth < width) return true;
+ if (textWidth < width) {
+ return true;
+ }
final float scaleX = width / textWidth;
- if (scaleX < MINIMUM_XSCALE_OF_LANGUAGE_NAME) return false;
+ if (scaleX < MINIMUM_XSCALE_OF_LANGUAGE_NAME) {
+ return false;
+ }
paint.setTextScaleX(scaleX);
return getLabelWidth(text, paint) < width;
@@ -936,19 +970,19 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
private String layoutLanguageOnSpacebar(final Paint paint, final InputMethodSubtype subtype,
final int width) {
// Choose appropriate language name to fit into the width.
- String text = getFullDisplayName(subtype, getResources());
- if (fitsTextIntoWidth(width, text, paint)) {
- return text;
+ final String fullText = getFullDisplayName(subtype, getResources());
+ if (fitsTextIntoWidth(width, fullText, paint)) {
+ return fullText;
}
- text = getMiddleDisplayName(subtype);
- if (fitsTextIntoWidth(width, text, paint)) {
- return text;
+ final String middleText = getMiddleDisplayName(subtype);
+ if (fitsTextIntoWidth(width, middleText, paint)) {
+ return middleText;
}
- text = getShortDisplayName(subtype);
- if (fitsTextIntoWidth(width, text, paint)) {
- return text;
+ final String shortText = getShortDisplayName(subtype);
+ if (fitsTextIntoWidth(width, shortText, paint)) {
+ return shortText;
}
return "";
diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysDetector.java b/java/src/com/android/inputmethod/keyboard/MoreKeysDetector.java
index cd4e3001e..a2001cb8f 100644
--- a/java/src/com/android/inputmethod/keyboard/MoreKeysDetector.java
+++ b/java/src/com/android/inputmethod/keyboard/MoreKeysDetector.java
@@ -16,7 +16,7 @@
package com.android.inputmethod.keyboard;
-public class MoreKeysDetector extends KeyDetector {
+public final class MoreKeysDetector extends KeyDetector {
private final int mSlideAllowanceSquare;
private final int mSlideAllowanceSquareTop;
diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
index c9af888f9..3826a39a4 100644
--- a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
@@ -20,6 +20,7 @@ import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.view.View;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
import com.android.inputmethod.keyboard.internal.KeyboardParams;
@@ -27,7 +28,7 @@ import com.android.inputmethod.keyboard.internal.MoreKeySpec;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.StringUtils;
-public class MoreKeysKeyboard extends Keyboard {
+public final class MoreKeysKeyboard extends Keyboard {
private final int mDefaultKeyCoordX;
MoreKeysKeyboard(final MoreKeysKeyboardParams params) {
@@ -39,7 +40,7 @@ public class MoreKeysKeyboard extends Keyboard {
return mDefaultKeyCoordX;
}
- /* package for test */
+ @UsedForTesting
static class MoreKeysKeyboardParams extends KeyboardParams {
public boolean mIsFixedOrder;
/* package */int mTopRowAdjustment;
diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java
index e513a1477..9c450e994 100644
--- a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java
@@ -33,7 +33,7 @@ import com.android.inputmethod.latin.R;
* A view that renders a virtual {@link MoreKeysKeyboard}. It handles rendering of keys and
* detecting key presses and touch movements.
*/
-public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel {
+public final class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel {
private final int[] mCoordinates = new int[2];
private final KeyDetector mKeyDetector;
@@ -48,7 +48,7 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel
private final KeyboardActionListener mMoreKeysKeyboardListener =
new KeyboardActionListener.Adapter() {
@Override
- public void onCodeInput(int primaryCode, int x, int y) {
+ public void onCodeInput(final int primaryCode, final int x, final int y) {
// Because a more keys keyboard doesn't need proximity characters correction, we don't
// send touch event coordinates.
mListener.onCodeInput(
@@ -56,7 +56,7 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel
}
@Override
- public void onTextInput(CharSequence text) {
+ public void onTextInput(final String text) {
mListener.onTextInput(text);
}
@@ -66,12 +66,12 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel
}
@Override
- public void onUpdateBatchInput(InputPointers batchPointers) {
+ public void onUpdateBatchInput(final InputPointers batchPointers) {
mListener.onUpdateBatchInput(batchPointers);
}
@Override
- public void onEndBatchInput(InputPointers batchPointers) {
+ public void onEndBatchInput(final InputPointers batchPointers) {
mListener.onEndBatchInput(batchPointers);
}
@@ -81,21 +81,22 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel
}
@Override
- public void onPressKey(int primaryCode) {
+ public void onPressKey(final int primaryCode) {
mListener.onPressKey(primaryCode);
}
@Override
- public void onReleaseKey(int primaryCode, boolean withSliding) {
+ public void onReleaseKey(final int primaryCode, final boolean withSliding) {
mListener.onReleaseKey(primaryCode, withSliding);
}
};
- public MoreKeysKeyboardView(Context context, AttributeSet attrs) {
+ public MoreKeysKeyboardView(final Context context, final AttributeSet attrs) {
this(context, attrs, R.attr.moreKeysKeyboardViewStyle);
}
- public MoreKeysKeyboardView(Context context, AttributeSet attrs, int defStyle) {
+ public MoreKeysKeyboardView(final Context context, final AttributeSet attrs,
+ final int defStyle) {
super(context, attrs, defStyle);
final Resources res = context.getResources();
@@ -105,7 +106,7 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel
}
@Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {
final Keyboard keyboard = getKeyboard();
if (keyboard != null) {
final int width = keyboard.mOccupiedWidth + getPaddingLeft() + getPaddingRight();
@@ -117,7 +118,7 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel
}
@Override
- public void setKeyboard(Keyboard keyboard) {
+ public void setKeyboard(final Keyboard keyboard) {
super.setKeyboard(keyboard);
mKeyDetector.setKeyboard(keyboard, -getPaddingLeft(),
-getPaddingTop() + mVerticalCorrection);
@@ -144,15 +145,16 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel
}
@Override
- public void setKeyPreviewPopupEnabled(boolean previewEnabled, int delay) {
+ public void setKeyPreviewPopupEnabled(final boolean previewEnabled, final int delay) {
// More keys keyboard needs no pop-up key preview displayed, so we pass always false with a
// delay of 0. The delay does not matter actually since the popup is not shown anyway.
super.setKeyPreviewPopupEnabled(false, 0);
}
@Override
- public void showMoreKeysPanel(View parentView, Controller controller, int pointX, int pointY,
- PopupWindow window, KeyboardActionListener listener) {
+ public void showMoreKeysPanel(final View parentView, final Controller controller,
+ final int pointX, final int pointY, final PopupWindow window,
+ final KeyboardActionListener listener) {
mController = controller;
mListener = listener;
final View container = (View)getParent();
@@ -185,12 +187,12 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel
}
@Override
- public int translateX(int x) {
+ public int translateX(final int x) {
return x - mOriginX;
}
@Override
- public int translateY(int y) {
+ public int translateY(final int y) {
return y - mOriginY;
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index 03d610a39..c86805232 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -23,9 +23,11 @@ import android.view.MotionEvent;
import com.android.inputmethod.accessibility.AccessibilityUtils;
import com.android.inputmethod.keyboard.internal.GestureStroke;
+import com.android.inputmethod.keyboard.internal.GestureStroke.GestureStrokeParams;
import com.android.inputmethod.keyboard.internal.GestureStrokeWithPreviewPoints;
import com.android.inputmethod.keyboard.internal.PointerTrackerQueue;
import com.android.inputmethod.latin.CollectionUtils;
+import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.InputPointers;
import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.R;
@@ -34,12 +36,12 @@ import com.android.inputmethod.research.ResearchLogger;
import java.util.ArrayList;
-public class PointerTracker implements PointerTrackerQueue.Element {
+public final class PointerTracker implements PointerTrackerQueue.Element {
private static final String TAG = PointerTracker.class.getSimpleName();
private static final boolean DEBUG_EVENT = false;
private static final boolean DEBUG_MOVE_EVENT = false;
private static final boolean DEBUG_LISTENER = false;
- private static boolean DEBUG_MODE = LatinImeLogger.sDBG;
+ private static boolean DEBUG_MODE = LatinImeLogger.sDBG || DEBUG_EVENT;
/** True if {@link PointerTracker}s should handle gesture events. */
private static boolean sShouldHandleGesture = false;
@@ -117,40 +119,45 @@ public class PointerTracker implements PointerTrackerQueue.Element {
}
}
- static class PointerTrackerParams {
+ static final class PointerTrackerParams {
public final boolean mSlidingKeyInputEnabled;
public final int mTouchNoiseThresholdTime;
- public final float mTouchNoiseThresholdDistance;
- public final int mTouchNoiseThresholdDistanceSquared;
+ public final int mTouchNoiseThresholdDistance;
+ public final int mSuppressKeyPreviewAfterBatchInputDuration;
public static final PointerTrackerParams DEFAULT = new PointerTrackerParams();
private PointerTrackerParams() {
mSlidingKeyInputEnabled = false;
mTouchNoiseThresholdTime = 0;
- mTouchNoiseThresholdDistance = 0.0f;
- mTouchNoiseThresholdDistanceSquared = 0;
+ mTouchNoiseThresholdDistance = 0;
+ mSuppressKeyPreviewAfterBatchInputDuration = 0;
}
- public PointerTrackerParams(TypedArray mainKeyboardViewAttr) {
+ public PointerTrackerParams(final TypedArray mainKeyboardViewAttr) {
mSlidingKeyInputEnabled = mainKeyboardViewAttr.getBoolean(
R.styleable.MainKeyboardView_slidingKeyInputEnable, false);
mTouchNoiseThresholdTime = mainKeyboardViewAttr.getInt(
R.styleable.MainKeyboardView_touchNoiseThresholdTime, 0);
- final float touchNouseThresholdDistance = mainKeyboardViewAttr.getDimension(
+ mTouchNoiseThresholdDistance = mainKeyboardViewAttr.getDimensionPixelSize(
R.styleable.MainKeyboardView_touchNoiseThresholdDistance, 0);
- mTouchNoiseThresholdDistance = touchNouseThresholdDistance;
- mTouchNoiseThresholdDistanceSquared =
- (int)(touchNouseThresholdDistance * touchNouseThresholdDistance);
+ mSuppressKeyPreviewAfterBatchInputDuration = mainKeyboardViewAttr.getInt(
+ R.styleable.MainKeyboardView_suppressKeyPreviewAfterBatchInputDuration, 0);
}
}
// Parameters for pointer handling.
private static PointerTrackerParams sParams;
+ private static GestureStrokeParams sGestureStrokeParams;
private static boolean sNeedsPhantomSuddenMoveEventHack;
+ // Move this threshold to resource.
+ // TODO: Device specific parameter would be better for device specific hack?
+ private static final float PHANTOM_SUDDEN_MOVE_THRESHOLD = 0.25f; // in keyWidth
+ // This hack might be device specific.
+ private static final boolean sNeedsProximateBogusDownMoveUpEventHack = true;
private static final ArrayList<PointerTracker> sTrackers = CollectionUtils.newArrayList();
- private static PointerTrackerQueue sPointerTrackerQueue;
+ private static final PointerTrackerQueue sPointerTrackerQueue = new PointerTrackerQueue();
public final int mPointerId;
@@ -160,15 +167,126 @@ public class PointerTracker implements PointerTrackerQueue.Element {
private KeyboardActionListener mListener = EMPTY_LISTENER;
private Keyboard mKeyboard;
- private int mKeyQuarterWidthSquared;
+ private int mPhantonSuddenMoveThreshold;
+ private final BogusMoveEventDetector mBogusMoveEventDetector = new BogusMoveEventDetector();
private boolean mIsDetectingGesture = false; // per PointerTracker.
private static boolean sInGesture = false;
private static long sGestureFirstDownTime;
+ private static TimeRecorder sTimeRecorder;
private static final InputPointers sAggregratedPointers = new InputPointers(
GestureStroke.DEFAULT_CAPACITY);
- private static int sLastRecognitionPointSize = 0;
- private static long sLastRecognitionTime = 0;
+ private static int sLastRecognitionPointSize = 0; // synchronized using sAggregratedPointers
+ private static long sLastRecognitionTime = 0; // synchronized using sAggregratedPointers
+
+ static final class BogusMoveEventDetector {
+ // Move these thresholds to resource.
+ // These thresholds' unit is a diagonal length of a key.
+ private static final float BOGUS_MOVE_ACCUMULATED_DISTANCE_THRESHOLD = 0.53f;
+ private static final float BOGUS_MOVE_RADIUS_THRESHOLD = 1.14f;
+
+ private int mAccumulatedDistanceThreshold;
+ private int mRadiusThreshold;
+
+ // Accumulated distance from actual and artificial down keys.
+ /* package */ int mAccumulatedDistanceFromDownKey;
+ private int mActualDownX;
+ private int mActualDownY;
+
+ public void setKeyboardGeometry(final int keyWidth, final int keyHeight) {
+ final float keyDiagonal = (float)Math.hypot(keyWidth, keyHeight);
+ mAccumulatedDistanceThreshold = (int)(
+ keyDiagonal * BOGUS_MOVE_ACCUMULATED_DISTANCE_THRESHOLD);
+ mRadiusThreshold = (int)(keyDiagonal * BOGUS_MOVE_RADIUS_THRESHOLD);
+ }
+
+ public void onActualDownEvent(final int x, final int y) {
+ mActualDownX = x;
+ mActualDownY = y;
+ }
+
+ public void onDownKey() {
+ mAccumulatedDistanceFromDownKey = 0;
+ }
+
+ public void onMoveKey(final int distance) {
+ mAccumulatedDistanceFromDownKey += distance;
+ }
+
+ public boolean hasTraveledLongDistance(final int x, final int y) {
+ final int dx = Math.abs(x - mActualDownX);
+ final int dy = Math.abs(y - mActualDownY);
+ // A bogus move event should be a horizontal movement. A vertical movement might be
+ // a sloppy typing and should be ignored.
+ return dx >= dy && mAccumulatedDistanceFromDownKey >= mAccumulatedDistanceThreshold;
+ }
+
+ /* package */ int getDistanceFromDownEvent(final int x, final int y) {
+ return getDistance(x, y, mActualDownX, mActualDownY);
+ }
+
+ public boolean isCloseToActualDownEvent(final int x, final int y) {
+ return getDistanceFromDownEvent(x, y) < mRadiusThreshold;
+ }
+ }
+
+ static final class TimeRecorder {
+ private final int mSuppressKeyPreviewAfterBatchInputDuration;
+ private final int mStaticTimeThresholdAfterFastTyping; // msec
+ private long mLastTypingTime;
+ private long mLastLetterTypingTime;
+ private long mLastBatchInputTime;
+
+ public TimeRecorder(final PointerTrackerParams pointerTrackerParams,
+ final GestureStrokeParams gestureStrokeParams) {
+ mSuppressKeyPreviewAfterBatchInputDuration =
+ pointerTrackerParams.mSuppressKeyPreviewAfterBatchInputDuration;
+ mStaticTimeThresholdAfterFastTyping =
+ gestureStrokeParams.mStaticTimeThresholdAfterFastTyping;
+ }
+
+ public boolean isInFastTyping(final long eventTime) {
+ final long elapsedTimeSinceLastLetterTyping = eventTime - mLastLetterTypingTime;
+ return elapsedTimeSinceLastLetterTyping < mStaticTimeThresholdAfterFastTyping;
+ }
+
+ private boolean wasLastInputTyping() {
+ return mLastTypingTime >= mLastBatchInputTime;
+ }
+
+ public void onCodeInput(final int code, final long eventTime) {
+ // Record the letter typing time when
+ // 1. Letter keys are typed successively without any batch input in between.
+ // 2. A letter key is typed within the threshold time since the last any key typing.
+ // 3. A non-letter key is typed within the threshold time since the last letter key
+ // typing.
+ if (Character.isLetter(code)) {
+ if (wasLastInputTyping()
+ || eventTime - mLastTypingTime < mStaticTimeThresholdAfterFastTyping) {
+ mLastLetterTypingTime = eventTime;
+ }
+ } else {
+ if (eventTime - mLastLetterTypingTime < mStaticTimeThresholdAfterFastTyping) {
+ // This non-letter typing should be treated as a part of fast typing.
+ mLastLetterTypingTime = eventTime;
+ }
+ }
+ mLastTypingTime = eventTime;
+ }
+
+ public void onEndBatchInput(final long eventTime) {
+ mLastBatchInputTime = eventTime;
+ }
+
+ public long getLastLetterTypingTime() {
+ return mLastLetterTypingTime;
+ }
+
+ public boolean needsToSuppressKeyPreviewPopup(final long eventTime) {
+ return !wasLastInputTyping()
+ && eventTime - mLastBatchInputTime < mSuppressKeyPreviewAfterBatchInputDuration;
+ }
+ }
// The position and time at which first down event occurred.
private long mDownTime;
@@ -193,34 +311,32 @@ public class PointerTracker implements PointerTrackerQueue.Element {
// true if this pointer has been long-pressed and is showing a more keys panel.
private boolean mIsShowingMoreKeysPanel;
- // true if this pointer is in sliding key input
+ // true if this pointer is in a sliding key input.
boolean mIsInSlidingKeyInput;
+ // true if this pointer is in a sliding key input from a modifier key,
+ // so that further modifier keys should be ignored.
+ boolean mIsInSlidingKeyInputFromModifier;
- // true if sliding key is allowed.
+ // true if a sliding key input is allowed.
private boolean mIsAllowedSlidingKeyInput;
- // ignore modifier key if true
- private boolean mIgnoreModifierKey;
-
// Empty {@link KeyboardActionListener}
private static final KeyboardActionListener EMPTY_LISTENER =
new KeyboardActionListener.Adapter();
private final GestureStrokeWithPreviewPoints mGestureStrokeWithPreviewPoints;
- public static void init(boolean hasDistinctMultitouch,
- boolean needsPhantomSuddenMoveEventHack) {
- if (hasDistinctMultitouch) {
- sPointerTrackerQueue = new PointerTrackerQueue();
- } else {
- sPointerTrackerQueue = null;
- }
+ public static void init(final boolean needsPhantomSuddenMoveEventHack) {
sNeedsPhantomSuddenMoveEventHack = needsPhantomSuddenMoveEventHack;
sParams = PointerTrackerParams.DEFAULT;
+ sGestureStrokeParams = GestureStrokeParams.DEFAULT;
+ sTimeRecorder = new TimeRecorder(sParams, sGestureStrokeParams);
}
public static void setParameters(final TypedArray mainKeyboardViewAttr) {
sParams = new PointerTrackerParams(mainKeyboardViewAttr);
+ sGestureStrokeParams = new GestureStrokeParams(mainKeyboardViewAttr);
+ sTimeRecorder = new TimeRecorder(sParams, sGestureStrokeParams);
}
private static void updateGestureHandlingMode() {
@@ -254,7 +370,7 @@ public class PointerTracker implements PointerTrackerQueue.Element {
}
public static boolean isAnyInSlidingKeyInput() {
- return sPointerTrackerQueue != null ? sPointerTrackerQueue.isAnyInSlidingKeyInput() : false;
+ return sPointerTrackerQueue.isAnyInSlidingKeyInput();
}
public static void setKeyboardActionListener(final KeyboardActionListener listener) {
@@ -291,7 +407,8 @@ public class PointerTracker implements PointerTrackerQueue.Element {
throw new NullPointerException();
}
mPointerId = id;
- mGestureStrokeWithPreviewPoints = new GestureStrokeWithPreviewPoints(id);
+ mGestureStrokeWithPreviewPoints = new GestureStrokeWithPreviewPoints(
+ id, sGestureStrokeParams);
setKeyDetectorInner(handler.getKeyDetector());
mListener = handler.getKeyboardActionListener();
mDrawingProxy = handler.getDrawingProxy();
@@ -303,11 +420,12 @@ public class PointerTracker implements PointerTrackerQueue.Element {
if (sInGesture) {
return false;
}
- final boolean ignoreModifierKey = mIgnoreModifierKey && key.isModifier();
+ final boolean ignoreModifierKey = mIsInSlidingKeyInputFromModifier && key.isModifier();
if (DEBUG_LISTENER) {
- Log.d(TAG, "onPress : " + KeyDetector.printableCode(key)
- + " ignoreModifier=" + ignoreModifierKey
- + " enabled=" + key.isEnabled());
+ Log.d(TAG, String.format("[%d] onPress : %s%s%s", mPointerId,
+ KeyDetector.printableCode(key),
+ ignoreModifierKey ? " ignoreModifier" : "",
+ key.isEnabled() ? "" : " disabled"));
}
if (ignoreModifierKey) {
return false;
@@ -325,15 +443,16 @@ public class PointerTracker implements PointerTrackerQueue.Element {
// Note that we need primaryCode argument because the keyboard may in shifted state and the
// primaryCode is different from {@link Key#mCode}.
private void callListenerOnCodeInput(final Key key, final int primaryCode, final int x,
- final int y) {
- final boolean ignoreModifierKey = mIgnoreModifierKey && key.isModifier();
+ final int y, final long eventTime) {
+ final boolean ignoreModifierKey = mIsInSlidingKeyInputFromModifier && key.isModifier();
final boolean altersCode = key.altCodeWhileTyping() && mTimerProxy.isTypingState();
final int code = altersCode ? key.getAltCode() : primaryCode;
if (DEBUG_LISTENER) {
- Log.d(TAG, "onCodeInput: " + Keyboard.printableCode(code)
- + " text=" + key.getOutputText() + " x=" + x + " y=" + y
- + " ignoreModifier=" + ignoreModifierKey + " altersCode=" + altersCode
- + " enabled=" + key.isEnabled());
+ final String output = code == Constants.CODE_OUTPUT_TEXT
+ ? key.getOutputText() : Constants.printableCode(code);
+ Log.d(TAG, String.format("[%d] onCodeInput: %4d %4d %s%s%s", mPointerId, x, y,
+ output, ignoreModifierKey ? " ignoreModifier" : "",
+ altersCode ? " altersCode" : "", key.isEnabled() ? "" : " disabled"));
}
if (ProductionFlag.IS_EXPERIMENTAL) {
ResearchLogger.pointerTracker_callListenerOnCodeInput(key, x, y, ignoreModifierKey,
@@ -344,26 +463,28 @@ public class PointerTracker implements PointerTrackerQueue.Element {
}
// Even if the key is disabled, it should respond if it is in the altCodeWhileTyping state.
if (key.isEnabled() || altersCode) {
- if (code == Keyboard.CODE_OUTPUT_TEXT) {
+ sTimeRecorder.onCodeInput(code, eventTime);
+ if (code == Constants.CODE_OUTPUT_TEXT) {
mListener.onTextInput(key.getOutputText());
- } else if (code != Keyboard.CODE_UNSPECIFIED) {
+ } else if (code != Constants.CODE_UNSPECIFIED) {
mListener.onCodeInput(code, x, y);
}
}
}
- // Note that we need primaryCode argument because the keyboard may in shifted state and the
+ // Note that we need primaryCode argument because the keyboard may be in shifted state and the
// primaryCode is different from {@link Key#mCode}.
private void callListenerOnRelease(final Key key, final int primaryCode,
final boolean withSliding) {
if (sInGesture) {
return;
}
- final boolean ignoreModifierKey = mIgnoreModifierKey && key.isModifier();
+ final boolean ignoreModifierKey = mIsInSlidingKeyInputFromModifier && key.isModifier();
if (DEBUG_LISTENER) {
- Log.d(TAG, "onRelease : " + Keyboard.printableCode(primaryCode)
- + " sliding=" + withSliding + " ignoreModifier=" + ignoreModifierKey
- + " enabled="+ key.isEnabled());
+ Log.d(TAG, String.format("[%d] onRelease : %s%s%s%s", mPointerId,
+ Constants.printableCode(primaryCode),
+ withSliding ? " sliding" : "", ignoreModifierKey ? " ignoreModifier" : "",
+ key.isEnabled() ? "": " disabled"));
}
if (ProductionFlag.IS_EXPERIMENTAL) {
ResearchLogger.pointerTracker_callListenerOnRelease(key, primaryCode, withSliding,
@@ -379,7 +500,7 @@ public class PointerTracker implements PointerTrackerQueue.Element {
private void callListenerOnCancelInput() {
if (DEBUG_LISTENER) {
- Log.d(TAG, "onCancelInput");
+ Log.d(TAG, String.format("[%d] onCancelInput", mPointerId));
}
if (ProductionFlag.IS_EXPERIMENTAL) {
ResearchLogger.pointerTracker_callListenerOnCancelInput();
@@ -388,9 +509,15 @@ public class PointerTracker implements PointerTrackerQueue.Element {
}
private void setKeyDetectorInner(final KeyDetector keyDetector) {
+ final Keyboard keyboard = keyDetector.getKeyboard();
+ if (keyDetector == mKeyDetector && keyboard == mKeyboard) {
+ return;
+ }
mKeyDetector = keyDetector;
mKeyboard = keyDetector.getKeyboard();
- mGestureStrokeWithPreviewPoints.setKeyboardGeometry(mKeyboard.mMostCommonKeyWidth);
+ final int keyWidth = mKeyboard.mMostCommonKeyWidth;
+ final int keyHeight = mKeyboard.mMostCommonKeyHeight;
+ mGestureStrokeWithPreviewPoints.setKeyboardGeometry(keyWidth);
final Key newKey = mKeyDetector.detectHitKey(mKeyX, mKeyY);
if (newKey != mCurrentKey) {
if (mDrawingProxy != null) {
@@ -398,8 +525,8 @@ public class PointerTracker implements PointerTrackerQueue.Element {
}
// Keep {@link #mCurrentKey} that comes from previous keyboard.
}
- final int keyQuarterWidth = mKeyboard.mMostCommonKeyWidth / 4;
- mKeyQuarterWidthSquared = keyQuarterWidth * keyQuarterWidth;
+ mPhantonSuddenMoveThreshold = (int)(keyWidth * PHANTOM_SUDDEN_MOVE_THRESHOLD);
+ mBogusMoveEventDetector.setKeyboardGeometry(keyWidth, keyHeight);
}
@Override
@@ -451,7 +578,12 @@ public class PointerTracker implements PointerTrackerQueue.Element {
}
}
- private void setPressedKeyGraphics(final Key key) {
+ private static boolean needsToSuppressKeyPreviewPopup(final long eventTime) {
+ if (!sShouldHandleGesture) return false;
+ return sTimeRecorder.needsToSuppressKeyPreviewPopup(eventTime);
+ }
+
+ private void setPressedKeyGraphics(final Key key, final long eventTime) {
if (key == null) {
return;
}
@@ -463,7 +595,7 @@ public class PointerTracker implements PointerTrackerQueue.Element {
return;
}
- if (!key.noKeyPreview() && !sInGesture) {
+ if (!key.noKeyPreview() && !sInGesture && !needsToSuppressKeyPreviewPopup(eventTime)) {
mDrawingProxy.showKeyPreview(this);
}
updatePressKeyGraphics(key);
@@ -518,10 +650,16 @@ public class PointerTracker implements PointerTrackerQueue.Element {
private Key onDownKey(final int x, final int y, final long eventTime) {
mDownTime = eventTime;
+ mBogusMoveEventDetector.onDownKey();
return onMoveToNewKey(onMoveKeyInternal(x, y), x, y);
}
+ static int getDistance(final int x1, final int y1, final int x2, final int y2) {
+ return (int)Math.hypot(x1 - x2, y1 - y2);
+ }
+
private Key onMoveKeyInternal(final int x, final int y) {
+ mBogusMoveEventDetector.onMoveKey(getDistance(x, y, mLastX, mLastY));
mLastX = x;
mLastY = y;
return mKeyDetector.detectHitKey(x, y);
@@ -539,71 +677,69 @@ public class PointerTracker implements PointerTrackerQueue.Element {
}
private static int getActivePointerTrackerCount() {
- return (sPointerTrackerQueue == null) ? 1 : sPointerTrackerQueue.size();
+ return sPointerTrackerQueue.size();
+ }
+
+ private static boolean isOldestTrackerInQueue(final PointerTracker tracker) {
+ return sPointerTrackerQueue.getOldestElement() == tracker;
}
- private void mayStartBatchInput() {
+ private void mayStartBatchInput(final Key key) {
if (sInGesture || !mGestureStrokeWithPreviewPoints.isStartOfAGesture()) {
return;
}
+ if (key == null || !Character.isLetter(key.mCode)) {
+ return;
+ }
if (DEBUG_LISTENER) {
- Log.d(TAG, "onStartBatchInput");
+ Log.d(TAG, String.format("[%d] onStartBatchInput", mPointerId));
}
sInGesture = true;
- mListener.onStartBatchInput();
- final boolean isOldestTracker = sPointerTrackerQueue.getOldestElement() == this;
- mDrawingProxy.showGesturePreviewTrail(this, isOldestTracker);
+ synchronized (sAggregratedPointers) {
+ sAggregratedPointers.reset();
+ sLastRecognitionPointSize = 0;
+ sLastRecognitionTime = 0;
+ mListener.onStartBatchInput();
+ }
+ mTimerProxy.cancelLongPressTimer();
+ mDrawingProxy.showGesturePreviewTrail(this, isOldestTrackerInQueue(this));
}
- private void updateBatchInput(final long eventTime) {
- synchronized (sAggregratedPointers) {
- mGestureStrokeWithPreviewPoints.appendIncrementalBatchPoints(sAggregratedPointers);
- final int size = sAggregratedPointers.getPointerSize();
- if (size > sLastRecognitionPointSize
- && GestureStroke.hasRecognitionTimePast(eventTime, sLastRecognitionTime)) {
- sLastRecognitionPointSize = size;
- sLastRecognitionTime = eventTime;
- if (DEBUG_LISTENER) {
- Log.d(TAG, "onUpdateBatchInput: batchPoints=" + size);
+ private void mayUpdateBatchInput(final long eventTime, final Key key) {
+ if (key != null) {
+ synchronized (sAggregratedPointers) {
+ final GestureStroke stroke = mGestureStrokeWithPreviewPoints;
+ stroke.appendIncrementalBatchPoints(sAggregratedPointers);
+ final int size = sAggregratedPointers.getPointerSize();
+ if (size > sLastRecognitionPointSize
+ && stroke.hasRecognitionTimePast(eventTime, sLastRecognitionTime)) {
+ sLastRecognitionPointSize = size;
+ sLastRecognitionTime = eventTime;
+ if (DEBUG_LISTENER) {
+ Log.d(TAG, String.format("[%d] onUpdateBatchInput: batchPoints=%d",
+ mPointerId, size));
+ }
+ mListener.onUpdateBatchInput(sAggregratedPointers);
}
- mListener.onUpdateBatchInput(sAggregratedPointers);
}
}
- final boolean isOldestTracker = sPointerTrackerQueue.getOldestElement() == this;
- mDrawingProxy.showGesturePreviewTrail(this, isOldestTracker);
+ mDrawingProxy.showGesturePreviewTrail(this, isOldestTrackerInQueue(this));
}
- private void mayEndBatchInput() {
+ private void mayEndBatchInput(final long eventTime) {
synchronized (sAggregratedPointers) {
mGestureStrokeWithPreviewPoints.appendAllBatchPoints(sAggregratedPointers);
- mGestureStrokeWithPreviewPoints.reset();
if (getActivePointerTrackerCount() == 1) {
if (DEBUG_LISTENER) {
- Log.d(TAG, "onEndBatchInput: batchPoints="
- + sAggregratedPointers.getPointerSize());
+ Log.d(TAG, String.format("[%d] onEndBatchInput : batchPoints=%d",
+ mPointerId, sAggregratedPointers.getPointerSize()));
}
sInGesture = false;
+ sTimeRecorder.onEndBatchInput(eventTime);
mListener.onEndBatchInput(sAggregratedPointers);
- clearBatchInputPointsOfAllPointerTrackers();
}
}
- final boolean isOldestTracker = sPointerTrackerQueue.getOldestElement() == this;
- mDrawingProxy.showGesturePreviewTrail(this, isOldestTracker);
- }
-
- private static void abortBatchInput() {
- clearBatchInputPointsOfAllPointerTrackers();
- }
-
- private static void clearBatchInputPointsOfAllPointerTrackers() {
- final int trackersSize = sTrackers.size();
- for (int i = 0; i < trackersSize; ++i) {
- final PointerTracker tracker = sTrackers.get(i);
- tracker.mGestureStrokeWithPreviewPoints.reset();
- }
- sAggregratedPointers.reset();
- sLastRecognitionPointSize = 0;
- sLastRecognitionTime = 0;
+ mDrawingProxy.showGesturePreviewTrail(this, isOldestTrackerInQueue(this));
}
public void processMotionEvent(final int action, final int x, final int y, final long eventTime,
@@ -639,15 +775,14 @@ public class PointerTracker implements PointerTrackerQueue.Element {
// Naive up-to-down noise filter.
final long deltaT = eventTime - mUpTime;
if (deltaT < sParams.mTouchNoiseThresholdTime) {
- final int dx = x - mLastX;
- final int dy = y - mLastY;
- final int distanceSquared = (dx * dx + dy * dy);
- if (distanceSquared < sParams.mTouchNoiseThresholdDistanceSquared) {
+ final int distance = getDistance(x, y, mLastX, mLastY);
+ if (distance < sParams.mTouchNoiseThresholdDistance) {
if (DEBUG_MODE)
- Log.w(TAG, "onDownEvent: ignore potential noise: time=" + deltaT
- + " distance=" + distanceSquared);
+ Log.w(TAG, String.format("[%d] onDownEvent:"
+ + " ignore potential noise: time=%d distance=%d",
+ mPointerId, deltaT, distance));
if (ProductionFlag.IS_EXPERIMENTAL) {
- ResearchLogger.pointerTracker_onDownEvent(deltaT, distanceSquared);
+ ResearchLogger.pointerTracker_onDownEvent(deltaT, distance * distance);
}
mKeyAlreadyProcessed = true;
return;
@@ -655,42 +790,29 @@ public class PointerTracker implements PointerTrackerQueue.Element {
}
final Key key = getKeyOn(x, y);
- final PointerTrackerQueue queue = sPointerTrackerQueue;
- if (queue != null) {
- if (key != null && key.isModifier()) {
- // Before processing a down event of modifier key, all pointers already being
- // tracked should be released.
- queue.releaseAllPointers(eventTime);
- }
- queue.add(this);
+ mBogusMoveEventDetector.onActualDownEvent(x, y);
+ if (key != null && key.isModifier()) {
+ // Before processing a down event of modifier key, all pointers already being
+ // tracked should be released.
+ sPointerTrackerQueue.releaseAllPointers(eventTime);
}
+ sPointerTrackerQueue.add(this);
onDownEventInternal(x, y, eventTime);
if (!sShouldHandleGesture) {
return;
}
- final int activePointerTrackerCount = getActivePointerTrackerCount();
- if (activePointerTrackerCount == 1) {
- mIsDetectingGesture = false;
- // A gesture should start only from the letter key.
- final boolean isAlphabetKeyboard = (mKeyboard != null)
- && mKeyboard.mId.isAlphabetKeyboard();
- if (isAlphabetKeyboard && !mIsShowingMoreKeysPanel && key != null
- && Keyboard.isLetterCode(key.mCode)) {
+ // A gesture should start only from a non-modifier key.
+ mIsDetectingGesture = (mKeyboard != null) && mKeyboard.mId.isAlphabetKeyboard()
+ && !mIsShowingMoreKeysPanel && key != null && !key.isModifier();
+ if (mIsDetectingGesture) {
+ if (getActivePointerTrackerCount() == 1) {
sGestureFirstDownTime = eventTime;
- onGestureDownEvent(x, y, eventTime);
}
- } else if (sInGesture && activePointerTrackerCount > 1) {
- onGestureDownEvent(x, y, eventTime);
+ mGestureStrokeWithPreviewPoints.onDownEvent(x, y, eventTime, sGestureFirstDownTime,
+ sTimeRecorder.getLastLetterTypingTime());
}
}
- private void onGestureDownEvent(final int x, final int y, final long eventTime) {
- mIsDetectingGesture = true;
- final int elapsedTimeFromFirstDown = (int)(eventTime - sGestureFirstDownTime);
- mGestureStrokeWithPreviewPoints.addPoint(x, y, elapsedTimeFromFirstDown,
- false /* isHistorical */);
- }
-
private void onDownEventInternal(final int x, final int y, final long eventTime) {
Key key = onDownKey(x, y, eventTime);
// Sliding key is allowed when 1) enabled by configuration, 2) this pointer starts sliding
@@ -700,8 +822,7 @@ public class PointerTracker implements PointerTrackerQueue.Element {
|| mKeyDetector.alwaysAllowsSlidingInput();
mKeyboardLayoutHasBeenChanged = false;
mKeyAlreadyProcessed = false;
- mIsInSlidingKeyInput = false;
- mIgnoreModifierKey = false;
+ resetSlidingKeyInput();
if (key != null) {
// This onPress call may have changed keyboard layout. Those cases are detected at
// {@link #setKeyboard}. In those cases, we should update key according to the new
@@ -712,25 +833,30 @@ public class PointerTracker implements PointerTrackerQueue.Element {
startRepeatKey(key);
startLongPressTimer(key);
- setPressedKeyGraphics(key);
+ setPressedKeyGraphics(key, eventTime);
}
}
private void startSlidingKeyInput(final Key key) {
if (!mIsInSlidingKeyInput) {
- mIgnoreModifierKey = key.isModifier();
+ mIsInSlidingKeyInputFromModifier = key.isModifier();
}
mIsInSlidingKeyInput = true;
}
+ private void resetSlidingKeyInput() {
+ mIsInSlidingKeyInput = false;
+ mIsInSlidingKeyInputFromModifier = false;
+ }
+
private void onGestureMoveEvent(final int x, final int y, final long eventTime,
- final boolean isHistorical, final Key key) {
+ final boolean isMajorEvent, final Key key) {
final int gestureTime = (int)(eventTime - sGestureFirstDownTime);
if (mIsDetectingGesture) {
- mGestureStrokeWithPreviewPoints.addPoint(x, y, gestureTime, isHistorical);
- mayStartBatchInput();
- if (sInGesture && key != null) {
- updateBatchInput(eventTime);
+ mGestureStrokeWithPreviewPoints.addPoint(x, y, gestureTime, isMajorEvent);
+ mayStartBatchInput(key);
+ if (sInGesture) {
+ mayUpdateBatchInput(eventTime, key);
}
}
}
@@ -752,118 +878,157 @@ public class PointerTracker implements PointerTrackerQueue.Element {
final int historicalY = (int)me.getHistoricalY(pointerIndex, h);
final long historicalTime = me.getHistoricalEventTime(h);
onGestureMoveEvent(historicalX, historicalY, historicalTime,
- true /* isHistorical */, null);
+ false /* isMajorEvent */, null);
}
}
onMoveEventInternal(x, y, eventTime);
}
+ private void processSlidingKeyInput(final Key newKey, final int x, final int y,
+ final long eventTime) {
+ // This onPress call may have changed keyboard layout. Those cases are detected
+ // at {@link #setKeyboard}. In those cases, we should update key according
+ // to the new keyboard layout.
+ Key key = newKey;
+ if (callListenerOnPressAndCheckKeyboardLayoutChange(key)) {
+ key = onMoveKey(x, y);
+ }
+ onMoveToNewKey(key, x, y);
+ startLongPressTimer(key);
+ setPressedKeyGraphics(key, eventTime);
+ }
+
+ private void processPhantomSuddenMoveHack(final Key key, final int x, final int y,
+ final long eventTime, final Key oldKey, final int lastX, final int lastY) {
+ if (DEBUG_MODE) {
+ Log.w(TAG, String.format("[%d] onMoveEvent:"
+ + " phantom sudden move event (distance=%d) is translated to "
+ + "up[%d,%d,%s]/down[%d,%d,%s] events", mPointerId,
+ getDistance(x, y, lastX, lastY),
+ lastX, lastY, Constants.printableCode(oldKey.mCode),
+ x, y, Constants.printableCode(key.mCode)));
+ }
+ // TODO: This should be moved to outside of this nested if-clause?
+ if (ProductionFlag.IS_EXPERIMENTAL) {
+ ResearchLogger.pointerTracker_onMoveEvent(x, y, lastX, lastY);
+ }
+ onUpEventInternal(eventTime);
+ onDownEventInternal(x, y, eventTime);
+ }
+
+ private void processProximateBogusDownMoveUpEventHack(final Key key, final int x, final int y,
+ final long eventTime, final Key oldKey, final int lastX, final int lastY) {
+ if (DEBUG_MODE) {
+ final float keyDiagonal = (float)Math.hypot(
+ mKeyboard.mMostCommonKeyWidth, mKeyboard.mMostCommonKeyHeight);
+ final float radiusRatio =
+ mBogusMoveEventDetector.getDistanceFromDownEvent(x, y)
+ / keyDiagonal;
+ Log.w(TAG, String.format("[%d] onMoveEvent:"
+ + " bogus down-move-up event (raidus=%.2f key diagonal) is "
+ + " translated to up[%d,%d,%s]/down[%d,%d,%s] events",
+ mPointerId, radiusRatio,
+ lastX, lastY, Constants.printableCode(oldKey.mCode),
+ x, y, Constants.printableCode(key.mCode)));
+ }
+ onUpEventInternal(eventTime);
+ onDownEventInternal(x, y, eventTime);
+ }
+
+ private void processSildeOutFromOldKey(final Key oldKey) {
+ setReleasedKeyGraphics(oldKey);
+ callListenerOnRelease(oldKey, oldKey.mCode, true);
+ startSlidingKeyInput(oldKey);
+ mTimerProxy.cancelKeyTimers();
+ }
+
+ private void slideFromOldKeyToNewKey(final Key key, final int x, final int y,
+ final long eventTime, final Key oldKey, final int lastX, final int lastY) {
+ // The pointer has been slid in to the new key from the previous key, we must call
+ // onRelease() first to notify that the previous key has been released, then call
+ // onPress() to notify that the new key is being pressed.
+ processSildeOutFromOldKey(oldKey);
+ startRepeatKey(key);
+ if (mIsAllowedSlidingKeyInput) {
+ processSlidingKeyInput(key, x, y, eventTime);
+ }
+ // HACK: On some devices, quick successive touches may be reported as a sudden move by
+ // touch panel firmware. This hack detects such cases and translates the move event to
+ // successive up and down events.
+ // TODO: Should find a way to balance gesture detection and this hack.
+ else if (sNeedsPhantomSuddenMoveEventHack
+ && getDistance(x, y, lastX, lastY) >= mPhantonSuddenMoveThreshold) {
+ processPhantomSuddenMoveHack(key, x, y, eventTime, oldKey, lastX, lastY);
+ }
+ // HACK: On some devices, quick successive proximate touches may be reported as a bogus
+ // down-move-up event by touch panel firmware. This hack detects such cases and breaks
+ // these events into separate up and down events.
+ else if (sNeedsProximateBogusDownMoveUpEventHack && sTimeRecorder.isInFastTyping(eventTime)
+ && mBogusMoveEventDetector.isCloseToActualDownEvent(x, y)) {
+ processProximateBogusDownMoveUpEventHack(key, x, y, eventTime, oldKey, lastX, lastY);
+ }
+ // HACK: If there are currently multiple touches, register the key even if the finger
+ // slides off the key. This defends against noise from some touch panels when there are
+ // close multiple touches.
+ // Caveat: When in chording input mode with a modifier key, we don't use this hack.
+ else if (getActivePointerTrackerCount() > 1
+ && !sPointerTrackerQueue.hasModifierKeyOlderThan(this)) {
+ if (DEBUG_MODE) {
+ Log.w(TAG, String.format("[%d] onMoveEvent:"
+ + " detected sliding finger while multi touching", mPointerId));
+ }
+ onUpEvent(x, y, eventTime);
+ mKeyAlreadyProcessed = true;
+ setReleasedKeyGraphics(oldKey);
+ } else {
+ if (!mIsDetectingGesture) {
+ mKeyAlreadyProcessed = true;
+ }
+ setReleasedKeyGraphics(oldKey);
+ }
+ }
+
+ private void slideOutFromOldKey(final Key oldKey, final int x, final int y) {
+ // The pointer has been slid out from the previous key, we must call onRelease() to
+ // notify that the previous key has been released.
+ processSildeOutFromOldKey(oldKey);
+ if (mIsAllowedSlidingKeyInput) {
+ onMoveToNewKey(null, x, y);
+ } else {
+ if (!mIsDetectingGesture) {
+ mKeyAlreadyProcessed = true;
+ }
+ }
+ }
+
private void onMoveEventInternal(final int x, final int y, final long eventTime) {
final int lastX = mLastX;
final int lastY = mLastY;
final Key oldKey = mCurrentKey;
- Key key = onMoveKey(x, y);
+ final Key newKey = onMoveKey(x, y);
if (sShouldHandleGesture) {
// Register move event on gesture tracker.
- onGestureMoveEvent(x, y, eventTime, false /* isHistorical */, key);
+ onGestureMoveEvent(x, y, eventTime, true /* isMajorEvent */, newKey);
if (sInGesture) {
- mIgnoreModifierKey = true;
- mTimerProxy.cancelLongPressTimer();
- mIsInSlidingKeyInput = true;
mCurrentKey = null;
setReleasedKeyGraphics(oldKey);
return;
}
}
- if (key != null) {
- if (oldKey == null) {
+ if (newKey != null) {
+ if (oldKey != null && isMajorEnoughMoveToBeOnNewKey(x, y, eventTime, newKey)) {
+ slideFromOldKeyToNewKey(newKey, x, y, eventTime, oldKey, lastX, lastY);
+ } else if (oldKey == null) {
// The pointer has been slid in to the new key, but the finger was not on any keys.
// In this case, we must call onPress() to notify that the new key is being pressed.
- // This onPress call may have changed keyboard layout. Those cases are detected at
- // {@link #setKeyboard}. In those cases, we should update key according to the
- // new keyboard layout.
- if (callListenerOnPressAndCheckKeyboardLayoutChange(key)) {
- key = onMoveKey(x, y);
- }
- onMoveToNewKey(key, x, y);
- startLongPressTimer(key);
- setPressedKeyGraphics(key);
- } else if (isMajorEnoughMoveToBeOnNewKey(x, y, key)) {
- // The pointer has been slid in to the new key from the previous key, we must call
- // onRelease() first to notify that the previous key has been released, then call
- // onPress() to notify that the new key is being pressed.
- setReleasedKeyGraphics(oldKey);
- callListenerOnRelease(oldKey, oldKey.mCode, true);
- startSlidingKeyInput(oldKey);
- mTimerProxy.cancelKeyTimers();
- startRepeatKey(key);
- if (mIsAllowedSlidingKeyInput) {
- // This onPress call may have changed keyboard layout. Those cases are detected
- // at {@link #setKeyboard}. In those cases, we should update key according
- // to the new keyboard layout.
- if (callListenerOnPressAndCheckKeyboardLayoutChange(key)) {
- key = onMoveKey(x, y);
- }
- onMoveToNewKey(key, x, y);
- startLongPressTimer(key);
- setPressedKeyGraphics(key);
- } else {
- // HACK: On some devices, quick successive touches may be translated to sudden
- // move by touch panel firmware. This hack detects the case and translates the
- // move event to successive up and down events.
- final int dx = x - lastX;
- final int dy = y - lastY;
- final int lastMoveSquared = dx * dx + dy * dy;
- // TODO: Should find a way to balance gesture detection and this hack.
- if (sNeedsPhantomSuddenMoveEventHack
- && lastMoveSquared >= mKeyQuarterWidthSquared
- && !mIsDetectingGesture) {
- if (DEBUG_MODE) {
- Log.w(TAG, String.format("onMoveEvent:"
- + " phantom sudden move event is translated to "
- + "up[%d,%d]/down[%d,%d] events", lastX, lastY, x, y));
- }
- // TODO: This should be moved to outside of this nested if-clause?
- if (ProductionFlag.IS_EXPERIMENTAL) {
- ResearchLogger.pointerTracker_onMoveEvent(x, y, lastX, lastY);
- }
- onUpEventInternal();
- onDownEventInternal(x, y, eventTime);
- } else {
- // HACK: If there are currently multiple touches, register the key even if
- // the finger slides off the key. This defends against noise from some
- // touch panels when there are close multiple touches.
- // Caveat: When in chording input mode with a modifier key, we don't use
- // this hack.
- if (getActivePointerTrackerCount() > 1 && sPointerTrackerQueue != null
- && !sPointerTrackerQueue.hasModifierKeyOlderThan(this)) {
- onUpEventInternal();
- }
- if (!mIsDetectingGesture) {
- mKeyAlreadyProcessed = true;
- }
- setReleasedKeyGraphics(oldKey);
- }
- }
+ processSlidingKeyInput(newKey, x, y, eventTime);
}
- } else {
- if (oldKey != null && isMajorEnoughMoveToBeOnNewKey(x, y, key)) {
- // The pointer has been slid out from the previous key, we must call onRelease() to
- // notify that the previous key has been released.
- setReleasedKeyGraphics(oldKey);
- callListenerOnRelease(oldKey, oldKey.mCode, true);
- startSlidingKeyInput(oldKey);
- mTimerProxy.cancelLongPressTimer();
- if (mIsAllowedSlidingKeyInput) {
- onMoveToNewKey(key, x, y);
- } else {
- if (!mIsDetectingGesture) {
- mKeyAlreadyProcessed = true;
- }
- }
+ } else { // newKey == null
+ if (oldKey != null && isMajorEnoughMoveToBeOnNewKey(x, y, eventTime, newKey)) {
+ slideOutFromOldKey(oldKey, x, y);
}
}
}
@@ -873,22 +1038,17 @@ public class PointerTracker implements PointerTrackerQueue.Element {
printTouchEvent("onUpEvent :", x, y, eventTime);
}
- final PointerTrackerQueue queue = sPointerTrackerQueue;
- if (queue != null) {
- if (!sInGesture) {
- if (mCurrentKey != null && mCurrentKey.isModifier()) {
- // Before processing an up event of modifier key, all pointers already being
- // tracked should be released.
- queue.releaseAllPointersExcept(this, eventTime);
- } else {
- queue.releaseAllPointersOlderThan(this, eventTime);
- }
+ if (!sInGesture) {
+ if (mCurrentKey != null && mCurrentKey.isModifier()) {
+ // Before processing an up event of modifier key, all pointers already being
+ // tracked should be released.
+ sPointerTrackerQueue.releaseAllPointersExcept(this, eventTime);
+ } else {
+ sPointerTrackerQueue.releaseAllPointersOlderThan(this, eventTime);
}
}
- onUpEventInternal();
- if (queue != null) {
- queue.remove(this);
- }
+ onUpEventInternal(eventTime);
+ sPointerTrackerQueue.remove(this);
}
// Let this pointer tracker know that one of newer-than-this pointer trackers got an up event.
@@ -899,13 +1059,13 @@ public class PointerTracker implements PointerTrackerQueue.Element {
if (DEBUG_EVENT) {
printTouchEvent("onPhntEvent:", getLastX(), getLastY(), eventTime);
}
- onUpEventInternal();
+ onUpEventInternal(eventTime);
mKeyAlreadyProcessed = true;
}
- private void onUpEventInternal() {
+ private void onUpEventInternal(final long eventTime) {
mTimerProxy.cancelKeyTimers();
- mIsInSlidingKeyInput = false;
+ resetSlidingKeyInput();
mIsDetectingGesture = false;
final Key currentKey = mCurrentKey;
mCurrentKey = null;
@@ -920,22 +1080,19 @@ public class PointerTracker implements PointerTrackerQueue.Element {
if (currentKey != null) {
callListenerOnRelease(currentKey, currentKey.mCode, true);
}
- mayEndBatchInput();
+ mayEndBatchInput(eventTime);
return;
}
- // This event will be recognized as a regular code input. Clear unused possible batch points
- // so they are not mistakenly displayed as preview.
- clearBatchInputPointsOfAllPointerTrackers();
+
if (mKeyAlreadyProcessed) {
return;
}
if (currentKey != null && !currentKey.isRepeatable()) {
- detectAndSendKey(currentKey, mKeyX, mKeyY);
+ detectAndSendKey(currentKey, mKeyX, mKeyY, eventTime);
}
}
public void onShowMoreKeysPanel(final int x, final int y, final KeyEventHandler handler) {
- abortBatchInput();
onLongPressed();
mIsShowingMoreKeysPanel = true;
onDownEvent(x, y, SystemClock.uptimeMillis(), handler);
@@ -944,10 +1101,7 @@ public class PointerTracker implements PointerTrackerQueue.Element {
public void onLongPressed() {
mKeyAlreadyProcessed = true;
setReleasedKeyGraphics(mCurrentKey);
- final PointerTrackerQueue queue = sPointerTrackerQueue;
- if (queue != null) {
- queue.remove(this);
- }
+ sPointerTrackerQueue.remove(this);
}
public void onCancelEvent(final int x, final int y, final long eventTime) {
@@ -955,18 +1109,15 @@ public class PointerTracker implements PointerTrackerQueue.Element {
printTouchEvent("onCancelEvt:", x, y, eventTime);
}
- final PointerTrackerQueue queue = sPointerTrackerQueue;
- if (queue != null) {
- queue.releaseAllPointersExcept(this, eventTime);
- queue.remove(this);
- }
+ sPointerTrackerQueue.releaseAllPointersExcept(this, eventTime);
+ sPointerTrackerQueue.remove(this);
onCancelEventInternal();
}
private void onCancelEventInternal() {
mTimerProxy.cancelKeyTimers();
setReleasedKeyGraphics(mCurrentKey);
- mIsInSlidingKeyInput = false;
+ resetSlidingKeyInput();
if (mIsShowingMoreKeysPanel) {
mDrawingProxy.dismissMoreKeysPanel();
mIsShowingMoreKeysPanel = false;
@@ -982,24 +1133,51 @@ public class PointerTracker implements PointerTrackerQueue.Element {
public void onRegisterKey(final Key key) {
if (key != null) {
- detectAndSendKey(key, key.mX, key.mY);
+ detectAndSendKey(key, key.mX, key.mY, SystemClock.uptimeMillis());
mTimerProxy.startTypingStateTimer(key);
}
}
- private boolean isMajorEnoughMoveToBeOnNewKey(final int x, final int y, final Key newKey) {
+ private boolean isMajorEnoughMoveToBeOnNewKey(final int x, final int y, final long eventTime,
+ final Key newKey) {
if (mKeyDetector == null) {
throw new NullPointerException("keyboard and/or key detector not set");
}
final Key curKey = mCurrentKey;
if (newKey == curKey) {
return false;
- } else if (curKey != null) {
- return curKey.squaredDistanceToEdge(x, y)
- >= mKeyDetector.getKeyHysteresisDistanceSquared();
- } else {
+ }
+ if (curKey == null /* && newKey != null */) {
+ return true;
+ }
+ // Here curKey points to the different key from newKey.
+ final int keyHysteresisDistanceSquared = mKeyDetector.getKeyHysteresisDistanceSquared(
+ mIsInSlidingKeyInputFromModifier);
+ final int distanceFromKeyEdgeSquared = curKey.squaredDistanceToEdge(x, y);
+ if (distanceFromKeyEdgeSquared >= keyHysteresisDistanceSquared) {
+ if (DEBUG_MODE) {
+ final float distanceToEdgeRatio = (float)Math.sqrt(distanceFromKeyEdgeSquared)
+ / mKeyboard.mMostCommonKeyWidth;
+ Log.d(TAG, String.format("[%d] isMajorEnoughMoveToBeOnNewKey:"
+ +" %.2f key width from key edge", mPointerId, distanceToEdgeRatio));
+ }
return true;
}
+ if (sNeedsProximateBogusDownMoveUpEventHack && !mIsAllowedSlidingKeyInput
+ && sTimeRecorder.isInFastTyping(eventTime)
+ && mBogusMoveEventDetector.hasTraveledLongDistance(x, y)) {
+ if (DEBUG_MODE) {
+ final float keyDiagonal = (float)Math.hypot(
+ mKeyboard.mMostCommonKeyWidth, mKeyboard.mMostCommonKeyHeight);
+ final float lengthFromDownRatio =
+ mBogusMoveEventDetector.mAccumulatedDistanceFromDownKey / keyDiagonal;
+ Log.d(TAG, String.format("[%d] isMajorEnoughMoveToBeOnNewKey:"
+ + " %.2f key diagonal from virtual down point",
+ mPointerId, lengthFromDownRatio));
+ }
+ return true;
+ }
+ return false;
}
private void startLongPressTimer(final Key key) {
@@ -1008,14 +1186,14 @@ public class PointerTracker implements PointerTrackerQueue.Element {
}
}
- private void detectAndSendKey(final Key key, final int x, final int y) {
+ private void detectAndSendKey(final Key key, final int x, final int y, final long eventTime) {
if (key == null) {
callListenerOnCancelInput();
return;
}
final int code = key.mCode;
- callListenerOnCodeInput(key, code, x, y);
+ callListenerOnCodeInput(key, code, x, y, eventTime);
callListenerOnRelease(key, code, false);
}
@@ -1023,7 +1201,7 @@ public class PointerTracker implements PointerTrackerQueue.Element {
final long eventTime) {
final Key key = mKeyDetector.detectHitKey(x, y);
final String code = KeyDetector.printableCode(key);
- Log.d(TAG, String.format("%s%s[%d] %4d %4d %5d %s", title,
- (mKeyAlreadyProcessed ? "-" : " "), mPointerId, x, y, eventTime, code));
+ Log.d(TAG, String.format("[%d]%s%s %4d %4d %5d %s", mPointerId,
+ (mKeyAlreadyProcessed ? "-" : " "), title, x, y, eventTime, code));
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
index e1b082c16..ed01f3458 100644
--- a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
+++ b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
@@ -18,6 +18,7 @@ package com.android.inputmethod.keyboard;
import android.graphics.Rect;
import android.text.TextUtils;
+import android.util.Log;
import com.android.inputmethod.keyboard.internal.TouchPositionCorrection;
import com.android.inputmethod.latin.Constants;
@@ -25,15 +26,18 @@ import com.android.inputmethod.latin.JniUtils;
import java.util.Arrays;
-public class ProximityInfo {
+public final class ProximityInfo {
+ private static final String TAG = ProximityInfo.class.getSimpleName();
+ private static final boolean DEBUG = false;
+
/** MAX_PROXIMITY_CHARS_SIZE must be the same as MAX_PROXIMITY_CHARS_SIZE_INTERNAL
* in defines.h */
public static final int MAX_PROXIMITY_CHARS_SIZE = 16;
/** Number of key widths from current touch point to search for nearest keys. */
- private static float SEARCH_DISTANCE = 1.2f;
+ private static final float SEARCH_DISTANCE = 1.2f;
private static final Key[] EMPTY_KEY_ARRAY = new Key[0];
+ private static final float DEFAULT_TOUCH_POSITION_CORRECTION_RADIUS = 0.15f;
- private final int mKeyHeight;
private final int mGridWidth;
private final int mGridHeight;
private final int mGridSize;
@@ -43,8 +47,8 @@ public class ProximityInfo {
private final int mKeyboardMinWidth;
private final int mKeyboardHeight;
private final int mMostCommonKeyWidth;
+ private final int mMostCommonKeyHeight;
private final Key[] mKeys;
- private final TouchPositionCorrection mTouchPositionCorrection;
private final Key[][] mGridNeighbors;
private final String mLocaleStr;
@@ -64,17 +68,16 @@ public class ProximityInfo {
mCellHeight = (height + mGridHeight - 1) / mGridHeight;
mKeyboardMinWidth = minWidth;
mKeyboardHeight = height;
- mKeyHeight = mostCommonKeyHeight;
+ mMostCommonKeyHeight = mostCommonKeyHeight;
mMostCommonKeyWidth = mostCommonKeyWidth;
mKeys = keys;
- mTouchPositionCorrection = touchPositionCorrection;
mGridNeighbors = new Key[mGridSize][];
if (minWidth == 0 || height == 0) {
// No proximity required. Keyboard might be more keys keyboard.
return;
}
computeNearestNeighbors();
- mNativeProximityInfo = createNativeProximityInfo();
+ mNativeProximityInfo = createNativeProximityInfo(touchPositionCorrection);
}
public static ProximityInfo createDummyProximityInfo() {
@@ -106,12 +109,12 @@ public class ProximityInfo {
private native void releaseProximityInfoNative(long nativeProximityInfo);
- private final long createNativeProximityInfo() {
+ private final long createNativeProximityInfo(
+ final TouchPositionCorrection touchPositionCorrection) {
final Key[][] gridNeighborKeys = mGridNeighbors;
final int keyboardWidth = mKeyboardMinWidth;
final int keyboardHeight = mKeyboardHeight;
final Key[] keys = mKeys;
- final TouchPositionCorrection touchPositionCorrection = mTouchPositionCorrection;
final int[] proximityCharsArray = new int[mGridSize * MAX_PROXIMITY_CHARS_SIZE];
Arrays.fill(proximityCharsArray, Constants.NOT_A_CODE);
for (int i = 0; i < mGridSize; ++i) {
@@ -141,29 +144,43 @@ public class ProximityInfo {
}
if (touchPositionCorrection != null && touchPositionCorrection.isValid()) {
+ if (DEBUG) {
+ Log.d(TAG, "touchPositionCorrection: ON");
+ }
sweetSpotCenterXs = new float[keyCount];
sweetSpotCenterYs = new float[keyCount];
sweetSpotRadii = new float[keyCount];
+ final int rows = touchPositionCorrection.getRows();
+ final float defaultRadius = DEFAULT_TOUCH_POSITION_CORRECTION_RADIUS
+ * (float)Math.hypot(mMostCommonKeyWidth, mMostCommonKeyHeight);
for (int i = 0; i < keyCount; i++) {
final Key key = keys[i];
final Rect hitBox = key.mHitBox;
- final int row = hitBox.top / mKeyHeight;
- if (row < touchPositionCorrection.mRadii.length) {
+ sweetSpotCenterXs[i] = hitBox.exactCenterX();
+ sweetSpotCenterYs[i] = hitBox.exactCenterY();
+ sweetSpotRadii[i] = defaultRadius;
+ final int row = hitBox.top / mMostCommonKeyHeight;
+ if (row < rows) {
final int hitBoxWidth = hitBox.width();
final int hitBoxHeight = hitBox.height();
- final float x = touchPositionCorrection.mXs[row];
- final float y = touchPositionCorrection.mYs[row];
- final float radius = touchPositionCorrection.mRadii[row];
- sweetSpotCenterXs[i] = hitBox.exactCenterX() + x * hitBoxWidth;
- sweetSpotCenterYs[i] = hitBox.exactCenterY() + y * hitBoxHeight;
- // Note that, in recent versions of Android, FloatMath is actually slower than
- // java.lang.Math due to the way the JIT optimizes java.lang.Math.
- sweetSpotRadii[i] = radius * (float)Math.sqrt(
- hitBoxWidth * hitBoxWidth + hitBoxHeight * hitBoxHeight);
+ final float hitBoxDiagonal = (float)Math.hypot(hitBoxWidth, hitBoxHeight);
+ sweetSpotCenterXs[i] += touchPositionCorrection.getX(row) * hitBoxWidth;
+ sweetSpotCenterYs[i] += touchPositionCorrection.getY(row) * hitBoxHeight;
+ sweetSpotRadii[i] = touchPositionCorrection.getRadius(row) * hitBoxDiagonal;
+ }
+ if (DEBUG) {
+ Log.d(TAG, String.format(
+ " [%2d] row=%d x/y/r=%7.2f/%7.2f/%5.2f %s code=%s", i, row,
+ sweetSpotCenterXs[i], sweetSpotCenterYs[i], sweetSpotRadii[i],
+ (row < rows ? "correct" : "default"),
+ Constants.printableCode(key.mCode)));
}
}
} else {
sweetSpotCenterXs = sweetSpotCenterYs = sweetSpotRadii = null;
+ if (DEBUG) {
+ Log.d(TAG, "touchPositionCorrection: OFF");
+ }
}
return setProximityInfoNative(mLocaleStr, MAX_PROXIMITY_CHARS_SIZE,
@@ -215,13 +232,14 @@ public class ProximityInfo {
}
}
- public void fillArrayWithNearestKeyCodes(int x, int y, int primaryKeyCode, int[] dest) {
+ public void fillArrayWithNearestKeyCodes(final int x, final int y, final int primaryKeyCode,
+ final int[] dest) {
final int destLength = dest.length;
if (destLength < 1) {
return;
}
int index = 0;
- if (primaryKeyCode > Keyboard.CODE_SPACE) {
+ if (primaryKeyCode > Constants.CODE_SPACE) {
dest[index++] = primaryKeyCode;
}
final Key[] nearestKeys = getNearestKeys(x, y);
@@ -230,7 +248,7 @@ public class ProximityInfo {
break;
}
final int code = key.mCode;
- if (code <= Keyboard.CODE_SPACE) {
+ if (code <= Constants.CODE_SPACE) {
break;
}
dest[index++] = code;
@@ -240,7 +258,7 @@ public class ProximityInfo {
}
}
- public Key[] getNearestKeys(int x, int y) {
+ public Key[] getNearestKeys(final int x, final int y) {
if (mGridNeighbors == null) {
return EMPTY_KEY_ARRAY;
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/AlphabetShiftState.java b/java/src/com/android/inputmethod/keyboard/internal/AlphabetShiftState.java
index 5712df1fc..44aa72a0a 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/AlphabetShiftState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/AlphabetShiftState.java
@@ -18,7 +18,7 @@ package com.android.inputmethod.keyboard.internal;
import android.util.Log;
-public class AlphabetShiftState {
+public final class AlphabetShiftState {
private static final String TAG = AlphabetShiftState.class.getSimpleName();
private static final boolean DEBUG = false;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/GestureStroke.java b/java/src/com/android/inputmethod/keyboard/internal/GestureStroke.java
index f0be0ee94..f8244dd5b 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/GestureStroke.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/GestureStroke.java
@@ -14,111 +14,310 @@
package com.android.inputmethod.keyboard.internal;
+import android.content.res.TypedArray;
+import android.util.Log;
+
import com.android.inputmethod.latin.InputPointers;
+import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.ResizableIntArray;
+import com.android.inputmethod.latin.ResourceUtils;
public class GestureStroke {
+ private static final String TAG = GestureStroke.class.getSimpleName();
+ private static final boolean DEBUG = false;
+ private static final boolean DEBUG_SPEED = false;
+
public static final int DEFAULT_CAPACITY = 128;
private final int mPointerId;
private final ResizableIntArray mEventTimes = new ResizableIntArray(DEFAULT_CAPACITY);
private final ResizableIntArray mXCoordinates = new ResizableIntArray(DEFAULT_CAPACITY);
private final ResizableIntArray mYCoordinates = new ResizableIntArray(DEFAULT_CAPACITY);
- private float mLength;
+
+ private final GestureStrokeParams mParams;
+
+ private int mKeyWidth; // pixel
+ // Static threshold for starting gesture detection
+ private int mDetectFastMoveSpeedThreshold; // pixel /sec
+ private int mDetectFastMoveTime;
+ private int mDetectFastMoveX;
+ private int mDetectFastMoveY;
+ // Dynamic threshold for gesture after fast typing
+ private boolean mAfterFastTyping;
+ private int mGestureDynamicDistanceThresholdFrom; // pixel
+ private int mGestureDynamicDistanceThresholdTo; // pixel
+ // Variables for gesture sampling
+ private int mGestureSamplingMinimumDistance; // pixel
+ private long mLastMajorEventTime;
+ private int mLastMajorEventX;
+ private int mLastMajorEventY;
+ // Variables for gesture recognition
+ private int mGestureRecognitionSpeedThreshold; // pixel / sec
private int mIncrementalRecognitionSize;
private int mLastIncrementalBatchSize;
- private long mLastPointTime;
- private int mLastPointX;
- private int mLastPointY;
-
- private int mMinGestureLength; // pixel
- private int mMinGestureSampleLength; // pixel
- private int mGestureRecognitionThreshold; // pixel / sec
-
- // TODO: Move some of these to resource.
- private static final float MIN_GESTURE_LENGTH_RATIO_TO_KEY_WIDTH = 0.75f;
- private static final int MIN_GESTURE_START_DURATION = 100; // msec
- private static final int MIN_GESTURE_RECOGNITION_TIME = 100; // msec
- private static final float MIN_GESTURE_SAMPLING_RATIO_TO_KEY_WIDTH = 1.0f / 6.0f;
- private static final float GESTURE_RECOGNITION_SPEED_THRESHOLD_RATIO_TO_KEY_WIDTH =
- 5.5f; // keyWidth / sec
- private static final int MSEC_PER_SEC = 1000;
- public static final boolean hasRecognitionTimePast(
- final long currentTime, final long lastRecognitionTime) {
- return currentTime > lastRecognitionTime + MIN_GESTURE_RECOGNITION_TIME;
+ public static final class GestureStrokeParams {
+ // Static threshold for gesture after fast typing
+ public final int mStaticTimeThresholdAfterFastTyping; // msec
+ // Static threshold for starting gesture detection
+ public final float mDetectFastMoveSpeedThreshold; // keyWidth/sec
+ // Dynamic threshold for gesture after fast typing
+ public final int mDynamicThresholdDecayDuration; // msec
+ // Time based threshold values
+ public final int mDynamicTimeThresholdFrom; // msec
+ public final int mDynamicTimeThresholdTo; // msec
+ // Distance based threshold values
+ public final float mDynamicDistanceThresholdFrom; // keyWidth
+ public final float mDynamicDistanceThresholdTo; // keyWidth
+ // Parameters for gesture sampling
+ public final float mSamplingMinimumDistance; // keyWidth
+ // Parameters for gesture recognition
+ public final int mRecognitionMinimumTime; // msec
+ public final float mRecognitionSpeedThreshold; // keyWidth/sec
+
+ // Default GestureStroke parameters for test.
+ public static final GestureStrokeParams FOR_TEST = new GestureStrokeParams();
+ public static final GestureStrokeParams DEFAULT = FOR_TEST;
+
+ private GestureStrokeParams() {
+ // These parameter values are default and intended for testing.
+ mStaticTimeThresholdAfterFastTyping = 350; // msec
+ mDetectFastMoveSpeedThreshold = 1.5f; // keyWidth / sec
+ mDynamicThresholdDecayDuration = 450; // msec
+ mDynamicTimeThresholdFrom = 300; // msec
+ mDynamicTimeThresholdTo = 20; // msec
+ mDynamicDistanceThresholdFrom = 6.0f; // keyWidth
+ mDynamicDistanceThresholdTo = 0.35f; // keyWidth
+ // The following parameters' change will affect the result of regression test.
+ mSamplingMinimumDistance = 1.0f / 6.0f; // keyWidth
+ mRecognitionMinimumTime = 100; // msec
+ mRecognitionSpeedThreshold = 5.5f; // keyWidth / sec
+ }
+
+ public GestureStrokeParams(final TypedArray mainKeyboardViewAttr) {
+ mStaticTimeThresholdAfterFastTyping = mainKeyboardViewAttr.getInt(
+ R.styleable.MainKeyboardView_gestureStaticTimeThresholdAfterFastTyping,
+ DEFAULT.mStaticTimeThresholdAfterFastTyping);
+ mDetectFastMoveSpeedThreshold = ResourceUtils.getFraction(mainKeyboardViewAttr,
+ R.styleable.MainKeyboardView_gestureDetectFastMoveSpeedThreshold,
+ DEFAULT.mDetectFastMoveSpeedThreshold);
+ mDynamicThresholdDecayDuration = mainKeyboardViewAttr.getInt(
+ R.styleable.MainKeyboardView_gestureDynamicThresholdDecayDuration,
+ DEFAULT.mDynamicThresholdDecayDuration);
+ mDynamicTimeThresholdFrom = mainKeyboardViewAttr.getInt(
+ R.styleable.MainKeyboardView_gestureDynamicTimeThresholdFrom,
+ DEFAULT.mDynamicTimeThresholdFrom);
+ mDynamicTimeThresholdTo = mainKeyboardViewAttr.getInt(
+ R.styleable.MainKeyboardView_gestureDynamicTimeThresholdTo,
+ DEFAULT.mDynamicTimeThresholdTo);
+ mDynamicDistanceThresholdFrom = ResourceUtils.getFraction(mainKeyboardViewAttr,
+ R.styleable.MainKeyboardView_gestureDynamicDistanceThresholdFrom,
+ DEFAULT.mDynamicDistanceThresholdFrom);
+ mDynamicDistanceThresholdTo = ResourceUtils.getFraction(mainKeyboardViewAttr,
+ R.styleable.MainKeyboardView_gestureDynamicDistanceThresholdTo,
+ DEFAULT.mDynamicDistanceThresholdTo);
+ mSamplingMinimumDistance = ResourceUtils.getFraction(mainKeyboardViewAttr,
+ R.styleable.MainKeyboardView_gestureSamplingMinimumDistance,
+ DEFAULT.mSamplingMinimumDistance);
+ mRecognitionMinimumTime = mainKeyboardViewAttr.getInt(
+ R.styleable.MainKeyboardView_gestureRecognitionMinimumTime,
+ DEFAULT.mRecognitionMinimumTime);
+ mRecognitionSpeedThreshold = ResourceUtils.getFraction(mainKeyboardViewAttr,
+ R.styleable.MainKeyboardView_gestureRecognitionSpeedThreshold,
+ DEFAULT.mRecognitionSpeedThreshold);
+ }
}
- public GestureStroke(final int pointerId) {
+ private static final int MSEC_PER_SEC = 1000;
+
+ public GestureStroke(final int pointerId, final GestureStrokeParams params) {
mPointerId = pointerId;
+ mParams = params;
}
public void setKeyboardGeometry(final int keyWidth) {
+ mKeyWidth = keyWidth;
// TODO: Find an appropriate base metric for these length. Maybe diagonal length of the key?
- mMinGestureLength = (int)(keyWidth * MIN_GESTURE_LENGTH_RATIO_TO_KEY_WIDTH);
- mMinGestureSampleLength = (int)(keyWidth * MIN_GESTURE_SAMPLING_RATIO_TO_KEY_WIDTH);
- mGestureRecognitionThreshold =
- (int)(keyWidth * GESTURE_RECOGNITION_SPEED_THRESHOLD_RATIO_TO_KEY_WIDTH);
+ mDetectFastMoveSpeedThreshold = (int)(keyWidth * mParams.mDetectFastMoveSpeedThreshold);
+ mGestureDynamicDistanceThresholdFrom =
+ (int)(keyWidth * mParams.mDynamicDistanceThresholdFrom);
+ mGestureDynamicDistanceThresholdTo = (int)(keyWidth * mParams.mDynamicDistanceThresholdTo);
+ mGestureSamplingMinimumDistance = (int)(keyWidth * mParams.mSamplingMinimumDistance);
+ mGestureRecognitionSpeedThreshold = (int)(keyWidth * mParams.mRecognitionSpeedThreshold);
+ if (DEBUG) {
+ Log.d(TAG, String.format(
+ "[%d] setKeyboardGeometry: keyWidth=%3d tT=%3d >> %3d tD=%3d >> %3d",
+ mPointerId, keyWidth,
+ mParams.mDynamicTimeThresholdFrom,
+ mParams.mDynamicTimeThresholdTo,
+ mGestureDynamicDistanceThresholdFrom,
+ mGestureDynamicDistanceThresholdTo));
+ }
+ }
+
+ public void onDownEvent(final int x, final int y, final long downTime,
+ final long gestureFirstDownTime, final long lastTypingTime) {
+ reset();
+ final long elapsedTimeAfterTyping = downTime - lastTypingTime;
+ if (elapsedTimeAfterTyping < mParams.mStaticTimeThresholdAfterFastTyping) {
+ mAfterFastTyping = true;
+ }
+ if (DEBUG) {
+ Log.d(TAG, String.format("[%d] onDownEvent: dT=%3d%s", mPointerId,
+ elapsedTimeAfterTyping, mAfterFastTyping ? " afterFastTyping" : ""));
+ }
+ final int elapsedTimeFromFirstDown = (int)(downTime - gestureFirstDownTime);
+ addPoint(x, y, elapsedTimeFromFirstDown, true /* isMajorEvent */);
+ }
+
+ private int getGestureDynamicDistanceThreshold(final int deltaTime) {
+ if (!mAfterFastTyping || deltaTime >= mParams.mDynamicThresholdDecayDuration) {
+ return mGestureDynamicDistanceThresholdTo;
+ }
+ final int decayedThreshold =
+ (mGestureDynamicDistanceThresholdFrom - mGestureDynamicDistanceThresholdTo)
+ * deltaTime / mParams.mDynamicThresholdDecayDuration;
+ return mGestureDynamicDistanceThresholdFrom - decayedThreshold;
+ }
+
+ private int getGestureDynamicTimeThreshold(final int deltaTime) {
+ if (!mAfterFastTyping || deltaTime >= mParams.mDynamicThresholdDecayDuration) {
+ return mParams.mDynamicTimeThresholdTo;
+ }
+ final int decayedThreshold =
+ (mParams.mDynamicTimeThresholdFrom - mParams.mDynamicTimeThresholdTo)
+ * deltaTime / mParams.mDynamicThresholdDecayDuration;
+ return mParams.mDynamicTimeThresholdFrom - decayedThreshold;
}
- public boolean isStartOfAGesture() {
+ public final boolean isStartOfAGesture() {
+ if (!hasDetectedFastMove()) {
+ return false;
+ }
final int size = mEventTimes.getLength();
- final int downDuration = (size > 0) ? mEventTimes.get(size - 1) : 0;
- return downDuration > MIN_GESTURE_START_DURATION && mLength > mMinGestureLength;
+ if (size <= 0) {
+ return false;
+ }
+ final int lastIndex = size - 1;
+ final int deltaTime = mEventTimes.get(lastIndex) - mDetectFastMoveTime;
+ if (deltaTime < 0) {
+ return false;
+ }
+ final int deltaDistance = getDistance(
+ mXCoordinates.get(lastIndex), mYCoordinates.get(lastIndex),
+ mDetectFastMoveX, mDetectFastMoveY);
+ final int distanceThreshold = getGestureDynamicDistanceThreshold(deltaTime);
+ final int timeThreshold = getGestureDynamicTimeThreshold(deltaTime);
+ final boolean isStartOfAGesture = deltaTime >= timeThreshold
+ && deltaDistance >= distanceThreshold;
+ if (DEBUG) {
+ Log.d(TAG, String.format("[%d] isStartOfAGesture: dT=%3d tT=%3d dD=%3d tD=%3d%s%s",
+ mPointerId, deltaTime, timeThreshold,
+ deltaDistance, distanceThreshold,
+ mAfterFastTyping ? " afterFastTyping" : "",
+ isStartOfAGesture ? " startOfAGesture" : ""));
+ }
+ return isStartOfAGesture;
}
- public void reset() {
- mLength = 0;
+ protected void reset() {
mIncrementalRecognitionSize = 0;
mLastIncrementalBatchSize = 0;
- mLastPointTime = 0;
mEventTimes.setLength(0);
mXCoordinates.setLength(0);
mYCoordinates.setLength(0);
+ mLastMajorEventTime = 0;
+ mDetectFastMoveTime = 0;
+ mAfterFastTyping = false;
+ }
+
+ private void appendPoint(final int x, final int y, final int time) {
+ mEventTimes.add(time);
+ mXCoordinates.add(x);
+ mYCoordinates.add(y);
+ }
+
+ private void updateMajorEvent(final int x, final int y, final int time) {
+ mLastMajorEventTime = time;
+ mLastMajorEventX = x;
+ mLastMajorEventY = y;
}
- public void addPoint(final int x, final int y, final int time, final boolean isHistorical) {
- final boolean needsSampling;
+ private final boolean hasDetectedFastMove() {
+ return mDetectFastMoveTime > 0;
+ }
+
+ private int detectFastMove(final int x, final int y, final int time) {
final int size = mEventTimes.getLength();
- if (size == 0) {
- needsSampling = true;
+ final int lastIndex = size - 1;
+ final int lastX = mXCoordinates.get(lastIndex);
+ final int lastY = mYCoordinates.get(lastIndex);
+ final int dist = getDistance(lastX, lastY, x, y);
+ final int msecs = time - mEventTimes.get(lastIndex);
+ if (msecs > 0) {
+ final int pixels = getDistance(lastX, lastY, x, y);
+ final int pixelsPerSec = pixels * MSEC_PER_SEC;
+ if (DEBUG_SPEED) {
+ final float speed = (float)pixelsPerSec / msecs / mKeyWidth;
+ Log.d(TAG, String.format("[%d] detectFastMove: speed=%5.2f", mPointerId, speed));
+ }
+ // Equivalent to (pixels / msecs < mStartSpeedThreshold / MSEC_PER_SEC)
+ if (!hasDetectedFastMove() && pixelsPerSec > mDetectFastMoveSpeedThreshold * msecs) {
+ if (DEBUG) {
+ final float speed = (float)pixelsPerSec / msecs / mKeyWidth;
+ Log.d(TAG, String.format(
+ "[%d] detectFastMove: speed=%5.2f T=%3d points=%3d fastMove",
+ mPointerId, speed, time, size));
+ }
+ mDetectFastMoveTime = time;
+ mDetectFastMoveX = x;
+ mDetectFastMoveY = y;
+ }
+ }
+ return dist;
+ }
+
+ public void addPoint(final int x, final int y, final int time, final boolean isMajorEvent) {
+ final int size = mEventTimes.getLength();
+ if (size <= 0) {
+ // Down event
+ appendPoint(x, y, time);
+ updateMajorEvent(x, y, time);
} else {
- final int lastIndex = size - 1;
- final int lastX = mXCoordinates.get(lastIndex);
- final int lastY = mYCoordinates.get(lastIndex);
- final float dist = getDistance(lastX, lastY, x, y);
- needsSampling = dist > mMinGestureSampleLength;
- mLength += dist;
- }
- if (needsSampling) {
- mEventTimes.add(time);
- mXCoordinates.add(x);
- mYCoordinates.add(y);
- }
- if (!isHistorical) {
+ final int distance = detectFastMove(x, y, time);
+ if (distance > mGestureSamplingMinimumDistance) {
+ appendPoint(x, y, time);
+ }
+ }
+ if (isMajorEvent) {
updateIncrementalRecognitionSize(x, y, time);
+ updateMajorEvent(x, y, time);
}
}
private void updateIncrementalRecognitionSize(final int x, final int y, final int time) {
- final int msecs = (int)(time - mLastPointTime);
- if (msecs > 0) {
- final int pixels = (int)getDistance(mLastPointX, mLastPointY, x, y);
- // Equivalent to (pixels / msecs < mGestureRecognitionThreshold / MSEC_PER_SEC)
- if (pixels * MSEC_PER_SEC < mGestureRecognitionThreshold * msecs) {
- mIncrementalRecognitionSize = mEventTimes.getLength();
- }
+ final int msecs = (int)(time - mLastMajorEventTime);
+ if (msecs <= 0) {
+ return;
+ }
+ final int pixels = getDistance(mLastMajorEventX, mLastMajorEventY, x, y);
+ final int pixelsPerSec = pixels * MSEC_PER_SEC;
+ // Equivalent to (pixels / msecs < mGestureRecognitionThreshold / MSEC_PER_SEC)
+ if (pixelsPerSec < mGestureRecognitionSpeedThreshold * msecs) {
+ mIncrementalRecognitionSize = mEventTimes.getLength();
}
- mLastPointTime = time;
- mLastPointX = x;
- mLastPointY = y;
}
- public void appendAllBatchPoints(final InputPointers out) {
+ public final boolean hasRecognitionTimePast(
+ final long currentTime, final long lastRecognitionTime) {
+ return currentTime > lastRecognitionTime + mParams.mRecognitionMinimumTime;
+ }
+
+ public final void appendAllBatchPoints(final InputPointers out) {
appendBatchPoints(out, mEventTimes.getLength());
}
- public void appendIncrementalBatchPoints(final InputPointers out) {
+ public final void appendIncrementalBatchPoints(final InputPointers out) {
appendBatchPoints(out, mIncrementalRecognitionSize);
}
@@ -132,11 +331,11 @@ public class GestureStroke {
mLastIncrementalBatchSize = size;
}
- private static float getDistance(final int x1, final int y1, final int x2, final int y2) {
- final float dx = x1 - x2;
- final float dy = y1 - y2;
+ private static int getDistance(final int x1, final int y1, final int x2, final int y2) {
+ final int dx = x1 - x2;
+ final int dy = y1 - y2;
// Note that, in recent versions of Android, FloatMath is actually slower than
// java.lang.Math due to the way the JIT optimizes java.lang.Math.
- return (float)Math.sqrt(dx * dx + dy * dy);
+ return (int)Math.sqrt(dx * dx + dy * dy);
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/GestureStrokeWithPreviewPoints.java b/java/src/com/android/inputmethod/keyboard/internal/GestureStrokeWithPreviewPoints.java
index ce3914076..8192c9076 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/GestureStrokeWithPreviewPoints.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/GestureStrokeWithPreviewPoints.java
@@ -16,7 +16,7 @@ package com.android.inputmethod.keyboard.internal;
import com.android.inputmethod.latin.ResizableIntArray;
-public class GestureStrokeWithPreviewPoints extends GestureStroke {
+public final class GestureStrokeWithPreviewPoints extends GestureStroke {
public static final int PREVIEW_CAPACITY = 256;
private final ResizableIntArray mPreviewEventTimes = new ResizableIntArray(PREVIEW_CAPACITY);
@@ -33,12 +33,12 @@ public class GestureStrokeWithPreviewPoints extends GestureStroke {
// TODO: Move this to resource.
private static final float MIN_PREVIEW_SAMPLE_LENGTH_RATIO_TO_KEY_WIDTH = 0.1f;
- public GestureStrokeWithPreviewPoints(final int pointerId) {
- super(pointerId);
+ public GestureStrokeWithPreviewPoints(final int pointerId, final GestureStrokeParams params) {
+ super(pointerId, params);
}
@Override
- public void reset() {
+ protected void reset() {
super.reset();
mStrokeId++;
mLastPreviewSize = 0;
@@ -65,21 +65,18 @@ public class GestureStrokeWithPreviewPoints extends GestureStroke {
private boolean needsSampling(final int x, final int y) {
final int dx = x - mLastX;
final int dy = y - mLastY;
- final boolean needsSampling = (dx * dx + dy * dy >= mMinPreviewSampleLengthSquare);
- if (needsSampling) {
- mLastX = x;
- mLastY = y;
- }
- return needsSampling;
+ return dx * dx + dy * dy >= mMinPreviewSampleLengthSquare;
}
@Override
- public void addPoint(final int x, final int y, final int time, final boolean isHistorical) {
- super.addPoint(x, y, time, isHistorical);
- if (mPreviewEventTimes.getLength() == 0 || isHistorical || needsSampling(x, y)) {
+ public void addPoint(final int x, final int y, final int time, final boolean isMajorEvent) {
+ super.addPoint(x, y, time, isMajorEvent);
+ if (isMajorEvent || needsSampling(x, y)) {
mPreviewEventTimes.add(time);
mPreviewXCoordinates.add(x);
mPreviewYCoordinates.add(y);
+ mLastX = x;
+ mLastY = y;
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
index 2a57caa5f..9f6e2f37e 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
@@ -16,12 +16,13 @@
package com.android.inputmethod.keyboard.internal;
-import static com.android.inputmethod.keyboard.Keyboard.CODE_UNSPECIFIED;
+import static com.android.inputmethod.latin.Constants.CODE_OUTPUT_TEXT;
+import static com.android.inputmethod.latin.Constants.CODE_UNSPECIFIED;
import android.text.TextUtils;
-import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.latin.CollectionUtils;
+import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.StringUtils;
@@ -46,7 +47,7 @@ import java.util.Locale;
* Note that the '\' is also parsed by XML parser and CSV parser as well.
* See {@link KeyboardIconsSet} about icon_name.
*/
-public class KeySpecParser {
+public final class KeySpecParser {
private static final boolean DEBUG = LatinImeLogger.sDBG;
private static final int MAX_STRING_REFERENCE_INDIRECTION = 10;
@@ -172,7 +173,7 @@ public class KeySpecParser {
if (indexOfLabelEnd(moreKeySpec, end + 1) >= 0) {
throw new KeySpecParserError("Multiple " + LABEL_END + ": " + moreKeySpec);
}
- return parseCode(moreKeySpec.substring(end + 1), codesSet, Keyboard.CODE_UNSPECIFIED);
+ return parseCode(moreKeySpec.substring(end + 1), codesSet, CODE_UNSPECIFIED);
}
final String outputText = getOutputTextInternal(moreKeySpec);
if (outputText != null) {
@@ -181,14 +182,14 @@ public class KeySpecParser {
if (StringUtils.codePointCount(outputText) == 1) {
return outputText.codePointAt(0);
}
- return Keyboard.CODE_OUTPUT_TEXT;
+ return CODE_OUTPUT_TEXT;
}
final String label = getLabel(moreKeySpec);
// Code is automatically generated for one letter label.
if (StringUtils.codePointCount(label) == 1) {
return label.codePointAt(0);
}
- return Keyboard.CODE_OUTPUT_TEXT;
+ return CODE_OUTPUT_TEXT;
}
public static int parseCode(final String text, final KeyboardCodesSet codesSet,
@@ -318,7 +319,7 @@ public class KeySpecParser {
}
@SuppressWarnings("serial")
- public static class KeySpecParserError extends RuntimeException {
+ public static final class KeySpecParserError extends RuntimeException {
public KeySpecParserError(final String message) {
super(message);
}
@@ -468,7 +469,7 @@ public class KeySpecParser {
public static int toUpperCaseOfCodeForLocale(final int code, final boolean needsToUpperCase,
final Locale locale) {
- if (!Keyboard.isLetterCode(code) || !needsToUpperCase) return code;
+ if (!Constants.isLetterCode(code) || !needsToUpperCase) return code;
final String text = new String(new int[] { code } , 0, 1);
final String casedText = KeySpecParser.toUpperCaseOfStringForLocale(
text, needsToUpperCase, locale);
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
index 71fd30563..563d22414 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
@@ -29,7 +29,7 @@ import org.xmlpull.v1.XmlPullParserException;
import java.util.HashMap;
-public class KeyStylesSet {
+public final class KeyStylesSet {
private static final String TAG = KeyStylesSet.class.getSimpleName();
private static final boolean DEBUG = false;
@@ -45,7 +45,7 @@ public class KeyStylesSet {
mStyles.put(EMPTY_STYLE_NAME, mEmptyKeyStyle);
}
- private static class EmptyKeyStyle extends KeyStyle {
+ private static final class EmptyKeyStyle extends KeyStyle {
EmptyKeyStyle(final KeyboardTextsSet textsSet) {
super(textsSet);
}
@@ -71,7 +71,7 @@ public class KeyStylesSet {
}
}
- private static class DeclaredKeyStyle extends KeyStyle {
+ private static final class DeclaredKeyStyle extends KeyStyle {
private final HashMap<String, KeyStyle> mStyles;
private final String mParentStyleName;
private final SparseArray<Object> mStyleAttributes = CollectionUtils.newSparseArray();
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java b/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
index 04cc152fe..6ddd2a6fb 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
@@ -23,7 +23,7 @@ import android.util.SparseIntArray;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.ResourceUtils;
-public class KeyVisualAttributes {
+public final class KeyVisualAttributes {
public final Typeface mTypeface;
public final float mLetterRatio;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index 31c7cb565..36342688e 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -27,6 +27,7 @@ import android.util.TypedValue;
import android.util.Xml;
import android.view.InflateException;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.keyboard.Key;
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardId;
@@ -177,9 +178,9 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
return this;
}
- // TODO: Remove this method.
- public void setTouchPositionCorrectionEnabled(final boolean enabled) {
- mParams.mTouchPositionCorrection.setEnabled(enabled);
+ @UsedForTesting
+ public void disableTouchPositionCorrectionDataForTest() {
+ mParams.mTouchPositionCorrection.setEnabled(false);
}
public void setProximityCharsCorrectionEnabled(final boolean enabled) {
@@ -314,7 +315,6 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
final int resourceId = keyboardAttr.getResourceId(
R.styleable.Keyboard_touchPositionCorrectionData, 0);
- params.mTouchPositionCorrection.setEnabled(resourceId != 0);
if (resourceId != 0) {
final String[] data = mResources.getStringArray(resourceId);
params.mTouchPositionCorrection.load(data);
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java
index f7923d0b9..428e31ccd 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java
@@ -16,12 +16,12 @@
package com.android.inputmethod.keyboard.internal;
-import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.latin.CollectionUtils;
+import com.android.inputmethod.latin.Constants;
import java.util.HashMap;
-public class KeyboardCodesSet {
+public final class KeyboardCodesSet {
private static final HashMap<String, int[]> sLanguageToCodesMap = CollectionUtils.newHashMap();
private static final HashMap<String, Integer> sNameToIdMap = CollectionUtils.newHashMap();
@@ -74,21 +74,21 @@ public class KeyboardCodesSet {
private static final int CODE_RIGHT_CURLY_BRACKET = '}';
private static final int[] DEFAULT = {
- Keyboard.CODE_TAB,
- Keyboard.CODE_ENTER,
- Keyboard.CODE_SPACE,
- Keyboard.CODE_SHIFT,
- Keyboard.CODE_SWITCH_ALPHA_SYMBOL,
- Keyboard.CODE_OUTPUT_TEXT,
- Keyboard.CODE_DELETE,
- Keyboard.CODE_SETTINGS,
- Keyboard.CODE_SHORTCUT,
- Keyboard.CODE_ACTION_ENTER,
- Keyboard.CODE_ACTION_NEXT,
- Keyboard.CODE_ACTION_PREVIOUS,
- Keyboard.CODE_LANGUAGE_SWITCH,
- Keyboard.CODE_RESEARCH,
- Keyboard.CODE_UNSPECIFIED,
+ Constants.CODE_TAB,
+ Constants.CODE_ENTER,
+ Constants.CODE_SPACE,
+ Constants.CODE_SHIFT,
+ Constants.CODE_SWITCH_ALPHA_SYMBOL,
+ Constants.CODE_OUTPUT_TEXT,
+ Constants.CODE_DELETE,
+ Constants.CODE_SETTINGS,
+ Constants.CODE_SHORTCUT,
+ Constants.CODE_ACTION_ENTER,
+ Constants.CODE_ACTION_NEXT,
+ Constants.CODE_ACTION_PREVIOUS,
+ Constants.CODE_LANGUAGE_SWITCH,
+ Constants.CODE_RESEARCH,
+ Constants.CODE_UNSPECIFIED,
CODE_LEFT_PARENTHESIS,
CODE_RIGHT_PARENTHESIS,
CODE_LESS_THAN_SIGN,
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java
index 4a98a3698..7292e8e19 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java
@@ -27,7 +27,7 @@ import com.android.inputmethod.latin.R;
import java.util.HashMap;
-public class KeyboardIconsSet {
+public final class KeyboardIconsSet {
private static final String TAG = KeyboardIconsSet.class.getSimpleName();
public static final int ICON_UNDEFINED = 0;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java
index e6fe50e02..642e1a18c 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java
@@ -19,9 +19,9 @@ package com.android.inputmethod.keyboard.internal;
import android.util.SparseIntArray;
import com.android.inputmethod.keyboard.Key;
-import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardId;
import com.android.inputmethod.latin.CollectionUtils;
+import com.android.inputmethod.latin.Constants;
import java.util.ArrayList;
import java.util.TreeSet;
@@ -89,7 +89,7 @@ public class KeyboardParams {
mKeys.add(key);
updateHistogram(key);
}
- if (key.mCode == Keyboard.CODE_SHIFT) {
+ if (key.mCode == Constants.CODE_SHIFT) {
mShiftKeys.add(key);
}
if (key.altCodeWhileTyping()) {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardRow.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardRow.java
index eb17b0ea4..b986262d7 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardRow.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardRow.java
@@ -32,7 +32,7 @@ import org.xmlpull.v1.XmlPullParser;
* Some of the key size defaults can be overridden per row from what the {@link Keyboard}
* defines.
*/
-public class KeyboardRow {
+public final class KeyboardRow {
// keyWidth enum constants
private static final int KEYWIDTH_NOT_ENUM = 0;
private static final int KEYWIDTH_FILL_RIGHT = -1;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
index 4ab6832c3..5f67ae05f 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
@@ -19,7 +19,6 @@ package com.android.inputmethod.keyboard.internal;
import android.text.TextUtils;
import android.util.Log;
-import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.latin.Constants;
/**
@@ -34,7 +33,7 @@ import com.android.inputmethod.latin.Constants;
*
* The actions are {@link SwitchActions}'s methods.
*/
-public class KeyboardState {
+public final class KeyboardState {
private static final String TAG = KeyboardState.class.getSimpleName();
private static final boolean DEBUG_EVENT = false;
private static final boolean DEBUG_ACTION = false;
@@ -92,7 +91,7 @@ public class KeyboardState {
private final SavedKeyboardState mSavedKeyboardState = new SavedKeyboardState();
- static class SavedKeyboardState {
+ static final class SavedKeyboardState {
public boolean mIsValid;
public boolean mIsAlphabetMode;
public boolean mIsAlphabetShiftLocked;
@@ -300,12 +299,12 @@ public class KeyboardState {
public void onPressKey(int code, boolean isSinglePointer, int autoCaps) {
if (DEBUG_EVENT) {
- Log.d(TAG, "onPressKey: code=" + Keyboard.printableCode(code)
+ Log.d(TAG, "onPressKey: code=" + Constants.printableCode(code)
+ " single=" + isSinglePointer + " autoCaps=" + autoCaps + " " + this);
}
- if (code == Keyboard.CODE_SHIFT) {
+ if (code == Constants.CODE_SHIFT) {
onPressShift();
- } else if (code == Keyboard.CODE_SWITCH_ALPHA_SYMBOL) {
+ } else if (code == Constants.CODE_SWITCH_ALPHA_SYMBOL) {
onPressSymbol();
} else {
mSwitchActions.cancelDoubleTapTimer();
@@ -333,12 +332,12 @@ public class KeyboardState {
public void onReleaseKey(int code, boolean withSliding) {
if (DEBUG_EVENT) {
- Log.d(TAG, "onReleaseKey: code=" + Keyboard.printableCode(code)
+ Log.d(TAG, "onReleaseKey: code=" + Constants.printableCode(code)
+ " sliding=" + withSliding + " " + this);
}
- if (code == Keyboard.CODE_SHIFT) {
+ if (code == Constants.CODE_SHIFT) {
onReleaseShift(withSliding);
- } else if (code == Keyboard.CODE_SWITCH_ALPHA_SYMBOL) {
+ } else if (code == Constants.CODE_SWITCH_ALPHA_SYMBOL) {
onReleaseSymbol(withSliding);
}
}
@@ -365,9 +364,9 @@ public class KeyboardState {
public void onLongPressTimeout(int code) {
if (DEBUG_EVENT) {
- Log.d(TAG, "onLongPressTimeout: code=" + Keyboard.printableCode(code) + " " + this);
+ Log.d(TAG, "onLongPressTimeout: code=" + Constants.printableCode(code) + " " + this);
}
- if (mIsAlphabetMode && code == Keyboard.CODE_SHIFT) {
+ if (mIsAlphabetMode && code == Constants.CODE_SHIFT) {
mLongPressShiftLockFired = true;
mSwitchActions.hapticAndAudioFeedback(code);
}
@@ -434,7 +433,7 @@ public class KeyboardState {
setShifted(MANUAL_SHIFT);
mShiftKeyState.onPress();
}
- mSwitchActions.startLongPressTimer(Keyboard.CODE_SHIFT);
+ mSwitchActions.startLongPressTimer(Constants.CODE_SHIFT);
}
} else {
// In symbol mode, just toggle symbol and symbol more keyboard.
@@ -514,7 +513,7 @@ public class KeyboardState {
}
private static boolean isSpaceCharacter(int c) {
- return c == Keyboard.CODE_SPACE || c == Keyboard.CODE_ENTER;
+ return c == Constants.CODE_SPACE || c == Constants.CODE_ENTER;
}
private boolean isLayoutSwitchBackCharacter(int c) {
@@ -525,14 +524,14 @@ public class KeyboardState {
public void onCodeInput(int code, boolean isSinglePointer, int autoCaps) {
if (DEBUG_EVENT) {
- Log.d(TAG, "onCodeInput: code=" + Keyboard.printableCode(code)
+ Log.d(TAG, "onCodeInput: code=" + Constants.printableCode(code)
+ " single=" + isSinglePointer
+ " autoCaps=" + autoCaps + " " + this);
}
switch (mSwitchState) {
case SWITCH_STATE_MOMENTARY_ALPHA_AND_SYMBOL:
- if (code == Keyboard.CODE_SWITCH_ALPHA_SYMBOL) {
+ if (code == Constants.CODE_SWITCH_ALPHA_SYMBOL) {
// Detected only the mode change key has been pressed, and then released.
if (mIsAlphabetMode) {
mSwitchState = SWITCH_STATE_ALPHA;
@@ -548,7 +547,7 @@ public class KeyboardState {
}
break;
case SWITCH_STATE_MOMENTARY_SYMBOL_AND_MORE:
- if (code == Keyboard.CODE_SHIFT) {
+ if (code == Constants.CODE_SHIFT) {
// Detected only the shift key has been pressed on symbol layout, and then released.
mSwitchState = SWITCH_STATE_SYMBOL_BEGIN;
} else if (isSinglePointer) {
@@ -559,8 +558,8 @@ public class KeyboardState {
}
break;
case SWITCH_STATE_SYMBOL_BEGIN:
- if (!isSpaceCharacter(code) && (Keyboard.isLetterCode(code)
- || code == Keyboard.CODE_OUTPUT_TEXT)) {
+ if (!isSpaceCharacter(code) && (Constants.isLetterCode(code)
+ || code == Constants.CODE_OUTPUT_TEXT)) {
mSwitchState = SWITCH_STATE_SYMBOL;
}
// Switch back to alpha keyboard mode immediately if user types one of the switch back
@@ -581,7 +580,7 @@ public class KeyboardState {
}
// If the code is a letter, update keyboard shift state.
- if (Keyboard.isLetterCode(code)) {
+ if (Constants.isLetterCode(code)) {
updateAlphabetShiftState(autoCaps);
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index 3b7c6ad7a..e08536b43 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -19,6 +19,7 @@ package com.android.inputmethod.keyboard.internal;
import android.content.Context;
import android.content.res.Resources;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.latin.CollectionUtils;
import com.android.inputmethod.latin.R;
@@ -64,7 +65,7 @@ public final class KeyboardTextsSet {
loadStringResourcesInternal(context, RESOURCE_NAMES, R.string.english_ime_name);
}
- /* package for test */
+ @UsedForTesting
void loadStringResourcesInternal(Context context, final String[] resourceNames,
int referenceId) {
final Resources res = context.getResources();
@@ -799,8 +800,12 @@ public final class KeyboardTextsSet {
// U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
// U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
/* 0 */ "\u00E4,\u00E2,\u00E0,\u00E1,\u00E6,\u00E3,\u00E5,\u0101",
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
- /* 1 */ "\u0117",
+ /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0117",
/* 2 */ null,
// U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
// U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeysCache.java b/java/src/com/android/inputmethod/keyboard/internal/KeysCache.java
index f54617c98..d1b4c8524 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeysCache.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeysCache.java
@@ -21,7 +21,7 @@ import com.android.inputmethod.latin.CollectionUtils;
import java.util.HashMap;
-public class KeysCache {
+public final class KeysCache {
private final HashMap<Key, Key> mMap = CollectionUtils.newHashMap();
public void clear() {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/MoreKeySpec.java b/java/src/com/android/inputmethod/keyboard/internal/MoreKeySpec.java
index 550391b49..ca16163d4 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/MoreKeySpec.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/MoreKeySpec.java
@@ -18,7 +18,7 @@ package com.android.inputmethod.keyboard.internal;
import android.text.TextUtils;
-import com.android.inputmethod.keyboard.Keyboard;
+import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.StringUtils;
import java.util.Locale;
@@ -35,10 +35,10 @@ public final class MoreKeySpec {
KeySpecParser.getLabel(moreKeySpec), needsToUpperCase, locale);
final int code = KeySpecParser.toUpperCaseOfCodeForLocale(
KeySpecParser.getCode(moreKeySpec, codesSet), needsToUpperCase, locale);
- if (code == Keyboard.CODE_UNSPECIFIED) {
+ if (code == Constants.CODE_UNSPECIFIED) {
// Some letter, for example German Eszett (U+00DF: "ß"), has multiple characters
// upper case representation ("SS").
- mCode = Keyboard.CODE_OUTPUT_TEXT;
+ mCode = Constants.CODE_OUTPUT_TEXT;
mOutputText = mLabel;
} else {
mCode = code;
@@ -75,8 +75,8 @@ public final class MoreKeySpec {
public String toString() {
final String label = (mIconId == KeyboardIconsSet.ICON_UNDEFINED ? mLabel
: KeySpecParser.PREFIX_ICON + KeyboardIconsSet.getIconName(mIconId));
- final String output = (mCode == Keyboard.CODE_OUTPUT_TEXT ? mOutputText
- : Keyboard.printableCode(mCode));
+ final String output = (mCode == Constants.CODE_OUTPUT_TEXT ? mOutputText
+ : Constants.printableCode(mCode));
if (StringUtils.codePointCount(label) == 1 && label.codePointAt(0) == mCode) {
return output;
} else {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java b/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java
index c1a5cbead..a52f202aa 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java
@@ -22,7 +22,7 @@ import com.android.inputmethod.latin.CollectionUtils;
import java.util.ArrayList;
-public class PointerTrackerQueue {
+public final class PointerTrackerQueue {
private static final String TAG = PointerTrackerQueue.class.getSimpleName();
private static final boolean DEBUG = false;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java b/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java
index 15170e040..776ac0204 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/PreviewPlacerView.java
@@ -39,7 +39,11 @@ import com.android.inputmethod.latin.CollectionUtils;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.StaticInnerHandlerWrapper;
-public class PreviewPlacerView extends RelativeLayout {
+public final class PreviewPlacerView extends RelativeLayout {
+ // The height of extra area above the keyboard to draw gesture trails.
+ // Proportional to the keyboard height.
+ private static final float EXTRA_GESTURE_TRAIL_AREA_ABOVE_KEYBOARD_RATIO = 0.25f;
+
private final int mGestureFloatingPreviewTextColor;
private final int mGestureFloatingPreviewTextOffset;
private final int mGestureFloatingPreviewColor;
@@ -47,14 +51,17 @@ public class PreviewPlacerView extends RelativeLayout {
private final float mGestureFloatingPreviewVerticalPadding;
private final float mGestureFloatingPreviewRoundRadius;
- private int mXOrigin;
- private int mYOrigin;
+ private int mKeyboardViewOriginX;
+ private int mKeyboardViewOriginY;
private final SparseArray<GesturePreviewTrail> mGesturePreviewTrails =
CollectionUtils.newSparseArray();
private final Params mGesturePreviewTrailParams;
private final Paint mGesturePaint;
private boolean mDrawsGesturePreviewTrail;
+ private int mOffscreenWidth;
+ private int mOffscreenHeight;
+ private int mOffscreenOffsetY;
private Bitmap mOffscreenBuffer;
private final Canvas mOffscreenCanvas = new Canvas();
private final Rect mOffscreenDirtyRect = new Rect();
@@ -72,7 +79,7 @@ public class PreviewPlacerView extends RelativeLayout {
private final DrawingHandler mDrawingHandler;
- private static class DrawingHandler extends StaticInnerHandlerWrapper<PreviewPlacerView> {
+ private static final class DrawingHandler extends StaticInnerHandlerWrapper<PreviewPlacerView> {
private static final int MSG_DISMISS_GESTURE_FLOATING_PREVIEW_TEXT = 0;
private static final int MSG_UPDATE_GESTURE_PREVIEW_TRAIL = 1;
@@ -101,29 +108,17 @@ public class PreviewPlacerView extends RelativeLayout {
}
}
- private void cancelDismissGestureFloatingPreviewText() {
- removeMessages(MSG_DISMISS_GESTURE_FLOATING_PREVIEW_TEXT);
- }
-
public void dismissGestureFloatingPreviewText() {
- cancelDismissGestureFloatingPreviewText();
+ removeMessages(MSG_DISMISS_GESTURE_FLOATING_PREVIEW_TEXT);
sendMessageDelayed(obtainMessage(MSG_DISMISS_GESTURE_FLOATING_PREVIEW_TEXT),
mGestureFloatingPreviewTextLingerTimeout);
}
- private void cancelUpdateGestureTrailPreview() {
- removeMessages(MSG_UPDATE_GESTURE_PREVIEW_TRAIL);
- }
-
public void postUpdateGestureTrailPreview() {
- cancelUpdateGestureTrailPreview();
+ removeMessages(MSG_UPDATE_GESTURE_PREVIEW_TRAIL);
sendMessageDelayed(obtainMessage(MSG_UPDATE_GESTURE_PREVIEW_TRAIL),
mGesturePreviewTrailParams.mUpdateInterval);
}
-
- public void cancelAllMessages() {
- cancelUpdateGestureTrailPreview();
- }
}
public PreviewPlacerView(final Context context, final AttributeSet attrs) {
@@ -177,9 +172,12 @@ public class PreviewPlacerView extends RelativeLayout {
setLayerType(LAYER_TYPE_HARDWARE, layerPaint);
}
- public void setOrigin(final int x, final int y) {
- mXOrigin = x;
- mYOrigin = y;
+ public void setKeyboardViewGeometry(final int x, final int y, final int w, final int h) {
+ mKeyboardViewOriginX = x;
+ mKeyboardViewOriginY = y;
+ mOffscreenOffsetY = (int)(h * EXTRA_GESTURE_TRAIL_AREA_ABOVE_KEYBOARD_RATIO);
+ mOffscreenWidth = w;
+ mOffscreenHeight = mOffscreenOffsetY + h;
}
public void setGesturePreviewMode(final boolean drawsGesturePreviewTrail,
@@ -216,45 +214,42 @@ public class PreviewPlacerView extends RelativeLayout {
@Override
protected void onDetachedFromWindow() {
+ freeOffscreenBuffer();
+ }
+
+ private void freeOffscreenBuffer() {
if (mOffscreenBuffer != null) {
mOffscreenBuffer.recycle();
mOffscreenBuffer = null;
}
}
+ private void mayAllocateOffscreenBuffer() {
+ if (mOffscreenBuffer != null && mOffscreenBuffer.getWidth() == mOffscreenWidth
+ && mOffscreenBuffer.getHeight() == mOffscreenHeight) {
+ return;
+ }
+ freeOffscreenBuffer();
+ mOffscreenBuffer = Bitmap.createBitmap(
+ mOffscreenWidth, mOffscreenHeight, Bitmap.Config.ARGB_8888);
+ mOffscreenCanvas.setBitmap(mOffscreenBuffer);
+ }
+
@Override
public void onDraw(final Canvas canvas) {
super.onDraw(canvas);
- canvas.translate(mXOrigin, mYOrigin);
if (mDrawsGesturePreviewTrail) {
- if (mOffscreenBuffer == null) {
- mOffscreenBuffer = Bitmap.createBitmap(
- getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
- mOffscreenCanvas.setBitmap(mOffscreenBuffer);
- }
- if (!mOffscreenDirtyRect.isEmpty()) {
- // Clear previous dirty rectangle.
- mGesturePaint.setColor(Color.TRANSPARENT);
- mGesturePaint.setStyle(Paint.Style.FILL);
- mOffscreenCanvas.drawRect(mOffscreenDirtyRect, mGesturePaint);
- mOffscreenDirtyRect.setEmpty();
- }
- boolean needsUpdatingGesturePreviewTrail = false;
- synchronized (mGesturePreviewTrails) {
- // Trails count == fingers count that have ever been active.
- final int trailsCount = mGesturePreviewTrails.size();
- for (int index = 0; index < trailsCount; index++) {
- final GesturePreviewTrail trail = mGesturePreviewTrails.valueAt(index);
- needsUpdatingGesturePreviewTrail |=
- trail.drawGestureTrail(mOffscreenCanvas, mGesturePaint,
- mGesturePreviewTrailBoundsRect, mGesturePreviewTrailParams);
- // {@link #mGesturePreviewTrailBoundsRect} has bounding box of the trail.
- mOffscreenDirtyRect.union(mGesturePreviewTrailBoundsRect);
- }
- }
+ mayAllocateOffscreenBuffer();
+ // Draw gesture trails to offscreen buffer.
+ final boolean needsUpdatingGesturePreviewTrail = drawGestureTrails(
+ mOffscreenCanvas, mGesturePaint, mOffscreenDirtyRect);
+ // Transfer offscreen buffer to screen.
if (!mOffscreenDirtyRect.isEmpty()) {
+ final int offsetY = mKeyboardViewOriginY - mOffscreenOffsetY;
+ canvas.translate(mKeyboardViewOriginX, offsetY);
canvas.drawBitmap(mOffscreenBuffer, mOffscreenDirtyRect, mOffscreenDirtyRect,
mGesturePaint);
+ canvas.translate(-mKeyboardViewOriginX, -offsetY);
// Note: Defer clearing the dirty rectangle here because we will get cleared
// rectangle on the canvas.
}
@@ -263,9 +258,49 @@ public class PreviewPlacerView extends RelativeLayout {
}
}
if (mDrawsGestureFloatingPreviewText) {
+ canvas.translate(mKeyboardViewOriginX, mKeyboardViewOriginY);
drawGestureFloatingPreviewText(canvas, mGestureFloatingPreviewText);
+ canvas.translate(-mKeyboardViewOriginX, -mKeyboardViewOriginY);
+ }
+ }
+
+ private boolean drawGestureTrails(final Canvas offscreenCanvas, final Paint paint,
+ final Rect dirtyRect) {
+ // Clear previous dirty rectangle.
+ if (!dirtyRect.isEmpty()) {
+ paint.setColor(Color.TRANSPARENT);
+ paint.setStyle(Paint.Style.FILL);
+ offscreenCanvas.drawRect(dirtyRect, paint);
+ }
+ dirtyRect.setEmpty();
+
+ // Draw gesture trails to offscreen buffer.
+ offscreenCanvas.translate(0, mOffscreenOffsetY);
+ boolean needsUpdatingGesturePreviewTrail = false;
+ synchronized (mGesturePreviewTrails) {
+ // Trails count == fingers count that have ever been active.
+ final int trailsCount = mGesturePreviewTrails.size();
+ for (int index = 0; index < trailsCount; index++) {
+ final GesturePreviewTrail trail = mGesturePreviewTrails.valueAt(index);
+ needsUpdatingGesturePreviewTrail |=
+ trail.drawGestureTrail(offscreenCanvas, paint,
+ mGesturePreviewTrailBoundsRect, mGesturePreviewTrailParams);
+ // {@link #mGesturePreviewTrailBoundsRect} has bounding box of the trail.
+ dirtyRect.union(mGesturePreviewTrailBoundsRect);
+ }
}
- canvas.translate(-mXOrigin, -mYOrigin);
+ offscreenCanvas.translate(0, -mOffscreenOffsetY);
+
+ // Clip dirty rectangle with offscreen buffer width/height.
+ dirtyRect.offset(0, mOffscreenOffsetY);
+ clipRect(dirtyRect, 0, 0, mOffscreenWidth, mOffscreenHeight);
+ return needsUpdatingGesturePreviewTrail;
+ }
+
+ private static void clipRect(final Rect out, final int left, final int top, final int right,
+ final int bottom) {
+ out.set(Math.max(out.left, left), Math.max(out.top, top), Math.min(out.right, right),
+ Math.min(out.bottom, bottom));
}
public void setGestureFloatingPreviewText(final String gestureFloatingPreviewText) {
@@ -278,10 +313,6 @@ public class PreviewPlacerView extends RelativeLayout {
mDrawingHandler.dismissGestureFloatingPreviewText();
}
- public void cancelAllMessages() {
- mDrawingHandler.cancelAllMessages();
- }
-
private void drawGestureFloatingPreviewText(final Canvas canvas,
final String gestureFloatingPreviewText) {
if (TextUtils.isEmpty(gestureFloatingPreviewText)) {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/ShiftKeyState.java b/java/src/com/android/inputmethod/keyboard/internal/ShiftKeyState.java
index edb40c8e7..90db73dee 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/ShiftKeyState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/ShiftKeyState.java
@@ -18,7 +18,7 @@ package com.android.inputmethod.keyboard.internal;
import android.util.Log;
-/* package */ class ShiftKeyState extends ModifierKeyState {
+/* package */ final class ShiftKeyState extends ModifierKeyState {
private static final int PRESSING_ON_SHIFTED = 3; // both temporary shifted & shift locked
private static final int IGNORING = 4;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/TouchPositionCorrection.java b/java/src/com/android/inputmethod/keyboard/internal/TouchPositionCorrection.java
index 69dc01cd6..d7a2b6f39 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/TouchPositionCorrection.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/TouchPositionCorrection.java
@@ -16,15 +16,16 @@
package com.android.inputmethod.keyboard.internal;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.latin.LatinImeLogger;
-public class TouchPositionCorrection {
+public final class TouchPositionCorrection {
private static final int TOUCH_POSITION_CORRECTION_RECORD_SIZE = 3;
- public boolean mEnabled;
- public float[] mXs;
- public float[] mYs;
- public float[] mRadii;
+ private boolean mEnabled;
+ private float[] mXs;
+ private float[] mYs;
+ private float[] mRadii;
public void load(final String[] data) {
final int dataLength = data.length;
@@ -53,24 +54,43 @@ public class TouchPositionCorrection {
mRadii[index] = value;
}
}
+ mEnabled = dataLength > 0;
} catch (NumberFormatException e) {
if (LatinImeLogger.sDBG) {
throw new RuntimeException(
"the number format for touch position correction data is invalid");
}
+ mEnabled = false;
mXs = null;
mYs = null;
mRadii = null;
}
}
- // TODO: Remove this method.
+ @UsedForTesting
public void setEnabled(final boolean enabled) {
mEnabled = enabled;
}
public boolean isValid() {
- return mEnabled && mXs != null && mYs != null && mRadii != null
- && mXs.length > 0 && mYs.length > 0 && mRadii.length > 0;
+ return mEnabled;
+ }
+
+ public int getRows() {
+ return mRadii.length;
+ }
+
+ public float getX(final int row) {
+ return 0.0f;
+ // Touch position correction data for X coordinate is obsolete.
+ // return mXs[row];
+ }
+
+ public float getY(final int row) {
+ return mYs[row];
+ }
+
+ public float getRadius(final int row) {
+ return mRadii[row];
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/SuddenJumpingTouchEventHandler.java b/java/src/com/android/inputmethod/keyboard/internal/TouchScreenRegulator.java
index a591a7ac3..c795d5322 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/SuddenJumpingTouchEventHandler.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/TouchScreenRegulator.java
@@ -20,7 +20,6 @@ import android.content.Context;
import android.util.Log;
import android.view.MotionEvent;
-import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.MainKeyboardView;
import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.R;
@@ -28,8 +27,8 @@ import com.android.inputmethod.latin.ResourceUtils;
import com.android.inputmethod.latin.define.ProductionFlag;
import com.android.inputmethod.research.ResearchLogger;
-public class SuddenJumpingTouchEventHandler {
- private static final String TAG = SuddenJumpingTouchEventHandler.class.getSimpleName();
+public final class TouchScreenRegulator {
+ private static final String TAG = TouchScreenRegulator.class.getSimpleName();
private static boolean DEBUG_MODE = LatinImeLogger.sDBG;
public interface ProcessMotionEvent {
@@ -50,17 +49,18 @@ public class SuddenJumpingTouchEventHandler {
private int mJumpThresholdSquare = Integer.MAX_VALUE;
private int mLastX;
private int mLastY;
+ // One-seventh of the keyboard width seems like a reasonable threshold
+ private static final float JUMP_THRESHOLD_RATIO_TO_KEYBOARD_WIDTH = 1.0f / 7.0f;
- public SuddenJumpingTouchEventHandler(Context context, ProcessMotionEvent view) {
+ public TouchScreenRegulator(final Context context, final ProcessMotionEvent view) {
mView = view;
mNeedsSuddenJumpingHack = Boolean.parseBoolean(ResourceUtils.getDeviceOverrideValue(
context.getResources(), R.array.sudden_jumping_touch_event_device_list, "false"));
}
- public void setKeyboard(Keyboard newKeyboard) {
- // One-seventh of the keyboard width seems like a reasonable threshold
- final int jumpThreshold = newKeyboard.mOccupiedWidth / 7;
- mJumpThresholdSquare = jumpThreshold * jumpThreshold;
+ public void setKeyboardGeometry(final int keyboardWidth) {
+ final float jumpThreshold = keyboardWidth * JUMP_THRESHOLD_RATIO_TO_KEYBOARD_WIDTH;
+ mJumpThresholdSquare = (int)(jumpThreshold * jumpThreshold);
}
/**
@@ -74,7 +74,7 @@ public class SuddenJumpingTouchEventHandler {
* @return true if the event was consumed, so that it doesn't continue to be handled by
* {@link MainKeyboardView}.
*/
- private boolean handleSuddenJumping(MotionEvent me) {
+ private boolean handleSuddenJumping(final MotionEvent me) {
if (!mNeedsSuddenJumpingHack)
return false;
final int action = me.getAction();
@@ -140,7 +140,7 @@ public class SuddenJumpingTouchEventHandler {
return result;
}
- public boolean onTouchEvent(MotionEvent me) {
+ public boolean onTouchEvent(final MotionEvent me) {
// If there was a sudden jump, return without processing the actual motion event.
if (handleSuddenJumping(me)) {
if (DEBUG_MODE)
diff --git a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java
index ae51d2537..d12607721 100644
--- a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java
+++ b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java
@@ -49,7 +49,7 @@ import com.android.inputmethod.compat.CompatUtils;
import java.util.ArrayList;
import java.util.TreeSet;
-public class AdditionalSubtypeSettings extends PreferenceFragment {
+public final class AdditionalSubtypeSettings extends PreferenceFragment {
private SharedPreferences mPrefs;
private SubtypeLocaleAdapter mSubtypeLocaleAdapter;
private KeyboardLayoutSetAdapter mKeyboardLayoutSetAdapter;
diff --git a/java/src/com/android/inputmethod/latin/AssetFileAddress.java b/java/src/com/android/inputmethod/latin/AssetFileAddress.java
index 3549a1561..29c733ba6 100644
--- a/java/src/com/android/inputmethod/latin/AssetFileAddress.java
+++ b/java/src/com/android/inputmethod/latin/AssetFileAddress.java
@@ -24,7 +24,7 @@ import java.io.File;
* the package file. Open it correctly thus requires the name of the package it is in, but
* also the offset in the file and the length of this data. This class encapsulates these three.
*/
-class AssetFileAddress {
+final class AssetFileAddress {
public final String mFilename;
public final long mOffset;
public final long mLength;
diff --git a/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java b/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java
index 55664d411..024726391 100644
--- a/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java
+++ b/java/src/com/android/inputmethod/latin/AudioAndHapticFeedbackManager.java
@@ -21,7 +21,6 @@ import android.media.AudioManager;
import android.view.HapticFeedbackConstants;
import android.view.View;
-import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.latin.VibratorUtils;
/**
@@ -30,18 +29,16 @@ import com.android.inputmethod.latin.VibratorUtils;
* It offers a consistent and simple interface that allows LatinIME to forget about the
* complexity of settings and the like.
*/
-public class AudioAndHapticFeedbackManager {
- final private SettingsValues mSettingsValues;
- final private AudioManager mAudioManager;
- final private VibratorUtils mVibratorUtils;
+public final class AudioAndHapticFeedbackManager {
+ private final AudioManager mAudioManager;
+ private final VibratorUtils mVibratorUtils;
+
+ private SettingsValues mSettingsValues;
private boolean mSoundOn;
- public AudioAndHapticFeedbackManager(final LatinIME latinIme,
- final SettingsValues settingsValues) {
- mSettingsValues = settingsValues;
+ public AudioAndHapticFeedbackManager(final LatinIME latinIme) {
mVibratorUtils = VibratorUtils.getInstance(latinIme);
mAudioManager = (AudioManager) latinIme.getSystemService(Context.AUDIO_SERVICE);
- mSoundOn = reevaluateIfSoundIsOn();
}
public void hapticAndAudioFeedback(final int primaryCode,
@@ -51,7 +48,7 @@ public class AudioAndHapticFeedbackManager {
}
private boolean reevaluateIfSoundIsOn() {
- if (!mSettingsValues.mSoundOn || mAudioManager == null) {
+ if (mSettingsValues == null || !mSettingsValues.mSoundOn || mAudioManager == null) {
return false;
} else {
return mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL;
@@ -64,13 +61,13 @@ public class AudioAndHapticFeedbackManager {
if (mSoundOn) {
final int sound;
switch (primaryCode) {
- case Keyboard.CODE_DELETE:
+ case Constants.CODE_DELETE:
sound = AudioManager.FX_KEYPRESS_DELETE;
break;
- case Keyboard.CODE_ENTER:
+ case Constants.CODE_ENTER:
sound = AudioManager.FX_KEYPRESS_RETURN;
break;
- case Keyboard.CODE_SPACE:
+ case Constants.CODE_SPACE:
sound = AudioManager.FX_KEYPRESS_SPACEBAR;
break;
default:
@@ -81,8 +78,7 @@ public class AudioAndHapticFeedbackManager {
}
}
- // TODO: make this private when LatinIME does not call it any more
- public void vibrate(final View viewToPerformHapticFeedbackOn) {
+ private void vibrate(final View viewToPerformHapticFeedbackOn) {
if (!mSettingsValues.mVibrateOn) {
return;
}
@@ -98,6 +94,11 @@ public class AudioAndHapticFeedbackManager {
}
}
+ public void onSettingsChanged(final SettingsValues settingsValues) {
+ mSettingsValues = settingsValues;
+ mSoundOn = reevaluateIfSoundIsOn();
+ }
+
public void onRingerModeChanged() {
mSoundOn = reevaluateIfSoundIsOn();
}
diff --git a/java/src/com/android/inputmethod/latin/AutoCorrection.java b/java/src/com/android/inputmethod/latin/AutoCorrection.java
index f425e360a..fa35922b0 100644
--- a/java/src/com/android/inputmethod/latin/AutoCorrection.java
+++ b/java/src/com/android/inputmethod/latin/AutoCorrection.java
@@ -23,7 +23,7 @@ import android.util.Log;
import java.util.concurrent.ConcurrentHashMap;
-public class AutoCorrection {
+public final class AutoCorrection {
private static final boolean DBG = LatinImeLogger.sDBG;
private static final String TAG = AutoCorrection.class.getSimpleName();
private static final int MINIMUM_SAFETY_NET_CHAR_LENGTH = 4;
@@ -33,11 +33,11 @@ public class AutoCorrection {
}
public static boolean isValidWord(final ConcurrentHashMap<String, Dictionary> dictionaries,
- CharSequence word, boolean ignoreCase) {
+ final String word, final boolean ignoreCase) {
if (TextUtils.isEmpty(word)) {
return false;
}
- final CharSequence lowerCasedWord = word.toString().toLowerCase();
+ final String lowerCasedWord = word.toLowerCase();
for (final String key : dictionaries.keySet()) {
final Dictionary dictionary = dictionaries.get(key);
// It's unclear how realistically 'dictionary' can be null, but the monkey is somehow
@@ -57,7 +57,7 @@ public class AutoCorrection {
}
public static int getMaxFrequency(final ConcurrentHashMap<String, Dictionary> dictionaries,
- CharSequence word) {
+ final String word) {
if (TextUtils.isEmpty(word)) {
return Dictionary.NOT_A_PROBABILITY;
}
@@ -76,12 +76,13 @@ public class AutoCorrection {
// Returns true if this is in any of the dictionaries.
public static boolean isInTheDictionary(
final ConcurrentHashMap<String, Dictionary> dictionaries,
- final CharSequence word, final boolean ignoreCase) {
+ final String word, final boolean ignoreCase) {
return isValidWord(dictionaries, word, ignoreCase);
}
- public static boolean suggestionExceedsAutoCorrectionThreshold(SuggestedWordInfo suggestion,
- CharSequence consideredWord, float autoCorrectionThreshold) {
+ public static boolean suggestionExceedsAutoCorrectionThreshold(
+ final SuggestedWordInfo suggestion, final String consideredWord,
+ final float autoCorrectionThreshold) {
if (null != suggestion) {
// Shortlist a whitelisted word
if (suggestion.mKind == SuggestedWordInfo.KIND_WHITELIST) return true;
@@ -89,8 +90,7 @@ public class AutoCorrection {
// TODO: when the normalized score of the first suggestion is nearly equals to
// the normalized score of the second suggestion, behave less aggressive.
final float normalizedScore = BinaryDictionary.calcNormalizedScore(
- consideredWord.toString(), suggestion.mWord.toString(),
- autoCorrectionSuggestionScore);
+ consideredWord, suggestion.mWord, autoCorrectionSuggestionScore);
if (DBG) {
Log.d(TAG, "Normalized " + consideredWord + "," + suggestion + ","
+ autoCorrectionSuggestionScore + ", " + normalizedScore
@@ -100,8 +100,7 @@ public class AutoCorrection {
if (DBG) {
Log.d(TAG, "Auto corrected by S-threshold.");
}
- return !shouldBlockAutoCorrectionBySafetyNet(consideredWord.toString(),
- suggestion.mWord);
+ return !shouldBlockAutoCorrectionBySafetyNet(consideredWord, suggestion.mWord);
}
}
return false;
@@ -110,7 +109,7 @@ public class AutoCorrection {
// TODO: Resolve the inconsistencies between the native auto correction algorithms and
// this safety net
public static boolean shouldBlockAutoCorrectionBySafetyNet(final String typedWord,
- final CharSequence suggestion) {
+ final String suggestion) {
// Safety net for auto correction.
// Actually if we hit this safety net, it's a bug.
// If user selected aggressive auto correction mode, there is no need to use the safety
@@ -123,7 +122,7 @@ public class AutoCorrection {
}
final int maxEditDistanceOfNativeDictionary =
(typedWordLength < 5 ? 2 : typedWordLength / 2) + 1;
- final int distance = BinaryDictionary.editDistance(typedWord, suggestion.toString());
+ final int distance = BinaryDictionary.editDistance(typedWord, suggestion);
if (DBG) {
Log.d(TAG, "Autocorrected edit distance = " + distance
+ ", " + maxEditDistanceOfNativeDictionary);
diff --git a/java/src/com/android/inputmethod/latin/BackupAgent.java b/java/src/com/android/inputmethod/latin/BackupAgent.java
index ee070af75..0beb088ac 100644
--- a/java/src/com/android/inputmethod/latin/BackupAgent.java
+++ b/java/src/com/android/inputmethod/latin/BackupAgent.java
@@ -22,7 +22,7 @@ import android.app.backup.SharedPreferencesBackupHelper;
/**
* Backs up the Latin IME shared preferences.
*/
-public class BackupAgent extends BackupAgentHelper {
+public final class BackupAgent extends BackupAgentHelper {
@Override
public void onCreate() {
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
index c3ae81f3a..a7024d1d8 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
@@ -30,8 +30,8 @@ import java.util.Locale;
/**
* Implements a static, compacted, binary dictionary of standard words.
*/
-public class BinaryDictionary extends Dictionary {
-
+public final class BinaryDictionary extends Dictionary {
+ private static final String TAG = BinaryDictionary.class.getSimpleName();
public static final String DICTIONARY_PACK_AUTHORITY =
"com.android.inputmethod.latin.dictionarypack";
@@ -45,17 +45,13 @@ public class BinaryDictionary extends Dictionary {
public static final int MAX_WORDS = 18;
public static final int MAX_SPACES = 16;
- private static final String TAG = "BinaryDictionary";
private static final int MAX_PREDICTIONS = 60;
private static final int MAX_RESULTS = Math.max(MAX_PREDICTIONS, MAX_WORDS);
- private static final int TYPED_LETTER_MULTIPLIER = 2;
-
private long mNativeDict;
private final Locale mLocale;
private final int[] mInputCodePoints = new int[MAX_WORD_LENGTH];
- // TODO: The below should be int[] mOutputCodePoints
- private final char[] mOutputChars = new char[MAX_WORD_LENGTH * MAX_RESULTS];
+ private final int[] mOutputCodePoints = new int[MAX_WORD_LENGTH * MAX_RESULTS];
private final int[] mSpaceIndices = new int[MAX_SPACES];
private final int[] mOutputScores = new int[MAX_RESULTS];
private final int[] mOutputTypes = new int[MAX_RESULTS];
@@ -67,7 +63,7 @@ public class BinaryDictionary extends Dictionary {
// TODO: There should be a way to remove used DicTraverseSession objects from
// {@code mDicTraverseSessions}.
- private DicTraverseSession getTraverseSession(int traverseSessionId) {
+ private DicTraverseSession getTraverseSession(final int traverseSessionId) {
synchronized(mDicTraverseSessions) {
DicTraverseSession traverseSession = mDicTraverseSessions.get(traverseSessionId);
if (traverseSession == null) {
@@ -84,7 +80,6 @@ public class BinaryDictionary extends Dictionary {
/**
* Constructor for the binary dictionary. This is supposed to be called from the
* dictionary factory.
- * All implementations should pass null into flagArray, except for testing purposes.
* @param context the context to access the environment from.
* @param filename the name of the file to read through native code.
* @param offset the offset of the dictionary data within the file.
@@ -92,9 +87,9 @@ public class BinaryDictionary extends Dictionary {
* @param useFullEditDistance whether to use the full edit distance in suggestions
* @param dictType the dictionary type, as a human-readable string
*/
- public BinaryDictionary(final Context context,
- final String filename, final long offset, final long length,
- final boolean useFullEditDistance, final Locale locale, final String dictType) {
+ public BinaryDictionary(final Context context, final String filename, final long offset,
+ final long length, final boolean useFullEditDistance, final Locale locale,
+ final String dictType) {
super(dictType);
mLocale = locale;
mUseFullEditDistance = useFullEditDistance;
@@ -106,40 +101,40 @@ public class BinaryDictionary extends Dictionary {
}
private native long openNative(String sourceDir, long dictOffset, long dictSize,
- int typedLetterMultiplier, int fullWordMultiplier, int maxWordLength, int maxWords,
- int maxPredictions);
+ int fullWordMultiplier, int maxWordLength, int maxWords, int maxPredictions);
private native void closeNative(long dict);
private native int getFrequencyNative(long dict, int[] word);
private native boolean isValidBigramNative(long dict, int[] word1, int[] word2);
private native int getSuggestionsNative(long dict, long proximityInfo, long traverseSession,
int[] xCoordinates, int[] yCoordinates, int[] times, int[] pointerIds,
int[] inputCodePoints, int codesSize, int commitPoint, boolean isGesture,
- int[] prevWordCodePointArray, boolean useFullEditDistance, char[] outputChars,
+ int[] prevWordCodePointArray, boolean useFullEditDistance, int[] outputCodePoints,
int[] outputScores, int[] outputIndices, int[] outputTypes);
- private static native float calcNormalizedScoreNative(char[] before, char[] after, int score);
- private static native int editDistanceNative(char[] before, char[] after);
+ private static native float calcNormalizedScoreNative(int[] before, int[] after, int score);
+ private static native int editDistanceNative(int[] before, int[] after);
// TODO: Move native dict into session
- private final void loadDictionary(String path, long startOffset, long length) {
- mNativeDict = openNative(path, startOffset, length, TYPED_LETTER_MULTIPLIER,
- FULL_WORD_SCORE_MULTIPLIER, MAX_WORD_LENGTH, MAX_WORDS, MAX_PREDICTIONS);
+ private final void loadDictionary(final String path, final long startOffset,
+ final long length) {
+ mNativeDict = openNative(path, startOffset, length, FULL_WORD_SCORE_MULTIPLIER,
+ MAX_WORD_LENGTH, MAX_WORDS, MAX_PREDICTIONS);
}
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final CharSequence prevWord, final ProximityInfo proximityInfo) {
+ final String prevWord, final ProximityInfo proximityInfo) {
return getSuggestionsWithSessionId(composer, prevWord, proximityInfo, 0);
}
@Override
public ArrayList<SuggestedWordInfo> getSuggestionsWithSessionId(final WordComposer composer,
- final CharSequence prevWord, final ProximityInfo proximityInfo, int sessionId) {
+ final String prevWord, final ProximityInfo proximityInfo, int sessionId) {
if (!isValidDictionary()) return null;
Arrays.fill(mInputCodePoints, Constants.NOT_A_CODE);
// TODO: toLowerCase in the native code
final int[] prevWordCodePointArray = (null == prevWord)
- ? null : StringUtils.toCodePointArray(prevWord.toString());
+ ? null : StringUtils.toCodePointArray(prevWord);
final int composerSize = composer.size();
final boolean isGesture = composer.isBatchMode();
@@ -157,7 +152,8 @@ public class BinaryDictionary extends Dictionary {
proximityInfo.getNativeProximityInfo(), getTraverseSession(sessionId).getSession(),
ips.getXCoordinates(), ips.getYCoordinates(), ips.getTimes(), ips.getPointerIds(),
mInputCodePoints, codesSize, 0 /* commitPoint */, isGesture, prevWordCodePointArray,
- mUseFullEditDistance, mOutputChars, mOutputScores, mSpaceIndices, mOutputTypes);
+ mUseFullEditDistance, mOutputCodePoints, mOutputScores, mSpaceIndices,
+ mOutputTypes);
final int count = Math.min(tmpCount, MAX_PREDICTIONS);
final ArrayList<SuggestedWordInfo> suggestions = CollectionUtils.newArrayList();
@@ -165,50 +161,56 @@ public class BinaryDictionary extends Dictionary {
if (composerSize > 0 && mOutputScores[j] < 1) break;
final int start = j * MAX_WORD_LENGTH;
int len = 0;
- while (len < MAX_WORD_LENGTH && mOutputChars[start + len] != 0) {
+ while (len < MAX_WORD_LENGTH && mOutputCodePoints[start + len] != 0) {
++len;
}
if (len > 0) {
final int score = SuggestedWordInfo.KIND_WHITELIST == mOutputTypes[j]
? SuggestedWordInfo.MAX_SCORE : mOutputScores[j];
- suggestions.add(new SuggestedWordInfo(
- new String(mOutputChars, start, len), score, mOutputTypes[j], mDictType));
+ suggestions.add(new SuggestedWordInfo(new String(mOutputCodePoints, start, len),
+ score, mOutputTypes[j], mDictType));
}
}
return suggestions;
}
- /* package for test */ boolean isValidDictionary() {
+ public boolean isValidDictionary() {
return mNativeDict != 0;
}
- public static float calcNormalizedScore(String before, String after, int score) {
- return calcNormalizedScoreNative(before.toCharArray(), after.toCharArray(), score);
+ public static float calcNormalizedScore(final String before, final String after,
+ final int score) {
+ return calcNormalizedScoreNative(StringUtils.toCodePointArray(before),
+ StringUtils.toCodePointArray(after), score);
}
- public static int editDistance(String before, String after) {
- return editDistanceNative(before.toCharArray(), after.toCharArray());
+ public static int editDistance(final String before, final String after) {
+ if (before == null || after == null) {
+ throw new IllegalArgumentException();
+ }
+ return editDistanceNative(StringUtils.toCodePointArray(before),
+ StringUtils.toCodePointArray(after));
}
@Override
- public boolean isValidWord(CharSequence word) {
+ public boolean isValidWord(final String word) {
return getFrequency(word) >= 0;
}
@Override
- public int getFrequency(CharSequence word) {
+ public int getFrequency(final String word) {
if (word == null) return -1;
- int[] codePoints = StringUtils.toCodePointArray(word.toString());
+ int[] codePoints = StringUtils.toCodePointArray(word);
return getFrequencyNative(mNativeDict, codePoints);
}
// TODO: Add a batch process version (isValidBigramMultiple?) to avoid excessive numbers of jni
// calls when checking for changes in an entire dictionary.
- public boolean isValidBigram(CharSequence word1, CharSequence word2) {
+ public boolean isValidBigram(final String word1, final String word2) {
if (TextUtils.isEmpty(word1) || TextUtils.isEmpty(word2)) return false;
- int[] chars1 = StringUtils.toCodePointArray(word1.toString());
- int[] chars2 = StringUtils.toCodePointArray(word2.toString());
- return isValidBigramNative(mNativeDict, chars1, chars2);
+ final int[] codePoints1 = StringUtils.toCodePointArray(word1);
+ final int[] codePoints2 = StringUtils.toCodePointArray(word2);
+ return isValidBigramNative(mNativeDict, codePoints1, codePoints2);
}
@Override
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java
index 799aea8ef..bed31a7d1 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java
@@ -30,7 +30,6 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -40,14 +39,14 @@ import java.util.Locale;
* Group class for static methods to help with creation and getting of the binary dictionary
* file from the dictionary provider
*/
-public class BinaryDictionaryFileDumper {
+public final class BinaryDictionaryFileDumper {
private static final String TAG = BinaryDictionaryFileDumper.class.getSimpleName();
private static final boolean DEBUG = false;
/**
* The size of the temporary buffer to copy files.
*/
- private static final int FILE_READ_BUFFER_SIZE = 1024;
+ private static final int FILE_READ_BUFFER_SIZE = 8192;
// TODO: make the following data common with the native code
private static final byte[] MAGIC_NUMBER_VERSION_1 =
new byte[] { (byte)0x78, (byte)0xB1, (byte)0x00, (byte)0x00 };
@@ -150,7 +149,13 @@ public class BinaryDictionaryFileDumper {
final Uri.Builder wordListUriBuilder = getProviderUriBuilder(id);
final String finalFileName = BinaryDictionaryGetter.getCacheFileName(id, locale, context);
- final String tempFileName = finalFileName + ".tmp";
+ String tempFileName;
+ try {
+ tempFileName = BinaryDictionaryGetter.getTempFileName(id, context);
+ } catch (IOException e) {
+ Log.e(TAG, "Can't open the temporary file", e);
+ return null;
+ }
for (int mode = MODE_MIN; mode <= MODE_MAX; ++mode) {
InputStream originalSourceStream = null;
@@ -201,6 +206,7 @@ public class BinaryDictionaryFileDumper {
outputStream.flush();
outputStream.close();
final File finalFile = new File(finalFileName);
+ finalFile.delete();
if (!outputFile.renameTo(finalFile)) {
throw new IOException("Can't move the file to its final name");
}
@@ -287,6 +293,7 @@ public class BinaryDictionaryFileDumper {
* @param input the stream to be copied.
* @param output an output stream to copy the data to.
*/
+ // TODO: make output a BufferedOutputStream
private static void checkMagicAndCopyFileTo(final BufferedInputStream input,
final FileOutputStream output) throws FileNotFoundException, IOException {
// Check the magic number
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
index 9764df072..ecb61b46f 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
@@ -37,7 +37,7 @@ import java.util.Locale;
/**
* Helper class to get the address of a mmap'able dictionary file.
*/
-class BinaryDictionaryGetter {
+final class BinaryDictionaryGetter {
/**
* Used for Log actions from this class
@@ -164,6 +164,13 @@ class BinaryDictionaryGetter {
}
/**
+ * Generates a unique temporary file name in the app cache directory.
+ */
+ public static String getTempFileName(String id, Context context) throws IOException {
+ return File.createTempFile(replaceFileNameDangerousCharacters(id), null).getAbsolutePath();
+ }
+
+ /**
* Returns a file address from a resource, or null if it cannot be opened.
*/
private static AssetFileAddress loadFallbackResource(final Context context,
@@ -178,7 +185,7 @@ class BinaryDictionaryGetter {
context.getApplicationInfo().sourceDir, afd.getStartOffset(), afd.getLength());
}
- static private class DictPackSettings {
+ private static final class DictPackSettings {
final SharedPreferences mDictPreferences;
public DictPackSettings(final Context context) {
Context dictPackContext = null;
@@ -237,7 +244,7 @@ class BinaryDictionaryGetter {
/**
* Utility class for the {@link #getCachedWordLists} method
*/
- private static class FileAndMatchLevel {
+ private static final class FileAndMatchLevel {
final File mFile;
final int mMatchLevel;
public FileAndMatchLevel(final File file, final int matchLevel) {
@@ -350,7 +357,7 @@ class BinaryDictionaryGetter {
// of the dictionary would lose whitelist functionality.
private static boolean hackCanUseDictionaryFile(final Locale locale, final File f) {
// Only for English - other languages didn't have a whitelist, hence this
- // ad-hock ## HACK ##
+ // ad-hoc ## HACK ##
if (!Locale.ENGLISH.getLanguage().equals(locale.getLanguage())) return true;
FileInputStream inStream = null;
diff --git a/java/src/com/android/inputmethod/latin/BoundedTreeSet.java b/java/src/com/android/inputmethod/latin/BoundedTreeSet.java
index cf977617d..7f7ff31c8 100644
--- a/java/src/com/android/inputmethod/latin/BoundedTreeSet.java
+++ b/java/src/com/android/inputmethod/latin/BoundedTreeSet.java
@@ -25,7 +25,7 @@ import java.util.TreeSet;
/**
* A TreeSet that is bounded in size and throws everything that's smaller than its limit
*/
-public class BoundedTreeSet extends TreeSet<SuggestedWordInfo> {
+public final class BoundedTreeSet extends TreeSet<SuggestedWordInfo> {
private final int mCapacity;
public BoundedTreeSet(final Comparator<SuggestedWordInfo> comparator, final int capacity) {
super(comparator);
diff --git a/java/src/com/android/inputmethod/latin/Constants.java b/java/src/com/android/inputmethod/latin/Constants.java
index 57e12a64f..ba932e590 100644
--- a/java/src/com/android/inputmethod/latin/Constants.java
+++ b/java/src/com/android/inputmethod/latin/Constants.java
@@ -136,11 +136,81 @@ public final class Constants {
public static final int NOT_A_CODE = -1;
- // See {@link KeyboardActionListener.Adapter#isInvalidCoordinate(int)}.
public static final int NOT_A_COORDINATE = -1;
public static final int SUGGESTION_STRIP_COORDINATE = -2;
public static final int SPELL_CHECKER_COORDINATE = -3;
+ public static boolean isValidCoordinate(final int coordinate) {
+ // Detect {@link NOT_A_COORDINATE}, {@link SUGGESTION_STRIP_COORDINATE},
+ // and {@link SPELL_CHECKER_COORDINATE}.
+ return coordinate >= 0;
+ }
+
+ /**
+ * Some common keys code. Must be positive.
+ */
+ public static final int CODE_ENTER = '\n';
+ public static final int CODE_TAB = '\t';
+ public static final int CODE_SPACE = ' ';
+ public static final int CODE_PERIOD = '.';
+ public static final int CODE_DASH = '-';
+ public static final int CODE_SINGLE_QUOTE = '\'';
+ public static final int CODE_DOUBLE_QUOTE = '"';
+ public static final int CODE_QUESTION_MARK = '?';
+ public static final int CODE_EXCLAMATION_MARK = '!';
+ // TODO: Check how this should work for right-to-left languages. It seems to stand
+ // that for rtl languages, a closing parenthesis is a left parenthesis. Is this
+ // managed by the font? Or is it a different char?
+ public static final int CODE_CLOSING_PARENTHESIS = ')';
+ public static final int CODE_CLOSING_SQUARE_BRACKET = ']';
+ public static final int CODE_CLOSING_CURLY_BRACKET = '}';
+ public static final int CODE_CLOSING_ANGLE_BRACKET = '>';
+
+ /**
+ * Special keys code. Must be negative.
+ * These should be aligned with KeyboardCodesSet.ID_TO_NAME[],
+ * KeyboardCodesSet.DEFAULT[] and KeyboardCodesSet.RTL[]
+ */
+ public static final int CODE_SHIFT = -1;
+ public static final int CODE_SWITCH_ALPHA_SYMBOL = -2;
+ public static final int CODE_OUTPUT_TEXT = -3;
+ public static final int CODE_DELETE = -4;
+ public static final int CODE_SETTINGS = -5;
+ public static final int CODE_SHORTCUT = -6;
+ public static final int CODE_ACTION_ENTER = -7;
+ public static final int CODE_ACTION_NEXT = -8;
+ public static final int CODE_ACTION_PREVIOUS = -9;
+ public static final int CODE_LANGUAGE_SWITCH = -10;
+ public static final int CODE_RESEARCH = -11;
+ // Code value representing the code is not specified.
+ public static final int CODE_UNSPECIFIED = -12;
+
+ public static boolean isLetterCode(final int code) {
+ return code >= CODE_SPACE;
+ }
+
+ public static String printableCode(final int code) {
+ switch (code) {
+ case CODE_SHIFT: return "shift";
+ case CODE_SWITCH_ALPHA_SYMBOL: return "symbol";
+ case CODE_OUTPUT_TEXT: return "text";
+ case CODE_DELETE: return "delete";
+ case CODE_SETTINGS: return "settings";
+ case CODE_SHORTCUT: return "shortcut";
+ case CODE_ACTION_ENTER: return "actionEnter";
+ case CODE_ACTION_NEXT: return "actionNext";
+ case CODE_ACTION_PREVIOUS: return "actionPrevious";
+ case CODE_LANGUAGE_SWITCH: return "languageSwitch";
+ case CODE_UNSPECIFIED: return "unspec";
+ case CODE_TAB: return "tab";
+ case CODE_ENTER: return "enter";
+ default:
+ if (code < CODE_SPACE) return String.format("'\\u%02x'", code);
+ if (code < 0x100) return String.format("'%c'", code);
+ return String.format("'\\u%04x'", code);
+ }
+ }
+
private Constants() {
// This utility class is not publicly instantiable.
}
diff --git a/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java
index 5edc4314f..d1b32a2f3 100644
--- a/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java
@@ -24,8 +24,6 @@ import android.provider.ContactsContract.Contacts;
import android.text.TextUtils;
import android.util.Log;
-import com.android.inputmethod.keyboard.Keyboard;
-
import java.util.Locale;
public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
@@ -62,7 +60,7 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
*/
private final boolean mUseFirstLastBigrams;
- public ContactsBinaryDictionary(final Context context, Locale locale) {
+ public ContactsBinaryDictionary(final Context context, final Locale locale) {
super(context, getFilenameWithLocale(NAME, locale.toString()), Dictionary.TYPE_CONTACTS);
mLocale = locale;
mUseFirstLastBigrams = useFirstLastBigramsForLocale(locale);
@@ -120,7 +118,7 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
}
}
- private boolean useFirstLastBigramsForLocale(Locale locale) {
+ private boolean useFirstLastBigramsForLocale(final Locale locale) {
// TODO: Add firstname/lastname bigram rules for other languages.
if (locale != null && locale.getLanguage().equals(Locale.ENGLISH.getLanguage())) {
return true;
@@ -128,7 +126,7 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
return false;
}
- private void addWords(Cursor cursor) {
+ private void addWords(final Cursor cursor) {
clearFusionDictionary();
int count = 0;
while (!cursor.isAfterLast() && count < MAX_CONTACT_COUNT) {
@@ -160,7 +158,7 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
* Adds the words in a name (e.g., firstname/lastname) to the binary dictionary along with their
* bigrams depending on locale.
*/
- private void addName(String name) {
+ private void addName(final String name) {
int len = StringUtils.codePointCount(name);
String prevWord = null;
// TODO: Better tokenization for non-Latin writing systems
@@ -188,12 +186,13 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
/**
* Returns the index of the last letter in the word, starting from position startIndex.
*/
- private static int getWordEndPosition(String string, int len, int startIndex) {
+ private static int getWordEndPosition(final String string, final int len,
+ final int startIndex) {
int end;
int cp = 0;
for (end = startIndex + 1; end < len; end += Character.charCount(cp)) {
cp = string.codePointAt(end);
- if (!(cp == Keyboard.CODE_DASH || cp == Keyboard.CODE_SINGLE_QUOTE
+ if (!(cp == Constants.CODE_DASH || cp == Constants.CODE_SINGLE_QUOTE
|| Character.isLetter(cp))) {
break;
}
@@ -249,7 +248,7 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
return false;
}
- private static boolean isValidName(String name) {
+ private static boolean isValidName(final String name) {
if (name != null && -1 == name.indexOf('@')) {
return true;
}
@@ -259,7 +258,7 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
/**
* Checks if the words in a name are in the current binary dictionary.
*/
- private boolean isNameInDictionary(String name) {
+ private boolean isNameInDictionary(final String name) {
int len = StringUtils.codePointCount(name);
String prevWord = null;
for (int i = 0; i < len; i++) {
diff --git a/java/src/com/android/inputmethod/latin/DebugSettings.java b/java/src/com/android/inputmethod/latin/DebugSettings.java
index af7649863..3af3cab2c 100644
--- a/java/src/com/android/inputmethod/latin/DebugSettings.java
+++ b/java/src/com/android/inputmethod/latin/DebugSettings.java
@@ -23,17 +23,20 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.os.Process;
import android.preference.CheckBoxPreference;
+import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.util.Log;
import com.android.inputmethod.keyboard.KeyboardSwitcher;
+import com.android.inputmethod.research.ResearchLogger;
-public class DebugSettings extends PreferenceFragment
+public final class DebugSettings extends PreferenceFragment
implements SharedPreferences.OnSharedPreferenceChangeListener {
private static final String TAG = DebugSettings.class.getSimpleName();
private static final String DEBUG_MODE_KEY = "debug_mode";
public static final String FORCE_NON_DISTINCT_MULTITOUCH_KEY = "force_non_distinct_multitouch";
+ public static final String PREF_USABILITY_STUDY_MODE = "usability_study_mode";
private boolean mServiceNeedsRestart = false;
private CheckBoxPreference mDebugMode;
@@ -45,6 +48,14 @@ public class DebugSettings extends PreferenceFragment
SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
prefs.registerOnSharedPreferenceChangeListener(this);
+ final Preference usabilityStudyPref = findPreference(PREF_USABILITY_STUDY_MODE);
+ if (usabilityStudyPref instanceof CheckBoxPreference) {
+ final CheckBoxPreference checkbox = (CheckBoxPreference)usabilityStudyPref;
+ checkbox.setChecked(prefs.getBoolean(PREF_USABILITY_STUDY_MODE,
+ ResearchLogger.DEFAULT_USABILITY_STUDY_MODE));
+ checkbox.setSummary(R.string.settings_warning_researcher_mode);
+ }
+
mServiceNeedsRestart = false;
mDebugMode = (CheckBoxPreference) findPreference(DEBUG_MODE_KEY);
updateDebugMode();
diff --git a/java/src/com/android/inputmethod/latin/DebugSettingsActivity.java b/java/src/com/android/inputmethod/latin/DebugSettingsActivity.java
index cde20606a..6ef19ee82 100644
--- a/java/src/com/android/inputmethod/latin/DebugSettingsActivity.java
+++ b/java/src/com/android/inputmethod/latin/DebugSettingsActivity.java
@@ -20,7 +20,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.preference.PreferenceActivity;
-public class DebugSettingsActivity extends PreferenceActivity {
+public final class DebugSettingsActivity extends PreferenceActivity {
@Override
public Intent getIntent() {
final Intent modIntent = new Intent(super.getIntent());
diff --git a/java/src/com/android/inputmethod/latin/DicTraverseSession.java b/java/src/com/android/inputmethod/latin/DicTraverseSession.java
index 359da72cc..ce1b64660 100644
--- a/java/src/com/android/inputmethod/latin/DicTraverseSession.java
+++ b/java/src/com/android/inputmethod/latin/DicTraverseSession.java
@@ -18,7 +18,7 @@ package com.android.inputmethod.latin;
import java.util.Locale;
-public class DicTraverseSession {
+public final class DicTraverseSession {
static {
JniUtils.loadNativeLibrary();
}
diff --git a/java/src/com/android/inputmethod/latin/Dictionary.java b/java/src/com/android/inputmethod/latin/Dictionary.java
index 88d0c09dd..8207bc47f 100644
--- a/java/src/com/android/inputmethod/latin/Dictionary.java
+++ b/java/src/com/android/inputmethod/latin/Dictionary.java
@@ -59,12 +59,12 @@ public abstract class Dictionary {
// TODO: pass more context than just the previous word, to enable better suggestions (n-gram
// and more)
abstract public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final CharSequence prevWord, final ProximityInfo proximityInfo);
+ final String prevWord, final ProximityInfo proximityInfo);
// The default implementation of this method ignores sessionId.
// Subclasses that want to use sessionId need to override this method.
public ArrayList<SuggestedWordInfo> getSuggestionsWithSessionId(final WordComposer composer,
- final CharSequence prevWord, final ProximityInfo proximityInfo, int sessionId) {
+ final String prevWord, final ProximityInfo proximityInfo, final int sessionId) {
return getSuggestions(composer, prevWord, proximityInfo);
}
@@ -73,9 +73,9 @@ public abstract class Dictionary {
* @param word the word to search for. The search should be case-insensitive.
* @return true if the word exists, false otherwise
*/
- abstract public boolean isValidWord(CharSequence word);
+ abstract public boolean isValidWord(final String word);
- public int getFrequency(CharSequence word) {
+ public int getFrequency(final String word) {
return NOT_A_PROBABILITY;
}
@@ -87,7 +87,7 @@ public abstract class Dictionary {
* @param typedWord the word to compare with
* @return true if they are the same, false otherwise.
*/
- protected boolean same(final char[] word, final int length, final CharSequence typedWord) {
+ protected boolean same(final char[] word, final int length, final String typedWord) {
if (typedWord.length() != length) {
return false;
}
diff --git a/java/src/com/android/inputmethod/latin/DictionaryCollection.java b/java/src/com/android/inputmethod/latin/DictionaryCollection.java
index 4acab6b05..7f78ac8a2 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryCollection.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryCollection.java
@@ -29,7 +29,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
/**
* Class for a collection of dictionaries that behave like one dictionary.
*/
-public class DictionaryCollection extends Dictionary {
+public final class DictionaryCollection extends Dictionary {
private final String TAG = DictionaryCollection.class.getSimpleName();
protected final CopyOnWriteArrayList<Dictionary> mDictionaries;
@@ -56,7 +56,7 @@ public class DictionaryCollection extends Dictionary {
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final CharSequence prevWord, final ProximityInfo proximityInfo) {
+ final String prevWord, final ProximityInfo proximityInfo) {
final CopyOnWriteArrayList<Dictionary> dictionaries = mDictionaries;
if (dictionaries.isEmpty()) return null;
// To avoid creating unnecessary objects, we get the list out of the first
@@ -74,14 +74,14 @@ public class DictionaryCollection extends Dictionary {
}
@Override
- public boolean isValidWord(CharSequence word) {
+ public boolean isValidWord(final String word) {
for (int i = mDictionaries.size() - 1; i >= 0; --i)
if (mDictionaries.get(i).isValidWord(word)) return true;
return false;
}
@Override
- public int getFrequency(CharSequence word) {
+ public int getFrequency(final String word) {
int maxFreq = -1;
for (int i = mDictionaries.size() - 1; i >= 0; --i) {
final int tempFreq = mDictionaries.get(i).getFrequency(word);
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFactory.java b/java/src/com/android/inputmethod/latin/DictionaryFactory.java
index cdd01d0c7..f381973ae 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFactory.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFactory.java
@@ -29,7 +29,7 @@ import java.util.Locale;
/**
* Factory for dictionary instances.
*/
-public class DictionaryFactory {
+public final class DictionaryFactory {
private static final String TAG = DictionaryFactory.class.getSimpleName();
// This class must be located in the same package as LatinIME.java.
private static final String RESOURCE_PACKAGE_NAME =
diff --git a/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java b/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java
index 9c37d7673..f2f3fbded 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java
@@ -27,7 +27,7 @@ import android.net.Uri;
/**
* Takes action to reload the necessary data when a dictionary pack was added/removed.
*/
-public class DictionaryPackInstallBroadcastReceiver extends BroadcastReceiver {
+public final class DictionaryPackInstallBroadcastReceiver extends BroadcastReceiver {
final LatinIME mService;
/**
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index b93c17f11..159867ade 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -198,7 +198,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final CharSequence prevWord, final ProximityInfo proximityInfo) {
+ final String prevWord, final ProximityInfo proximityInfo) {
asyncReloadDictionaryIfRequired();
if (mLocalDictionaryController.tryLock()) {
try {
@@ -213,12 +213,12 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
}
@Override
- public boolean isValidWord(final CharSequence word) {
+ public boolean isValidWord(final String word) {
asyncReloadDictionaryIfRequired();
return isValidWordInner(word);
}
- protected boolean isValidWordInner(final CharSequence word) {
+ protected boolean isValidWordInner(final String word) {
if (mLocalDictionaryController.tryLock()) {
try {
return isValidWordLocked(word);
@@ -229,17 +229,17 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
return false;
}
- protected boolean isValidWordLocked(final CharSequence word) {
+ protected boolean isValidWordLocked(final String word) {
if (mBinaryDictionary == null) return false;
return mBinaryDictionary.isValidWord(word);
}
- protected boolean isValidBigram(final CharSequence word1, final CharSequence word2) {
+ protected boolean isValidBigram(final String word1, final String word2) {
if (mBinaryDictionary == null) return false;
return mBinaryDictionary.isValidBigram(word1, word2);
}
- protected boolean isValidBigramInner(final CharSequence word1, final CharSequence word2) {
+ protected boolean isValidBigramInner(final String word1, final String word2) {
if (mLocalDictionaryController.tryLock()) {
try {
return isValidBigramLocked(word1, word2);
@@ -250,7 +250,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
return false;
}
- protected boolean isValidBigramLocked(final CharSequence word1, final CharSequence word2) {
+ protected boolean isValidBigramLocked(final String word1, final String word2) {
if (mBinaryDictionary == null) return false;
return mBinaryDictionary.isValidBigram(word1, word2);
}
diff --git a/java/src/com/android/inputmethod/latin/ExpandableDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableDictionary.java
index 8a38d1e1b..16cc1b35f 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableDictionary.java
@@ -19,7 +19,6 @@ package com.android.inputmethod.latin;
import android.content.Context;
import android.text.TextUtils;
-import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.ProximityInfo;
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
import com.android.inputmethod.latin.UserHistoryForgettingCurveUtils.ForgettingCurveParams;
@@ -48,7 +47,7 @@ public class ExpandableDictionary extends Dictionary {
// Use this lock before touching mUpdatingDictionary & mRequiresDownload
private Object mUpdatingLock = new Object();
- private static class Node {
+ private static final class Node {
Node() {}
char mCode;
int mFrequency;
@@ -60,7 +59,7 @@ public class ExpandableDictionary extends Dictionary {
LinkedList<NextWord> mNGrams; // Supports ngram
}
- private static class NodeArray {
+ private static final class NodeArray {
Node[] mData;
int mLength = 0;
private static final int INCREMENT = 2;
@@ -69,7 +68,7 @@ public class ExpandableDictionary extends Dictionary {
mData = new Node[INCREMENT];
}
- void add(Node n) {
+ void add(final Node n) {
if (mLength + 1 > mData.length) {
Node[] tempData = new Node[mLength + INCREMENT];
if (mLength > 0) {
@@ -88,7 +87,7 @@ public class ExpandableDictionary extends Dictionary {
public int notifyTypedAgainAndGetFrequency();
}
- private static class NextStaticWord implements NextWord {
+ private static final class NextStaticWord implements NextWord {
public final Node mWord;
private final int mFrequency;
public NextStaticWord(Node word, int frequency) {
@@ -117,7 +116,7 @@ public class ExpandableDictionary extends Dictionary {
}
}
- private static class NextHistoryWord implements NextWord {
+ private static final class NextHistoryWord implements NextWord {
public final Node mWord;
public final ForgettingCurveParams mFcp;
@@ -172,7 +171,7 @@ public class ExpandableDictionary extends Dictionary {
}
}
- public void setRequiresReload(boolean reload) {
+ public void setRequiresReload(final boolean reload) {
synchronized (mUpdatingLock) {
mRequiresReload = reload;
}
@@ -202,8 +201,8 @@ public class ExpandableDictionary extends Dictionary {
addWordRec(mRoots, word, 0, shortcutTarget, frequency, null);
}
- private void addWordRec(NodeArray children, final String word, final int depth,
- final String shortcutTarget, final int frequency, Node parentNode) {
+ private void addWordRec(final NodeArray children, final String word, final int depth,
+ final String shortcutTarget, final int frequency, final Node parentNode) {
final int wordLength = word.length();
if (wordLength <= depth) return;
final char c = word.charAt(depth);
@@ -248,7 +247,7 @@ public class ExpandableDictionary extends Dictionary {
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final CharSequence prevWord, final ProximityInfo proximityInfo) {
+ final String prevWord, final ProximityInfo proximityInfo) {
if (reloadDictionaryIfRequired()) return null;
if (composer.size() > 1) {
if (composer.size() >= BinaryDictionary.MAX_WORD_LENGTH) {
@@ -267,8 +266,7 @@ public class ExpandableDictionary extends Dictionary {
// This reloads the dictionary if required, and returns whether it's currently updating its
// contents or not.
- // @VisibleForTesting
- boolean reloadDictionaryIfRequired() {
+ private boolean reloadDictionaryIfRequired() {
synchronized (mUpdatingLock) {
// If we need to update, start off a background task
if (mRequiresReload) startDictionaryLoadingTaskLocked();
@@ -277,7 +275,7 @@ public class ExpandableDictionary extends Dictionary {
}
protected ArrayList<SuggestedWordInfo> getWordsInner(final WordComposer codes,
- final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo) {
+ final String prevWordForBigrams, final ProximityInfo proximityInfo) {
final ArrayList<SuggestedWordInfo> suggestions = CollectionUtils.newArrayList();
mInputLength = codes.size();
if (mCodes.length < mInputLength) mCodes = new int[mInputLength][];
@@ -305,7 +303,7 @@ public class ExpandableDictionary extends Dictionary {
}
@Override
- public synchronized boolean isValidWord(CharSequence word) {
+ public synchronized boolean isValidWord(final String word) {
synchronized (mUpdatingLock) {
// If we need to update, start off a background task
if (mRequiresReload) startDictionaryLoadingTaskLocked();
@@ -320,7 +318,7 @@ public class ExpandableDictionary extends Dictionary {
return (node == null) ? false : !node.mShortcutOnly;
}
- protected boolean removeBigram(String word1, String word2) {
+ protected boolean removeBigram(final String word1, final String word2) {
// Refer to addOrSetBigram() about word1.toLowerCase()
final Node firstWord = searchWord(mRoots, word1.toLowerCase(), 0, null);
final Node secondWord = searchWord(mRoots, word2, 0, null);
@@ -345,13 +343,13 @@ public class ExpandableDictionary extends Dictionary {
/**
* Returns the word's frequency or -1 if not found
*/
- protected int getWordFrequency(CharSequence word) {
+ protected int getWordFrequency(final String word) {
// Case-sensitive search
final Node node = searchNode(mRoots, word, 0, word.length());
return (node == null) ? -1 : node.mFrequency;
}
- protected NextWord getBigramWord(String word1, String word2) {
+ protected NextWord getBigramWord(final String word1, final String word2) {
// Refer to addOrSetBigram() about word1.toLowerCase()
final Node firstWord = searchWord(mRoots, word1.toLowerCase(), 0, null);
final Node secondWord = searchWord(mRoots, word2, 0, null);
@@ -368,7 +366,8 @@ public class ExpandableDictionary extends Dictionary {
return null;
}
- private static int computeSkippedWordFinalFreq(int freq, int snr, int inputLength) {
+ private static int computeSkippedWordFinalFreq(final int freq, final int snr,
+ final int inputLength) {
// The computation itself makes sense for >= 2, but the == 2 case returns 0
// anyway so we may as well test against 3 instead and return the constant
if (inputLength >= 3) {
@@ -431,9 +430,9 @@ public class ExpandableDictionary extends Dictionary {
* @param suggestions the list in which to add suggestions
*/
// TODO: Share this routine with the native code for BinaryDictionary
- protected void getWordsRec(NodeArray roots, final WordComposer codes, final char[] word,
- final int depth, final boolean completion, int snr, int inputIndex, int skipPos,
- final ArrayList<SuggestedWordInfo> suggestions) {
+ protected void getWordsRec(final NodeArray roots, final WordComposer codes, final char[] word,
+ final int depth, final boolean completion, final int snr, final int inputIndex,
+ final int skipPos, final ArrayList<SuggestedWordInfo> suggestions) {
final int count = roots.mLength;
final int codeSize = mInputLength;
// Optimization: Prune out words that are too long compared to how much was typed.
@@ -472,8 +471,8 @@ public class ExpandableDictionary extends Dictionary {
getWordsRec(children, codes, word, depth + 1, true, snr, inputIndex,
skipPos, suggestions);
}
- } else if ((c == Keyboard.CODE_SINGLE_QUOTE
- && currentChars[0] != Keyboard.CODE_SINGLE_QUOTE) || depth == skipPos) {
+ } else if ((c == Constants.CODE_SINGLE_QUOTE
+ && currentChars[0] != Constants.CODE_SINGLE_QUOTE) || depth == skipPos) {
// Skip the ' and continue deeper
word[depth] = c;
if (children != null) {
@@ -524,11 +523,13 @@ public class ExpandableDictionary extends Dictionary {
}
}
- public int setBigramAndGetFrequency(String word1, String word2, int frequency) {
+ public int setBigramAndGetFrequency(final String word1, final String word2,
+ final int frequency) {
return setBigramAndGetFrequency(word1, word2, frequency, null /* unused */);
}
- public int setBigramAndGetFrequency(String word1, String word2, ForgettingCurveParams fcp) {
+ public int setBigramAndGetFrequency(final String word1, final String word2,
+ final ForgettingCurveParams fcp) {
return setBigramAndGetFrequency(word1, word2, 0 /* unused */, fcp);
}
@@ -540,8 +541,8 @@ public class ExpandableDictionary extends Dictionary {
* @param fcp an instance of ForgettingCurveParams to use for decay policy
* @return returns the final bigram frequency
*/
- private int setBigramAndGetFrequency(
- String word1, String word2, int frequency, ForgettingCurveParams fcp) {
+ private int setBigramAndGetFrequency(final String word1, final String word2,
+ final int frequency, final ForgettingCurveParams fcp) {
// We don't want results to be different according to case of the looked up left hand side
// word. We do want however to return the correct case for the right hand side.
// So we want to squash the case of the left hand side, and preserve that of the right
@@ -572,7 +573,8 @@ public class ExpandableDictionary extends Dictionary {
* Searches for the word and add the word if it does not exist.
* @return Returns the terminal node of the word we are searching for.
*/
- private Node searchWord(NodeArray children, String word, int depth, Node parentNode) {
+ private Node searchWord(final NodeArray children, final String word, final int depth,
+ final Node parentNode) {
final int wordLength = word.length();
final char c = word.charAt(depth);
// Does children have the current character?
@@ -602,36 +604,17 @@ public class ExpandableDictionary extends Dictionary {
return searchWord(childNode.mChildren, word, depth + 1, childNode);
}
- private void runBigramReverseLookUp(final CharSequence previousWord,
+ private void runBigramReverseLookUp(final String previousWord,
final ArrayList<SuggestedWordInfo> suggestions) {
// Search for the lowercase version of the word only, because that's where bigrams
// store their sons.
- Node prevWord = searchNode(mRoots, previousWord.toString().toLowerCase(), 0,
+ final Node prevWord = searchNode(mRoots, previousWord.toLowerCase(), 0,
previousWord.length());
if (prevWord != null && prevWord.mNGrams != null) {
reverseLookUp(prevWord.mNGrams, suggestions);
}
}
- /**
- * Used for testing purposes and in the spell checker
- * This function will wait for loading from database to be done
- */
- void waitForDictionaryLoading() {
- while (mUpdatingDictionary) {
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- //
- }
- }
- }
-
- protected final void blockingReloadDictionaryIfRequired() {
- reloadDictionaryIfRequired();
- waitForDictionaryLoading();
- }
-
// Local to reverseLookUp, but do not allocate each time.
private final char[] mLookedUpString = new char[BinaryDictionary.MAX_WORD_LENGTH];
@@ -641,7 +624,7 @@ public class ExpandableDictionary extends Dictionary {
* @param terminalNodes list of terminal nodes we want to add
* @param suggestions the suggestion collection to add the word to
*/
- private void reverseLookUp(LinkedList<NextWord> terminalNodes,
+ private void reverseLookUp(final LinkedList<NextWord> terminalNodes,
final ArrayList<SuggestedWordInfo> suggestions) {
Node node;
int freq;
@@ -703,7 +686,7 @@ public class ExpandableDictionary extends Dictionary {
mRoots = new NodeArray();
}
- private class LoadDictionaryTask extends Thread {
+ private final class LoadDictionaryTask extends Thread {
LoadDictionaryTask() {}
@Override
public void run() {
@@ -714,7 +697,7 @@ public class ExpandableDictionary extends Dictionary {
}
}
- private static char toLowerCase(char c) {
+ private static char toLowerCase(final char c) {
char baseChar = c;
if (c < BASE_CHARS.length) {
baseChar = BASE_CHARS[c];
diff --git a/java/src/com/android/inputmethod/latin/FileTransforms.java b/java/src/com/android/inputmethod/latin/FileTransforms.java
index 80159521c..09cf23a9b 100644
--- a/java/src/com/android/inputmethod/latin/FileTransforms.java
+++ b/java/src/com/android/inputmethod/latin/FileTransforms.java
@@ -21,7 +21,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.util.zip.GZIPInputStream;
-public class FileTransforms {
+public final class FileTransforms {
public static OutputStream getCryptedStream(OutputStream out) {
// Crypt the stream.
return out;
diff --git a/java/src/com/android/inputmethod/latin/InputAttributes.java b/java/src/com/android/inputmethod/latin/InputAttributes.java
index 7bcda9bc4..2f7608a03 100644
--- a/java/src/com/android/inputmethod/latin/InputAttributes.java
+++ b/java/src/com/android/inputmethod/latin/InputAttributes.java
@@ -23,7 +23,7 @@ import android.view.inputmethod.EditorInfo;
/**
* Class to hold attributes of the input field.
*/
-public class InputAttributes {
+public final class InputAttributes {
private final String TAG = InputAttributes.class.getSimpleName();
final public boolean mInputTypeNoAutoCorrect;
diff --git a/java/src/com/android/inputmethod/latin/InputPointers.java b/java/src/com/android/inputmethod/latin/InputPointers.java
index ff2feb51d..7dffd96dd 100644
--- a/java/src/com/android/inputmethod/latin/InputPointers.java
+++ b/java/src/com/android/inputmethod/latin/InputPointers.java
@@ -16,8 +16,10 @@
package com.android.inputmethod.latin;
+import com.android.inputmethod.annotations.UsedForTesting;
+
// TODO: This class is not thread-safe.
-public class InputPointers {
+public final class InputPointers {
private final int mDefaultCapacity;
private final ResizableIntArray mXCoordinates;
private final ResizableIntArray mYCoordinates;
@@ -39,7 +41,8 @@ public class InputPointers {
mTimes.add(index, time);
}
- public void addPointer(int x, int y, int pointerId, int time) {
+ @UsedForTesting
+ void addPointer(int x, int y, int pointerId, int time) {
mXCoordinates.add(x);
mYCoordinates.add(y);
mPointerIds.add(pointerId);
@@ -66,7 +69,8 @@ public class InputPointers {
* @param startPos the starting index of the pointers in {@code src}.
* @param length the number of pointers to be appended.
*/
- public void append(InputPointers src, int startPos, int length) {
+ @UsedForTesting
+ void append(InputPointers src, int startPos, int length) {
if (length == 0) {
return;
}
diff --git a/java/src/com/android/inputmethod/latin/InputView.java b/java/src/com/android/inputmethod/latin/InputView.java
index c15f45345..d7595bfbe 100644
--- a/java/src/com/android/inputmethod/latin/InputView.java
+++ b/java/src/com/android/inputmethod/latin/InputView.java
@@ -23,7 +23,7 @@ import android.view.MotionEvent;
import android.view.View;
import android.widget.LinearLayout;
-public class InputView extends LinearLayout {
+public final class InputView extends LinearLayout {
private View mSuggestionStripContainer;
private View mKeyboardView;
private int mKeyboardTopPadding;
diff --git a/java/src/com/android/inputmethod/latin/LastComposedWord.java b/java/src/com/android/inputmethod/latin/LastComposedWord.java
index dd73a978c..44ef01204 100644
--- a/java/src/com/android/inputmethod/latin/LastComposedWord.java
+++ b/java/src/com/android/inputmethod/latin/LastComposedWord.java
@@ -22,7 +22,7 @@ import android.text.TextUtils;
* This class encapsulates data about a word previously composed, but that has been
* committed already. This is used for resuming suggestion, and cancel auto-correction.
*/
-public class LastComposedWord {
+public final class LastComposedWord {
// COMMIT_TYPE_USER_TYPED_WORD is used when the word committed is the exact typed word, with
// no hinting from the IME. It happens when some external event happens (rotating the device,
// for example) or when auto-correction is off by settings or editor attributes.
@@ -44,7 +44,7 @@ public class LastComposedWord {
public final String mTypedWord;
public final String mCommittedWord;
public final String mSeparatorString;
- public final CharSequence mPrevWord;
+ public final String mPrevWord;
public final InputPointers mInputPointers = new InputPointers(BinaryDictionary.MAX_WORD_LENGTH);
private boolean mActive;
@@ -56,7 +56,7 @@ public class LastComposedWord {
// immutable. Do not fiddle with their contents after you passed them to this constructor.
public LastComposedWord(final int[] primaryKeyCodes, final InputPointers inputPointers,
final String typedWord, final String committedWord,
- final String separatorString, final CharSequence prevWord) {
+ final String separatorString, final String prevWord) {
mPrimaryKeyCodes = primaryKeyCodes;
if (inputPointers != null) {
mInputPointers.copy(inputPointers);
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 9252b0980..2af7b1d61 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -60,6 +60,7 @@ import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.accessibility.AccessibilityUtils;
import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.compat.CompatUtils;
import com.android.inputmethod.compat.InputMethodManagerCompatWrapper;
import com.android.inputmethod.compat.InputMethodServiceCompatUtils;
@@ -85,7 +86,7 @@ import java.util.Locale;
/**
* Input method implementation for Qwerty'ish keyboard.
*/
-public class LatinIME extends InputMethodService implements KeyboardActionListener,
+public final class LatinIME extends InputMethodService implements KeyboardActionListener,
SuggestionStripView.Listener, TargetApplicationGetter.OnTargetApplicationKnownListener,
Suggest.SuggestInitializationListener {
private static final String TAG = LatinIME.class.getSimpleName();
@@ -132,14 +133,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
private View mKeyPreviewBackingView;
private View mSuggestionsContainer;
private SuggestionStripView mSuggestionStripView;
- /* package for tests */ Suggest mSuggest;
+ @UsedForTesting Suggest mSuggest;
private CompletionInfo[] mApplicationSpecifiedCompletions;
private ApplicationInfo mTargetApplicationInfo;
private InputMethodManagerCompatWrapper mImm;
private Resources mResources;
private SharedPreferences mPrefs;
- /* package for tests */ final KeyboardSwitcher mKeyboardSwitcher;
+ @UsedForTesting final KeyboardSwitcher mKeyboardSwitcher;
private final SubtypeSwitcher mSubtypeSwitcher;
private boolean mShouldSwitchToLastSubtype = true;
@@ -163,8 +164,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
private int mDeleteCount;
private long mLastKeyTime;
- private AudioAndHapticFeedbackManager mFeedbackManager;
-
// Member variables for remembering the current device orientation.
private int mDisplayOrientation;
@@ -173,7 +172,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
new DictionaryPackInstallBroadcastReceiver(this);
// Keeps track of most recently inserted text (multi-character key) for reverting
- private CharSequence mEnteredText;
+ private String mEnteredText;
private boolean mIsAutoCorrectionIndicatorOn;
@@ -183,7 +182,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
public final UIHandler mHandler = new UIHandler(this);
- public static class UIHandler extends StaticInnerHandlerWrapper<LatinIME> {
+ public static final class UIHandler extends StaticInnerHandlerWrapper<LatinIME> {
private static final int MSG_UPDATE_SHIFT_STATE = 0;
private static final int MSG_PENDING_IMS_CALLBACK = 1;
private static final int MSG_UPDATE_SUGGESTION_STRIP = 2;
@@ -424,7 +423,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
}
// Has to be package-visible for unit tests
- /* package for test */
+ @UsedForTesting
void loadSettings() {
// Note that the calling sequence of onCreate() and onCurrentInputMethodSubtypeChanged()
// is not guaranteed. It may even be called at the same time on a different thread.
@@ -438,7 +437,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
}
};
mCurrentSettings = job.runInLocale(mResources, mSubtypeSwitcher.getCurrentSubtypeLocale());
- mFeedbackManager = new AudioAndHapticFeedbackManager(this, mCurrentSettings);
resetContactsDictionary(null == mSuggest ? null : mSuggest.getContactsDictionary());
}
@@ -715,11 +713,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mSpaceState = SPACE_STATE_NONE;
if (mSuggestionStripView != null) {
- mSuggestionStripView.clear();
+ // This will set the punctuation suggestions if next word suggestion is off;
+ // otherwise it will clear the suggestion strip.
+ setPunctuationSuggestions();
}
}
- mConnection.resetCachesUponCursorMove(mLastSelectionStart);
+ mConnection.resetCachesUponCursorMove(editorInfo.initialSelStart);
if (isDifferentTextField) {
mainKeyboardView.closing();
@@ -856,16 +856,25 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// TODO: the following is probably better done in resetEntireInputState().
// it should only happen when the cursor moved, and the very purpose of the
// test below is to narrow down whether this happened or not. Likewise with
- // the call to postUpdateShiftState.
+ // the call to updateShiftState.
// We set this to NONE because after a cursor move, we don't want the space
// state-related special processing to kick in.
mSpaceState = SPACE_STATE_NONE;
if ((!mWordComposer.isComposingWord()) || selectionChanged || noComposingSpan) {
+ // If we are composing a word and moving the cursor, we would want to set a
+ // suggestion span for recorrection to work correctly. Unfortunately, that
+ // would involve the keyboard committing some new text, which would move the
+ // cursor back to where it was. Latin IME could then fix the position of the cursor
+ // again, but the asynchronous nature of the calls results in this wreaking havoc
+ // with selection on double tap and the like.
+ // Another option would be to send suggestions each time we set the composing
+ // text, but that is probably too expensive to do, so we decided to leave things
+ // as is.
resetEntireInputState(newSelStart);
}
- mHandler.postUpdateShiftState();
+ mKeyboardSwitcher.updateShiftState();
}
mExpectingUpdateSelection = false;
// TODO: Decide to call restartSuggestionsOnWordBeforeCursorIfAtEndOfWord() or not
@@ -1052,7 +1061,16 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// Reread resource value here, because this method is called by framework anytime as needed.
final boolean isFullscreenModeAllowed =
mCurrentSettings.isFullscreenModeAllowed(getResources());
- return super.onEvaluateFullscreenMode() && isFullscreenModeAllowed;
+ if (super.onEvaluateFullscreenMode() && isFullscreenModeAllowed) {
+ // TODO: Remove this hack. Actually we should not really assume NO_EXTRACT_UI
+ // implies NO_FULLSCREEN. However, the framework mistakenly does. i.e. NO_EXTRACT_UI
+ // without NO_FULLSCREEN doesn't work as expected. Because of this we need this
+ // hack for now. Let's get rid of this once the framework gets fixed.
+ final EditorInfo ei = getCurrentInputEditorInfo();
+ return !(ei != null && ((ei.imeOptions & EditorInfo.IME_FLAG_NO_EXTRACT_UI) != 0));
+ } else {
+ return false;
+ }
}
@Override
@@ -1085,13 +1103,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
private void commitTyped(final String separatorString) {
if (!mWordComposer.isComposingWord()) return;
- final CharSequence typedWord = mWordComposer.getTypedWord();
+ final String typedWord = mWordComposer.getTypedWord();
if (typedWord.length() > 0) {
- mConnection.commitText(typedWord, 1);
- final CharSequence prevWord = addToUserHistoryDictionary(typedWord);
- mLastComposedWord = mWordComposer.commitWord(
- LastComposedWord.COMMIT_TYPE_USER_TYPED_WORD, typedWord.toString(),
- separatorString, prevWord);
+ commitChosenWord(typedWord, LastComposedWord.COMMIT_TYPE_USER_TYPED_WORD,
+ separatorString);
}
}
@@ -1111,8 +1126,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// Factor in auto-caps and manual caps and compute the current caps mode.
private int getActualCapsMode() {
- final int manual = mKeyboardSwitcher.getManualCapsMode();
- if (manual != WordComposer.CAPS_MODE_OFF) return manual;
+ final int keyboardShiftMode = mKeyboardSwitcher.getKeyboardShiftMode();
+ if (keyboardShiftMode != WordComposer.CAPS_MODE_AUTO_SHIFTED) return keyboardShiftMode;
final int auto = getCurrentAutoCapsState();
if (0 != (auto & TextUtils.CAP_MODE_CHARACTERS)) {
return WordComposer.CAPS_MODE_AUTO_SHIFT_LOCKED;
@@ -1125,7 +1140,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
CharSequence lastTwo = mConnection.getTextBeforeCursor(2, 0);
// It is guaranteed lastTwo.charAt(1) is a swapper - else this method is not called.
if (lastTwo != null && lastTwo.length() == 2
- && lastTwo.charAt(0) == Keyboard.CODE_SPACE) {
+ && lastTwo.charAt(0) == Constants.CODE_SPACE) {
mConnection.deleteSurroundingText(2, 0);
mConnection.commitText(lastTwo.charAt(1) + " ", 1);
if (ProductionFlag.IS_EXPERIMENTAL) {
@@ -1141,8 +1156,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
final CharSequence lastThree = mConnection.getTextBeforeCursor(3, 0);
if (lastThree != null && lastThree.length() == 3
&& canBeFollowedByPeriod(lastThree.charAt(0))
- && lastThree.charAt(1) == Keyboard.CODE_SPACE
- && lastThree.charAt(2) == Keyboard.CODE_SPACE) {
+ && lastThree.charAt(1) == Constants.CODE_SPACE
+ && lastThree.charAt(2) == Constants.CODE_SPACE) {
mHandler.cancelDoubleSpacesTimer();
mConnection.deleteSurroundingText(2, 0);
mConnection.commitText(". ", 1);
@@ -1156,12 +1171,12 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// TODO: Check again whether there really ain't a better way to check this.
// TODO: This should probably be language-dependant...
return Character.isLetterOrDigit(codePoint)
- || codePoint == Keyboard.CODE_SINGLE_QUOTE
- || codePoint == Keyboard.CODE_DOUBLE_QUOTE
- || codePoint == Keyboard.CODE_CLOSING_PARENTHESIS
- || codePoint == Keyboard.CODE_CLOSING_SQUARE_BRACKET
- || codePoint == Keyboard.CODE_CLOSING_CURLY_BRACKET
- || codePoint == Keyboard.CODE_CLOSING_ANGLE_BRACKET;
+ || codePoint == Constants.CODE_SINGLE_QUOTE
+ || codePoint == Constants.CODE_DOUBLE_QUOTE
+ || codePoint == Constants.CODE_CLOSING_PARENTHESIS
+ || codePoint == Constants.CODE_CLOSING_SQUARE_BRACKET
+ || codePoint == Constants.CODE_CLOSING_CURLY_BRACKET
+ || codePoint == Constants.CODE_CLOSING_ANGLE_BRACKET;
}
// Callback for the {@link SuggestionStripView}, to call when the "add to dictionary" hint is
@@ -1211,22 +1226,25 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mConnection.performEditorAction(actionId);
}
+ // TODO: Revise the language switch key behavior to make it much smarter and more reasonable.
private void handleLanguageSwitchKey() {
- final boolean includesOtherImes = mCurrentSettings.mIncludesOtherImesInLanguageSwitchList;
final IBinder token = getWindow().getWindow().getAttributes().token;
+ if (mCurrentSettings.mIncludesOtherImesInLanguageSwitchList) {
+ mImm.switchToNextInputMethod(token, false /* onlyCurrentIme */);
+ return;
+ }
if (mShouldSwitchToLastSubtype) {
final InputMethodSubtype lastSubtype = mImm.getLastInputMethodSubtype();
final boolean lastSubtypeBelongsToThisIme =
ImfUtils.checkIfSubtypeBelongsToThisImeAndEnabled(this, lastSubtype);
- if ((includesOtherImes || lastSubtypeBelongsToThisIme)
- && mImm.switchToLastInputMethod(token)) {
+ if (lastSubtypeBelongsToThisIme && mImm.switchToLastInputMethod(token)) {
mShouldSwitchToLastSubtype = false;
} else {
- mImm.switchToNextInputMethod(token, !includesOtherImes);
+ mImm.switchToNextInputMethod(token, true /* onlyCurrentIme */);
mShouldSwitchToLastSubtype = true;
}
} else {
- mImm.switchToNextInputMethod(token, !includesOtherImes);
+ mImm.switchToNextInputMethod(token, true /* onlyCurrentIme */);
}
}
@@ -1253,7 +1271,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// 16 is android.os.Build.VERSION_CODES.JELLY_BEAN but we can't write it because
// we want to be able to compile against the Ice Cream Sandwich SDK.
- if (Keyboard.CODE_ENTER == code && mTargetApplicationInfo != null
+ if (Constants.CODE_ENTER == code && mTargetApplicationInfo != null
&& mTargetApplicationInfo.targetSdkVersion < 16) {
// Backward compatibility mode. Before Jelly bean, the keyboard would simulate
// a hardware keyboard event on pressing enter or delete. This is bad for many
@@ -1270,7 +1288,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
@Override
public void onCodeInput(final int primaryCode, final int x, final int y) {
final long when = SystemClock.uptimeMillis();
- if (primaryCode != Keyboard.CODE_DELETE || when > mLastKeyTime + QUICK_PRESS) {
+ if (primaryCode != Constants.CODE_DELETE || when > mLastKeyTime + QUICK_PRESS) {
mDeleteCount = 0;
}
mLastKeyTime = when;
@@ -1285,13 +1303,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (!mWordComposer.isComposingWord()) mIsAutoCorrectionIndicatorOn = false;
// TODO: Consolidate the double space timer, mLastKeyTime, and the space state.
- if (primaryCode != Keyboard.CODE_SPACE) {
+ if (primaryCode != Constants.CODE_SPACE) {
mHandler.cancelDoubleSpacesTimer();
}
boolean didAutoCorrect = false;
switch (primaryCode) {
- case Keyboard.CODE_DELETE:
+ case Constants.CODE_DELETE:
mSpaceState = SPACE_STATE_NONE;
handleBackspace(spaceState);
mDeleteCount++;
@@ -1299,29 +1317,29 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mShouldSwitchToLastSubtype = true;
LatinImeLogger.logOnDelete(x, y);
break;
- case Keyboard.CODE_SHIFT:
- case Keyboard.CODE_SWITCH_ALPHA_SYMBOL:
+ case Constants.CODE_SHIFT:
+ case Constants.CODE_SWITCH_ALPHA_SYMBOL:
// Shift and symbol key is handled in onPressKey() and onReleaseKey().
break;
- case Keyboard.CODE_SETTINGS:
+ case Constants.CODE_SETTINGS:
onSettingsKeyPressed();
break;
- case Keyboard.CODE_SHORTCUT:
+ case Constants.CODE_SHORTCUT:
mSubtypeSwitcher.switchToShortcutIME(this);
break;
- case Keyboard.CODE_ACTION_ENTER:
+ case Constants.CODE_ACTION_ENTER:
performEditorAction(getActionId(switcher.getKeyboard()));
break;
- case Keyboard.CODE_ACTION_NEXT:
+ case Constants.CODE_ACTION_NEXT:
performEditorAction(EditorInfo.IME_ACTION_NEXT);
break;
- case Keyboard.CODE_ACTION_PREVIOUS:
+ case Constants.CODE_ACTION_PREVIOUS:
performEditorAction(EditorInfo.IME_ACTION_PREVIOUS);
break;
- case Keyboard.CODE_LANGUAGE_SWITCH:
+ case Constants.CODE_LANGUAGE_SWITCH:
handleLanguageSwitchKey();
break;
- case Keyboard.CODE_RESEARCH:
+ case Constants.CODE_RESEARCH:
if (ProductionFlag.IS_EXPERIMENTAL) {
ResearchLogger.getInstance().onResearchKeySelected(this);
}
@@ -1357,10 +1375,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
}
switcher.onCodeInput(primaryCode);
// Reset after any single keystroke, except shift and symbol-shift
- if (!didAutoCorrect && primaryCode != Keyboard.CODE_SHIFT
- && primaryCode != Keyboard.CODE_SWITCH_ALPHA_SYMBOL)
+ if (!didAutoCorrect && primaryCode != Constants.CODE_SHIFT
+ && primaryCode != Constants.CODE_SWITCH_ALPHA_SYMBOL)
mLastComposedWord.deactivate();
- if (Keyboard.CODE_DELETE != primaryCode) {
+ if (Constants.CODE_DELETE != primaryCode) {
mEnteredText = null;
}
mConnection.endBatchEdit();
@@ -1371,7 +1389,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// Called from PointerTracker through the KeyboardActionListener interface
@Override
- public void onTextInput(final CharSequence rawText) {
+ public void onTextInput(final String rawText) {
mConnection.beginBatchEdit();
if (mWordComposer.isComposingWord()) {
commitCurrentAutoCorrection(rawText.toString());
@@ -1379,21 +1397,22 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
resetComposingState(true /* alsoResetLastComposedWord */);
}
mHandler.postUpdateSuggestionStrip();
- final CharSequence text = specificTldProcessingOnTextInput(rawText);
+ final String text = specificTldProcessingOnTextInput(rawText);
if (SPACE_STATE_PHANTOM == mSpaceState) {
- sendKeyCodePoint(Keyboard.CODE_SPACE);
+ sendKeyCodePoint(Constants.CODE_SPACE);
}
mConnection.commitText(text, 1);
mConnection.endBatchEdit();
// Space state must be updated before calling updateShiftState
mSpaceState = SPACE_STATE_NONE;
mKeyboardSwitcher.updateShiftState();
- mKeyboardSwitcher.onCodeInput(Keyboard.CODE_OUTPUT_TEXT);
+ mKeyboardSwitcher.onCodeInput(Constants.CODE_OUTPUT_TEXT);
mEnteredText = text;
}
@Override
public void onStartBatchInput() {
+ BatchInputUpdater.getInstance().onStartBatchInput();
mConnection.beginBatchEdit();
if (mWordComposer.isComposingWord()) {
if (ProductionFlag.IS_INTERNAL) {
@@ -1417,6 +1436,16 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// The following is necessary for the case where the user typed something but didn't
// manual pick it and didn't input any separator.
mSpaceState = SPACE_STATE_PHANTOM;
+ } else {
+ final int codePointBeforeCursor = mConnection.getCodePointBeforeCursor();
+ // TODO: reverse this logic. We should have the means to determine whether a character
+ // should usually be followed by a space, and it should be more readable.
+ if (Constants.NOT_A_CODE != codePointBeforeCursor
+ && !Character.isWhitespace(codePointBeforeCursor)
+ && !mCurrentSettings.isPhantomSpacePromotingSymbol(codePointBeforeCursor)
+ && !mCurrentSettings.isWeakSpaceStripper(codePointBeforeCursor)) {
+ mSpaceState = SPACE_STATE_PHANTOM;
+ }
}
mConnection.endBatchEdit();
mWordComposer.setCapitalizedModeAtStartComposingTime(getActualCapsMode());
@@ -1425,6 +1454,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
private static final class BatchInputUpdater implements Handler.Callback {
private final Handler mHandler;
private LatinIME mLatinIme;
+ private boolean mInBatchInput; // synchornized using "this".
private BatchInputUpdater() {
final HandlerThread handlerThread = new HandlerThread(
@@ -1448,17 +1478,32 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
public boolean handleMessage(final Message msg) {
switch (msg.what) {
case MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP:
- final SuggestedWords suggestedWords = getSuggestedWordsGesture(
- (InputPointers)msg.obj, mLatinIme);
- showGesturePreviewAndSuggestionStrip(
- suggestedWords, false /* dismissGestureFloatingPreviewText */, mLatinIme);
+ updateBatchInput((InputPointers)msg.obj, mLatinIme);
break;
}
return true;
}
- public void updateGesturePreviewAndSuggestionStrip(final InputPointers batchPointers,
+ // Run in the UI thread.
+ public synchronized void onStartBatchInput() {
+ mInBatchInput = true;
+ }
+
+ // Run in the Handler thread.
+ private synchronized void updateBatchInput(final InputPointers batchPointers,
final LatinIME latinIme) {
+ if (!mInBatchInput) {
+ // Batch input has ended while the message was being delivered.
+ return;
+ }
+ final SuggestedWords suggestedWords = getSuggestedWordsGestureLocked(
+ batchPointers, latinIme);
+ latinIme.mHandler.showGesturePreviewAndSuggestionStrip(
+ suggestedWords, false /* dismissGestureFloatingPreviewText */);
+ }
+
+ // Run in the UI thread.
+ public void onUpdateBatchInput(final InputPointers batchPointers, final LatinIME latinIme) {
mLatinIme = latinIme;
if (mHandler.hasMessages(MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP)) {
return;
@@ -1468,15 +1513,20 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
.sendToTarget();
}
- public void showGesturePreviewAndSuggestionStrip(final SuggestedWords suggestedWords,
- final boolean dismissGestureFloatingPreviewText, final LatinIME latinIme) {
+ // Run in the UI thread.
+ public synchronized SuggestedWords onEndBatchInput(final InputPointers batchPointers,
+ final LatinIME latinIme) {
+ mInBatchInput = false;
+ final SuggestedWords suggestedWords = getSuggestedWordsGestureLocked(
+ batchPointers, latinIme);
latinIme.mHandler.showGesturePreviewAndSuggestionStrip(
- suggestedWords, dismissGestureFloatingPreviewText);
+ suggestedWords, true /* dismissGestureFloatingPreviewText */);
+ return suggestedWords;
}
// {@link LatinIME#getSuggestedWords(int)} method calls with same session id have to
// be synchronized.
- public synchronized SuggestedWords getSuggestedWordsGesture(
+ private static SuggestedWords getSuggestedWordsGestureLocked(
final InputPointers batchPointers, final LatinIME latinIme) {
latinIme.mWordComposer.setBatchInputPointers(batchPointers);
return latinIme.getSuggestedWords(Suggest.SESSION_GESTURE);
@@ -1485,8 +1535,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
private void showGesturePreviewAndSuggestionStrip(final SuggestedWords suggestedWords,
final boolean dismissGestureFloatingPreviewText) {
- final String batchInputText = (suggestedWords.size() > 0)
- ? suggestedWords.getWord(0) : null;
+ final String batchInputText = suggestedWords.isEmpty()
+ ? null : suggestedWords.getWord(0);
final KeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView();
mainKeyboardView.showGestureFloatingPreviewText(batchInputText);
showSuggestionStrip(suggestedWords, null);
@@ -1497,25 +1547,22 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
@Override
public void onUpdateBatchInput(final InputPointers batchPointers) {
- BatchInputUpdater.getInstance().updateGesturePreviewAndSuggestionStrip(batchPointers, this);
+ BatchInputUpdater.getInstance().onUpdateBatchInput(batchPointers, this);
}
@Override
public void onEndBatchInput(final InputPointers batchPointers) {
- final BatchInputUpdater batchInputUpdater = BatchInputUpdater.getInstance();
- final SuggestedWords suggestedWords = batchInputUpdater.getSuggestedWordsGesture(
+ final SuggestedWords suggestedWords = BatchInputUpdater.getInstance().onEndBatchInput(
batchPointers, this);
- batchInputUpdater.showGesturePreviewAndSuggestionStrip(
- suggestedWords, true /* dismissGestureFloatingPreviewText */, this);
- final String batchInputText = (suggestedWords.size() > 0)
- ? suggestedWords.getWord(0) : null;
+ final String batchInputText = suggestedWords.isEmpty()
+ ? null : suggestedWords.getWord(0);
if (TextUtils.isEmpty(batchInputText)) {
return;
}
mWordComposer.setBatchInputWord(batchInputText);
mConnection.beginBatchEdit();
if (SPACE_STATE_PHANTOM == mSpaceState) {
- sendKeyCodePoint(Keyboard.CODE_SPACE);
+ sendKeyCodePoint(Constants.CODE_SPACE);
}
mConnection.setComposingText(batchInputText, 1);
mExpectingUpdateSelection = true;
@@ -1525,8 +1572,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mKeyboardSwitcher.updateShiftState();
}
- private CharSequence specificTldProcessingOnTextInput(final CharSequence text) {
- if (text.length() <= 1 || text.charAt(0) != Keyboard.CODE_PERIOD
+ private String specificTldProcessingOnTextInput(final String text) {
+ if (text.length() <= 1 || text.charAt(0) != Constants.CODE_PERIOD
|| !Character.isLetter(text.charAt(1))) {
// Not a tld: do nothing.
return text;
@@ -1534,10 +1581,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// We have a TLD (or something that looks like this): make sure we don't add
// a space even if currently in phantom mode.
mSpaceState = SPACE_STATE_NONE;
+ // TODO: use getCodePointBeforeCursor instead to improve performance and simplify the code
final CharSequence lastOne = mConnection.getTextBeforeCursor(1, 0);
if (lastOne != null && lastOne.length() == 1
- && lastOne.charAt(0) == Keyboard.CODE_PERIOD) {
- return text.subSequence(1, text.length());
+ && lastOne.charAt(0) == Constants.CODE_PERIOD) {
+ return text.substring(1);
} else {
return text;
}
@@ -1551,7 +1599,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
}
private void handleBackspace(final int spaceState) {
- // In many cases, we may have to put the keyboard in auto-shift state again.
+ // In many cases, we may have to put the keyboard in auto-shift state again. However
+ // we want to wait a few milliseconds before doing it to avoid the keyboard flashing
+ // during key repeat.
mHandler.postUpdateShiftState();
if (mWordComposer.isComposingWord()) {
@@ -1639,7 +1689,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
private boolean maybeStripSpace(final int code,
final int spaceState, final boolean isFromSuggestionStrip) {
- if (Keyboard.CODE_ENTER == code && SPACE_STATE_SWAP_PUNCTUATION == spaceState) {
+ if (Constants.CODE_ENTER == code && SPACE_STATE_SWAP_PUNCTUATION == spaceState) {
mConnection.removeTrailingSpace();
return false;
} else if ((SPACE_STATE_WEAK == spaceState
@@ -1668,7 +1718,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// Sanity check
throw new RuntimeException("Should not be composing here");
}
- sendKeyCodePoint(Keyboard.CODE_SPACE);
+ sendKeyCodePoint(Constants.CODE_SPACE);
}
// NOTE: isCursorTouchingWord() is a blocking IPC call, so it often takes several
@@ -1682,7 +1732,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// the character is a single quote. The idea here is, single quote is not a
// separator and it should be treated as a normal character, except in the first
// position where it should not start composing a word.
- isComposingWord = (Keyboard.CODE_SINGLE_QUOTE != primaryCode);
+ isComposingWord = (Constants.CODE_SINGLE_QUOTE != primaryCode);
// Here we don't need to reset the last composed word. It will be reset
// when we commit this one, if we ever do; if on the other hand we backspace
// it entirely and resume suggestions on the previous word, we'd like to still
@@ -1691,15 +1741,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
}
if (isComposingWord) {
final int keyX, keyY;
- if (KeyboardActionListener.Adapter.isInvalidCoordinate(x)
- || KeyboardActionListener.Adapter.isInvalidCoordinate(y)) {
- keyX = x;
- keyY = y;
- } else {
+ if (Constants.isValidCoordinate(x) && Constants.isValidCoordinate(y)) {
final KeyDetector keyDetector =
mKeyboardSwitcher.getMainKeyboardView().getKeyDetector();
keyX = keyDetector.getTouchX(x);
keyY = keyDetector.getTouchY(y);
+ } else {
+ keyX = x;
+ keyY = y;
}
mWordComposer.add(primaryCode, keyX, keyY);
// If it's the first letter, make note of auto-caps state
@@ -1746,11 +1795,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (SPACE_STATE_PHANTOM == spaceState &&
mCurrentSettings.isPhantomSpacePromotingSymbol(primaryCode)) {
- sendKeyCodePoint(Keyboard.CODE_SPACE);
+ sendKeyCodePoint(Constants.CODE_SPACE);
}
sendKeyCodePoint(primaryCode);
- if (Keyboard.CODE_SPACE == primaryCode) {
+ if (Constants.CODE_SPACE == primaryCode) {
if (mCurrentSettings.isSuggestionsRequested(mDisplayOrientation)) {
if (maybeDoubleSpace()) {
mSpaceState = SPACE_STATE_DOUBLE;
@@ -1791,11 +1840,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
Utils.Stats.onSeparator((char)primaryCode, x, y);
}
- mHandler.postUpdateShiftState();
+ mKeyboardSwitcher.updateShiftState();
return didAutoCorrect;
}
- private CharSequence getTextWithUnderline(final CharSequence text) {
+ private CharSequence getTextWithUnderline(final String text) {
return mIsAutoCorrectionIndicatorOn
? SuggestionSpanUtils.getTextWithAutoCorrectionIndicatorUnderline(this, text)
: text;
@@ -1812,7 +1861,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// TODO: make this private
// Outside LatinIME, only used by the test suite.
- /* package for tests */
+ @UsedForTesting
boolean isShowingPunctuationList() {
if (mSuggestionStripView == null) return false;
return mCurrentSettings.mSuggestPuncList == mSuggestionStripView.getSuggestions();
@@ -1849,6 +1898,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mIsAutoCorrectionIndicatorOn = newAutoCorrectionIndicator;
final CharSequence textWithUnderline =
getTextWithUnderline(mWordComposer.getTypedWord());
+ // TODO: when called from an updateSuggestionStrip() call that results from a posted
+ // message, this is called outside any batch edit. Potentially, this may result in some
+ // janky flickering of the screen, although the display speed makes it unlikely in
+ // the practice.
mConnection.setComposingText(textWithUnderline, 1);
}
}
@@ -1877,21 +1930,25 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
}
private SuggestedWords getSuggestedWords(final int sessionId) {
+ final Keyboard keyboard = mKeyboardSwitcher.getKeyboard();
+ if (keyboard == null || mSuggest == null) {
+ return SuggestedWords.EMPTY;
+ }
final String typedWord = mWordComposer.getTypedWord();
// Get the word on which we should search the bigrams. If we are composing a word, it's
// whatever is *before* the half-committed word in the buffer, hence 2; if we aren't, we
// should just skip whitespace if any, so 1.
// TODO: this is slow (2-way IPC) - we should probably cache this instead.
- final CharSequence prevWord =
+ final String prevWord =
mConnection.getNthPreviousWord(mCurrentSettings.mWordSeparators,
mWordComposer.isComposingWord() ? 2 : 1);
final SuggestedWords suggestedWords = mSuggest.getSuggestedWords(mWordComposer,
- prevWord, mKeyboardSwitcher.getKeyboard().getProximityInfo(),
- mCurrentSettings.mCorrectionEnabled, sessionId);
+ prevWord, keyboard.getProximityInfo(), mCurrentSettings.mCorrectionEnabled,
+ sessionId);
return maybeRetrieveOlderSuggestions(typedWord, suggestedWords);
}
- private SuggestedWords maybeRetrieveOlderSuggestions(final CharSequence typedWord,
+ private SuggestedWords maybeRetrieveOlderSuggestions(final String typedWord,
final SuggestedWords suggestedWords) {
// TODO: consolidate this into getSuggestedWords
// We update the suggestion strip only when we have some suggestions to show, i.e. when
@@ -1921,21 +1978,16 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
}
}
- private void showSuggestionStrip(final SuggestedWords suggestedWords,
- final CharSequence typedWord) {
- if (null == suggestedWords || suggestedWords.size() <= 0) {
+ private void showSuggestionStrip(final SuggestedWords suggestedWords, final String typedWord) {
+ if (suggestedWords.isEmpty()) {
clearSuggestionStrip();
return;
}
- final CharSequence autoCorrection;
- if (suggestedWords.size() > 0) {
- if (suggestedWords.mWillAutoCorrect) {
- autoCorrection = suggestedWords.getWord(1);
- } else {
- autoCorrection = typedWord;
- }
+ final String autoCorrection;
+ if (suggestedWords.mWillAutoCorrect) {
+ autoCorrection = suggestedWords.getWord(1);
} else {
- autoCorrection = null;
+ autoCorrection = typedWord;
}
mWordComposer.setAutoCorrection(autoCorrection);
final boolean isAutoCorrection = suggestedWords.willAutoCorrect();
@@ -1949,9 +2001,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (mHandler.hasPendingUpdateSuggestions()) {
updateSuggestionStrip();
}
- final CharSequence typedAutoCorrection = mWordComposer.getAutoCorrectionOrNull();
+ final String typedAutoCorrection = mWordComposer.getAutoCorrectionOrNull();
final String typedWord = mWordComposer.getTypedWord();
- final CharSequence autoCorrection = (typedAutoCorrection != null)
+ final String autoCorrection = (typedAutoCorrection != null)
? typedAutoCorrection : typedWord;
if (autoCorrection != null) {
if (TextUtils.isEmpty(typedWord)) {
@@ -1982,7 +2034,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// Called from {@link SuggestionStripView} through the {@link SuggestionStripView#Listener}
// interface
@Override
- public void pickSuggestionManually(final int index, final CharSequence suggestion) {
+ public void pickSuggestionManually(final int index, final String suggestion) {
final SuggestedWords suggestedWords = mSuggestionStripView.getSuggestions();
// If this is a punctuation picked from the suggestion strip, pass it to onCodeInput
if (suggestion.length() == 1 && isShowingPunctuationList()) {
@@ -2007,7 +2059,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
int firstChar = Character.codePointAt(suggestion, 0);
if ((!mCurrentSettings.isWeakSpaceStripper(firstChar))
&& (!mCurrentSettings.isWeakSpaceSwapper(firstChar))) {
- sendKeyCodePoint(Keyboard.CODE_SPACE);
+ sendKeyCodePoint(Constants.CODE_SPACE);
}
}
@@ -2052,7 +2104,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
&& !AutoCorrection.isValidWord(mSuggest.getUnigramDictionaries(), suggestion, true);
if (ProductionFlag.IS_INTERNAL) {
- Stats.onSeparator((char)Keyboard.CODE_SPACE,
+ Stats.onSeparator((char)Constants.CODE_SPACE,
Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE);
}
if (showingAddToDictionaryHint && mIsUserDictionaryAvailable) {
@@ -2067,13 +2119,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
/**
* Commits the chosen word to the text field and saves it for later retrieval.
*/
- private void commitChosenWord(final CharSequence chosenWord, final int commitType,
+ private void commitChosenWord(final String chosenWord, final int commitType,
final String separatorString) {
final SuggestedWords suggestedWords = mSuggestionStripView.getSuggestions();
mConnection.commitText(SuggestionSpanUtils.getTextWithSuggestionSpan(
this, chosenWord, suggestedWords, mIsMainDictionaryAvailable), 1);
// Add the word to the user history dictionary
- final CharSequence prevWord = addToUserHistoryDictionary(chosenWord);
+ final String prevWord = addToUserHistoryDictionary(chosenWord);
// TODO: figure out here if this is an auto-correct or if the best word is actually
// what user typed. Note: currently this is done much later in
// LastComposedWord#didCommitTypedWord by string equality of the remembered
@@ -2092,7 +2144,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
setSuggestionStripShown(isSuggestionsStripVisible());
}
- private CharSequence addToUserHistoryDictionary(final CharSequence suggestion) {
+ private String addToUserHistoryDictionary(final String suggestion) {
if (TextUtils.isEmpty(suggestion)) return null;
if (mSuggest == null) return null;
@@ -2107,19 +2159,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
= mConnection.getNthPreviousWord(mCurrentSettings.mWordSeparators, 2);
final String secondWord;
if (mWordComposer.wasAutoCapitalized() && !mWordComposer.isMostlyCaps()) {
- secondWord = suggestion.toString().toLowerCase(
- mSubtypeSwitcher.getCurrentSubtypeLocale());
+ secondWord = suggestion.toLowerCase(mSubtypeSwitcher.getCurrentSubtypeLocale());
} else {
- secondWord = suggestion.toString();
+ secondWord = suggestion;
}
// We demote unrecognized words (frequency < 0, below) by specifying them as "invalid".
// We don't add words with 0-frequency (assuming they would be profanity etc.).
final int maxFreq = AutoCorrection.getMaxFrequency(
mSuggest.getUnigramDictionaries(), suggestion);
if (maxFreq == 0) return null;
- userHistoryDictionary.addToUserHistory(null == prevWord ? null : prevWord.toString(),
- secondWord, maxFreq > 0);
- return prevWord;
+ final String prevWordString = (null == prevWord) ? null : prevWord.toString();
+ userHistoryDictionary.addToUserHistory(prevWordString, secondWord, maxFreq > 0);
+ return prevWordString;
}
return null;
}
@@ -2144,9 +2195,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
}
private void revertCommit() {
- final CharSequence previousWord = mLastComposedWord.mPrevWord;
+ final String previousWord = mLastComposedWord.mPrevWord;
final String originallyTypedWord = mLastComposedWord.mTypedWord;
- final CharSequence committedWord = mLastComposedWord.mCommittedWord;
+ final String committedWord = mLastComposedWord.mCommittedWord;
final int cancelLength = committedWord.length();
final int separatorLength = LastComposedWord.getSeparatorLength(
mLastComposedWord.mSeparatorString);
@@ -2156,9 +2207,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (mWordComposer.isComposingWord()) {
throw new RuntimeException("revertCommit, but we are composing a word");
}
- final String wordBeforeCursor =
+ final CharSequence wordBeforeCursor =
mConnection.getTextBeforeCursor(deleteLength, 0)
- .subSequence(0, cancelLength).toString();
+ .subSequence(0, cancelLength);
if (!TextUtils.equals(committedWord, wordBeforeCursor)) {
throw new RuntimeException("revertCommit check failed: we thought we were "
+ "reverting \"" + committedWord
@@ -2192,7 +2243,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// TODO: Make this private
// Outside LatinIME, only used by the {@link InputTestsBase} test suite.
- /* package for test */
+ @UsedForTesting
void loadKeyboard() {
// When the device locale is changed in SetupWizard etc., this method may get called via
// onConfigurationChanged before SoftInputWindow is shown.
@@ -2208,13 +2259,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mHandler.postUpdateSuggestionStrip();
}
- // TODO: Remove this method from {@link LatinIME} and move {@link FeedbackManager} to
- // {@link KeyboardSwitcher}. Called from KeyboardSwitcher
- public void hapticAndAudioFeedback(final int primaryCode) {
- mFeedbackManager.hapticAndAudioFeedback(
- primaryCode, mKeyboardSwitcher.getMainKeyboardView());
- }
-
// Callback called by PointerTracker through the KeyboardActionListener. This is called when a
// key is depressed; release matching call is onReleaseKey below.
@Override
@@ -2231,19 +2275,20 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// If accessibility is on, ensure the user receives keyboard state updates.
if (AccessibilityUtils.getInstance().isTouchExplorationEnabled()) {
switch (primaryCode) {
- case Keyboard.CODE_SHIFT:
+ case Constants.CODE_SHIFT:
AccessibleKeyboardViewProxy.getInstance().notifyShiftState();
break;
- case Keyboard.CODE_SWITCH_ALPHA_SYMBOL:
+ case Constants.CODE_SWITCH_ALPHA_SYMBOL:
AccessibleKeyboardViewProxy.getInstance().notifySymbolsState();
break;
}
}
- if (Keyboard.CODE_DELETE == primaryCode) {
+ if (Constants.CODE_DELETE == primaryCode) {
// This is a stopgap solution to avoid leaving a high surrogate alone in a text view.
// In the future, we need to deprecate deteleSurroundingText() and have a surrogate
// pair-friendly way of deleting characters in InputConnection.
+ // TODO: use getCodePointBeforeCursor instead to improve performance
final CharSequence lastChar = mConnection.getTextBeforeCursor(1, 0);
if (!TextUtils.isEmpty(lastChar) && Character.isHighSurrogate(lastChar.charAt(0))) {
mConnection.deleteSurroundingText(1, 0);
@@ -2259,7 +2304,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
mSubtypeSwitcher.onNetworkStateChanged(intent);
} else if (action.equals(AudioManager.RINGER_MODE_CHANGED_ACTION)) {
- mFeedbackManager.onRingerModeChanged();
+ mKeyboardSwitcher.onRingerModeChanged();
}
}
};
diff --git a/java/src/com/android/inputmethod/latin/LatinImeLogger.java b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
index 9eab19c49..394a9c7aa 100644
--- a/java/src/com/android/inputmethod/latin/LatinImeLogger.java
+++ b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
@@ -21,7 +21,7 @@ import android.view.inputmethod.EditorInfo;
import com.android.inputmethod.keyboard.Keyboard;
-public class LatinImeLogger implements SharedPreferences.OnSharedPreferenceChangeListener {
+public final class LatinImeLogger implements SharedPreferences.OnSharedPreferenceChangeListener {
public static boolean sDBG = false;
public static boolean sVISUALDEBUG = false;
diff --git a/java/src/com/android/inputmethod/latin/ResizableIntArray.java b/java/src/com/android/inputmethod/latin/ResizableIntArray.java
index c660f92c4..9a46f160b 100644
--- a/java/src/com/android/inputmethod/latin/ResizableIntArray.java
+++ b/java/src/com/android/inputmethod/latin/ResizableIntArray.java
@@ -19,7 +19,7 @@ package com.android.inputmethod.latin;
import java.util.Arrays;
// TODO: This class is not thread-safe.
-public class ResizableIntArray {
+public final class ResizableIntArray {
private int[] mArray;
private int mLength;
diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java
index 28c0c0f16..53aabd9e8 100644
--- a/java/src/com/android/inputmethod/latin/RichInputConnection.java
+++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java
@@ -26,7 +26,6 @@ import android.view.inputmethod.ExtractedText;
import android.view.inputmethod.ExtractedTextRequest;
import android.view.inputmethod.InputConnection;
-import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.latin.define.ProductionFlag;
import com.android.inputmethod.research.ResearchLogger;
@@ -41,10 +40,11 @@ import java.util.regex.Pattern;
* all the time to find out what text is in the buffer, when we need it to determine caps mode
* for example.
*/
-public class RichInputConnection {
+public final class RichInputConnection {
private static final String TAG = RichInputConnection.class.getSimpleName();
private static final boolean DBG = false;
private static final boolean DEBUG_PREVIOUS_TEXT = false;
+ private static final boolean DEBUG_BATCH_NESTING = false;
// Provision for a long word pair and a separator
private static final int LOOKBACK_CHARACTER_NUM = BinaryDictionary.MAX_WORD_LENGTH * 2 + 1;
private static final Pattern spaceRegex = Pattern.compile("\\s+");
@@ -128,7 +128,7 @@ public class RichInputConnection {
Log.e(TAG, "Nest level too deep : " + mNestLevel);
}
}
- checkBatchEdit();
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug();
}
@@ -163,7 +163,11 @@ public class RichInputConnection {
}
public void finishComposingText() {
+<<<<<<< HEAD
checkBatchEdit();
+=======
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
+>>>>>>> goog/master
if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug();
mCommittedTextBeforeComposingText.append(mComposingText);
mCurrentCursorPosition += mComposingText.length();
@@ -177,7 +181,11 @@ public class RichInputConnection {
}
public void commitText(final CharSequence text, final int i) {
+<<<<<<< HEAD
checkBatchEdit();
+=======
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
+>>>>>>> goog/master
if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug();
mCommittedTextBeforeComposingText.append(text);
mCurrentCursorPosition += text.length() - mComposingText.length();
@@ -234,7 +242,14 @@ public class RichInputConnection {
hasSpaceBefore);
}
+ public int getCodePointBeforeCursor() {
+ if (mCommittedTextBeforeComposingText.length() < 1) return Constants.NOT_A_CODE;
+ return Character.codePointBefore(mCommittedTextBeforeComposingText,
+ mCommittedTextBeforeComposingText.length());
+ }
+
public CharSequence getTextBeforeCursor(final int i, final int j) {
+ // TODO: use mCommittedTextBeforeComposingText if possible to improve performance
mIC = mParent.getCurrentInputConnection();
if (null != mIC) return mIC.getTextBeforeCursor(i, j);
return null;
@@ -247,7 +262,11 @@ public class RichInputConnection {
}
public void deleteSurroundingText(final int i, final int j) {
+<<<<<<< HEAD
checkBatchEdit();
+=======
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
+>>>>>>> goog/master
final int remainingChars = mComposingText.length() - i;
if (remainingChars >= 0) {
mComposingText.setLength(remainingChars);
@@ -283,7 +302,11 @@ public class RichInputConnection {
}
public void sendKeyEvent(final KeyEvent keyEvent) {
+<<<<<<< HEAD
checkBatchEdit();
+=======
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
+>>>>>>> goog/master
if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug();
// This method is only called for enter or backspace when speaking to old
@@ -331,7 +354,11 @@ public class RichInputConnection {
}
public void setComposingText(final CharSequence text, final int i) {
+<<<<<<< HEAD
checkBatchEdit();
+=======
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
+>>>>>>> goog/master
if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug();
mCurrentCursorPosition += text.length() - mComposingText.length();
mComposingText.setLength(0);
@@ -347,7 +374,11 @@ public class RichInputConnection {
}
public void setSelection(final int from, final int to) {
+<<<<<<< HEAD
checkBatchEdit();
+=======
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
+>>>>>>> goog/master
if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug();
if (null != mIC) {
mIC.setSelection(from, to);
@@ -361,7 +392,11 @@ public class RichInputConnection {
}
public void commitCorrection(final CorrectionInfo correctionInfo) {
+<<<<<<< HEAD
checkBatchEdit();
+=======
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
+>>>>>>> goog/master
if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug();
// This has no effect on the text field and does not change its content. It only makes
// TextView flash the text for a second based on indices contained in the argument.
@@ -375,7 +410,11 @@ public class RichInputConnection {
}
public void commitCompletion(final CompletionInfo completionInfo) {
+<<<<<<< HEAD
checkBatchEdit();
+=======
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
+>>>>>>> goog/master
if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug();
final CharSequence text = completionInfo.getText();
mCommittedTextBeforeComposingText.append(text);
@@ -390,7 +429,7 @@ public class RichInputConnection {
if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug();
}
- public CharSequence getNthPreviousWord(final String sentenceSeperators, final int n) {
+ public String getNthPreviousWord(final String sentenceSeperators, final int n) {
mIC = mParent.getCurrentInputConnection();
if (null == mIC) return null;
final CharSequence prev = mIC.getTextBeforeCursor(LOOKBACK_CHARACTER_NUM, 0);
@@ -415,7 +454,7 @@ public class RichInputConnection {
/**
* Represents a range of text, relative to the current cursor position.
*/
- public static class Range {
+ public static final class Range {
/** Characters before selection start */
public final int mCharsBefore;
@@ -458,19 +497,22 @@ public class RichInputConnection {
// (n = 2) "abc|" -> null
// (n = 2) "abc |" -> null
// (n = 2) "abc. def|" -> null
- public static CharSequence getNthPreviousWord(final CharSequence prev,
+ public static String getNthPreviousWord(final CharSequence prev,
final String sentenceSeperators, final int n) {
if (prev == null) return null;
- String[] w = spaceRegex.split(prev);
+ final String[] w = spaceRegex.split(prev);
// If we can't find n words, or we found an empty word, return null.
- if (w.length < n || w[w.length - n].length() <= 0) return null;
+ if (w.length < n) return null;
+ final String nthPrevWord = w[w.length - n];
+ final int length = nthPrevWord.length();
+ if (length <= 0) return null;
// If ends in a separator, return null
- char lastChar = w[w.length - n].charAt(w[w.length - n].length() - 1);
+ final char lastChar = nthPrevWord.charAt(length - 1);
if (sentenceSeperators.contains(String.valueOf(lastChar))) return null;
- return w[w.length - n];
+ return nthPrevWord;
}
/**
@@ -503,19 +545,20 @@ public class RichInputConnection {
* be included in the returned range
* @return a range containing the text surrounding the cursor
*/
- public Range getWordRangeAtCursor(String sep, int additionalPrecedingWordsCount) {
+ public Range getWordRangeAtCursor(final String sep, final int additionalPrecedingWordsCount) {
mIC = mParent.getCurrentInputConnection();
if (mIC == null || sep == null) {
return null;
}
- CharSequence before = mIC.getTextBeforeCursor(1000, 0);
- CharSequence after = mIC.getTextAfterCursor(1000, 0);
+ final CharSequence before = mIC.getTextBeforeCursor(1000, 0);
+ final CharSequence after = mIC.getTextAfterCursor(1000, 0);
if (before == null || after == null) {
return null;
}
// Going backward, alternate skipping non-separators and separators until enough words
// have been read.
+ int count = additionalPrecedingWordsCount;
int start = before.length();
boolean isStoppingAtWhitespace = true; // toggles to indicate what to stop at
while (true) { // see comments below for why this is guaranteed to halt
@@ -532,7 +575,7 @@ public class RichInputConnection {
// isStoppingAtWhitespace is true every other time through the loop,
// so additionalPrecedingWordsCount is guaranteed to become < 0, which
// guarantees outer loop termination
- if (isStoppingAtWhitespace && (--additionalPrecedingWordsCount < 0)) {
+ if (isStoppingAtWhitespace && (--count < 0)) {
break; // outer loop
}
isStoppingAtWhitespace = !isStoppingAtWhitespace;
@@ -550,7 +593,7 @@ public class RichInputConnection {
}
}
- int cursor = getCursorPosition();
+ final int cursor = getCursorPosition();
if (start >= 0 && cursor + end <= after.length() + before.length()) {
String word = before.toString().substring(start, before.length())
+ after.toString().substring(0, end);
@@ -561,8 +604,8 @@ public class RichInputConnection {
}
public boolean isCursorTouchingWord(final SettingsValues settingsValues) {
- CharSequence before = getTextBeforeCursor(1, 0);
- CharSequence after = getTextAfterCursor(1, 0);
+ final CharSequence before = getTextBeforeCursor(1, 0);
+ final CharSequence after = getTextAfterCursor(1, 0);
if (!TextUtils.isEmpty(before) && !settingsValues.isWordSeparator(before.charAt(0))
&& !settingsValues.isSymbolExcludedFromWordSeparators(before.charAt(0))) {
return true;
@@ -575,10 +618,10 @@ public class RichInputConnection {
}
public void removeTrailingSpace() {
- checkBatchEdit();
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
final CharSequence lastOne = getTextBeforeCursor(1, 0);
if (lastOne != null && lastOne.length() == 1
- && lastOne.charAt(0) == Keyboard.CODE_SPACE) {
+ && lastOne.charAt(0) == Constants.CODE_SPACE) {
deleteSurroundingText(1, 0);
}
}
@@ -604,7 +647,7 @@ public class RichInputConnection {
CharSequence word = getWordAtCursor(settings.mWordSeparators);
// We don't suggest on leading single quotes, so we have to remove them from the word if
// it starts with single quotes.
- while (!TextUtils.isEmpty(word) && Keyboard.CODE_SINGLE_QUOTE == word.charAt(0)) {
+ while (!TextUtils.isEmpty(word) && Constants.CODE_SINGLE_QUOTE == word.charAt(0)) {
word = word.subSequence(1, word.length());
}
if (TextUtils.isEmpty(word)) return null;
@@ -631,7 +674,7 @@ public class RichInputConnection {
}
public boolean revertDoubleSpace() {
- checkBatchEdit();
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
// Here we test whether we indeed have a period and a space before us. This should not
// be needed, but it's there just in case something went wrong.
final CharSequence textBeforeCursor = getTextBeforeCursor(2, 0);
@@ -649,14 +692,14 @@ public class RichInputConnection {
}
public boolean revertSwapPunctuation() {
- checkBatchEdit();
+ if (DEBUG_BATCH_NESTING) checkBatchEdit();
// Here we test whether we indeed have a space and something else before us. This should not
// be needed, but it's there just in case something went wrong.
final CharSequence textBeforeCursor = getTextBeforeCursor(2, 0);
// NOTE: This does not work with surrogate pairs. Hopefully when the keyboard is able to
// enter surrogate pairs this code will have been removed.
if (TextUtils.isEmpty(textBeforeCursor)
- || (Keyboard.CODE_SPACE != textBeforeCursor.charAt(1))) {
+ || (Constants.CODE_SPACE != textBeforeCursor.charAt(1))) {
// We may only come here if the application is changing the text while we are typing.
// This is quite a broken case, but not logically impossible, so we shouldn't crash,
// but some debugging log may be in order.
diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index 9479a88a7..238724610 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -39,12 +39,10 @@ import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import com.android.inputmethod.latin.define.ProductionFlag;
-import com.android.inputmethod.research.ResearchLogger;
import com.android.inputmethodcommon.InputMethodSettingsFragment;
public final class Settings extends InputMethodSettingsFragment
implements SharedPreferences.OnSharedPreferenceChangeListener {
- public static final boolean ENABLE_INTERNAL_SETTINGS = ProductionFlag.IS_INTERNAL;
// In the same order as xml/prefs.xml
public static final String PREF_GENERAL_SETTINGS = "general_settings";
@@ -58,7 +56,6 @@ public final class Settings extends InputMethodSettingsFragment
public static final String PREF_AUTO_CORRECTION_THRESHOLD = "auto_correction_threshold";
public static final String PREF_SHOW_SUGGESTIONS_SETTING = "show_suggestions_setting";
public static final String PREF_MISC_SETTINGS = "misc_settings";
- public static final String PREF_USABILITY_STUDY_MODE = "usability_study_mode";
public static final String PREF_LAST_USER_DICTIONARY_WRITE_TIME =
"last_user_dictionary_write_time";
public static final String PREF_ADVANCED_SETTINGS = "pref_advanced_settings";
@@ -77,8 +74,8 @@ public final class Settings extends InputMethodSettingsFragment
public static final String PREF_KEYPRESS_SOUND_VOLUME =
"pref_keypress_sound_volume";
public static final String PREF_GESTURE_PREVIEW_TRAIL = "pref_gesture_preview_trail";
- public static final String PREF_SHOW_GESTURE_FLOATING_PREVIEW_TEXT =
- "pref_show_gesture_floating_preview_text";
+ public static final String PREF_GESTURE_FLOATING_PREVIEW_TEXT =
+ "pref_gesture_floating_preview_text";
public static final String PREF_INPUT_LANGUAGE = "input_language";
public static final String PREF_SELECTED_LANGUAGES = "selected_languages";
@@ -133,14 +130,6 @@ public final class Settings extends InputMethodSettingsFragment
mAutoCorrectionThresholdPreference =
(ListPreference) findPreference(PREF_AUTO_CORRECTION_THRESHOLD);
mBigramPrediction = (CheckBoxPreference) findPreference(PREF_BIGRAM_PREDICTIONS);
- mDebugSettingsPreference = findPreference(PREF_DEBUG_SETTINGS);
- if (mDebugSettingsPreference != null) {
- final Intent debugSettingsIntent = new Intent(Intent.ACTION_MAIN);
- debugSettingsIntent.setClassName(
- context.getPackageName(), DebugSettings.class.getName());
- mDebugSettingsPreference.setIntent(debugSettingsIntent);
- }
-
ensureConsistencyOfAutoCorrectionSettings();
final PreferenceGroup generalSettings =
@@ -150,6 +139,18 @@ public final class Settings extends InputMethodSettingsFragment
final PreferenceGroup miscSettings =
(PreferenceGroup) findPreference(PREF_MISC_SETTINGS);
+ mDebugSettingsPreference = findPreference(PREF_DEBUG_SETTINGS);
+ if (mDebugSettingsPreference != null) {
+ if (ProductionFlag.IS_INTERNAL) {
+ final Intent debugSettingsIntent = new Intent(Intent.ACTION_MAIN);
+ debugSettingsIntent.setClassName(
+ context.getPackageName(), DebugSettingsActivity.class.getName());
+ mDebugSettingsPreference.setIntent(debugSettingsIntent);
+ } else {
+ miscSettings.removePreference(mDebugSettingsPreference);
+ }
+ }
+
final boolean showVoiceKeyOption = res.getBoolean(
R.bool.config_enable_show_voice_key_option);
if (!showVoiceKeyOption) {
@@ -207,7 +208,7 @@ public final class Settings extends InputMethodSettingsFragment
R.bool.config_gesture_input_enabled_by_build_config);
final Preference gesturePreviewTrail = findPreference(PREF_GESTURE_PREVIEW_TRAIL);
final Preference gestureFloatingPreviewText = findPreference(
- PREF_SHOW_GESTURE_FLOATING_PREVIEW_TEXT);
+ PREF_GESTURE_FLOATING_PREVIEW_TEXT);
if (!gestureInputEnabledByBuildConfig) {
miscSettings.removePreference(findPreference(PREF_GESTURE_INPUT));
miscSettings.removePreference(gesturePreviewTrail);
@@ -218,24 +219,6 @@ public final class Settings extends InputMethodSettingsFragment
setPreferenceEnabled(gestureFloatingPreviewText, gestureInputEnabledByUser);
}
- final boolean showUsabilityStudyModeOption =
- res.getBoolean(R.bool.config_enable_usability_study_mode_option)
- || ProductionFlag.IS_EXPERIMENTAL || ENABLE_INTERNAL_SETTINGS;
- final Preference usabilityStudyPref = findPreference(PREF_USABILITY_STUDY_MODE);
- if (!showUsabilityStudyModeOption) {
- if (usabilityStudyPref != null) {
- miscSettings.removePreference(usabilityStudyPref);
- }
- }
- if (ProductionFlag.IS_EXPERIMENTAL) {
- if (usabilityStudyPref instanceof CheckBoxPreference) {
- CheckBoxPreference checkbox = (CheckBoxPreference)usabilityStudyPref;
- checkbox.setChecked(prefs.getBoolean(PREF_USABILITY_STUDY_MODE,
- ResearchLogger.DEFAULT_USABILITY_STUDY_MODE));
- checkbox.setSummary(R.string.settings_warning_researcher_mode);
- }
- }
-
mKeypressVibrationDurationSettingsPref =
(PreferenceScreen) findPreference(PREF_VIBRATION_DURATION_SETTINGS);
if (mKeypressVibrationDurationSettingsPref != null) {
@@ -304,7 +287,7 @@ public final class Settings extends InputMethodSettingsFragment
PREF_GESTURE_INPUT, true);
setPreferenceEnabled(findPreference(PREF_GESTURE_PREVIEW_TRAIL),
gestureInputEnabledByUser);
- setPreferenceEnabled(findPreference(PREF_SHOW_GESTURE_FLOATING_PREVIEW_TEXT),
+ setPreferenceEnabled(findPreference(PREF_GESTURE_FLOATING_PREVIEW_TEXT),
gestureInputEnabledByUser);
}
}
diff --git a/java/src/com/android/inputmethod/latin/SettingsActivity.java b/java/src/com/android/inputmethod/latin/SettingsActivity.java
index 68f8582fc..0d3c8ebb7 100644
--- a/java/src/com/android/inputmethod/latin/SettingsActivity.java
+++ b/java/src/com/android/inputmethod/latin/SettingsActivity.java
@@ -19,7 +19,7 @@ package com.android.inputmethod.latin;
import android.content.Intent;
import android.preference.PreferenceActivity;
-public class SettingsActivity extends PreferenceActivity {
+public final class SettingsActivity extends PreferenceActivity {
private static final String DEFAULT_FRAGMENT = Settings.class.getName();
@Override
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java
index 9d8379a7a..2a778aa0d 100644
--- a/java/src/com/android/inputmethod/latin/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/SettingsValues.java
@@ -178,7 +178,7 @@ public final class SettingsValues {
&& prefs.getBoolean(Settings.PREF_GESTURE_INPUT, true);
mGesturePreviewTrailEnabled = prefs.getBoolean(Settings.PREF_GESTURE_PREVIEW_TRAIL, true);
mGestureFloatingPreviewTextEnabled = prefs.getBoolean(
- Settings.PREF_SHOW_GESTURE_FLOATING_PREVIEW_TEXT, false);
+ Settings.PREF_GESTURE_FLOATING_PREVIEW_TEXT, true);
mCorrectionEnabled = mAutoCorrectEnabled && !mInputAttributes.mInputTypeNoAutoCorrect;
mSuggestionVisibility = createSuggestionVisibility(res);
}
@@ -254,11 +254,13 @@ public final class SettingsValues {
return mSymbolsExcludedFromWordSeparators.contains(String.valueOf((char)code));
}
+ // TODO: use "Phantom" instead of "Weak" in this method name
public boolean isWeakSpaceStripper(final int code) {
// TODO: this does not work if the code does not fit in a char
return mWeakSpaceStrippers.contains(String.valueOf((char)code));
}
+ // TODO: use "Phantom" instead of "Weak" in this method name
public boolean isWeakSpaceSwapper(final int code) {
// TODO: this does not work if the code does not fit in a char
return mWeakSpaceSwappers.contains(String.valueOf((char)code));
@@ -410,7 +412,7 @@ public final class SettingsValues {
// Likewise
public static boolean getUsabilityStudyMode(final SharedPreferences prefs) {
// TODO: use mUsabilityStudyMode instead of reading it again here
- return prefs.getBoolean(Settings.PREF_USABILITY_STUDY_MODE, true);
+ return prefs.getBoolean(DebugSettings.PREF_USABILITY_STUDY_MODE, true);
}
public static long getLastUserHistoryWriteTime(final SharedPreferences prefs,
diff --git a/java/src/com/android/inputmethod/latin/StringUtils.java b/java/src/com/android/inputmethod/latin/StringUtils.java
index 7b65b7343..043043cef 100644
--- a/java/src/com/android/inputmethod/latin/StringUtils.java
+++ b/java/src/com/android/inputmethod/latin/StringUtils.java
@@ -16,10 +16,9 @@
package com.android.inputmethod.latin;
+import android.text.InputType;
import android.text.TextUtils;
-import com.android.inputmethod.keyboard.Keyboard; // For character constants
-
import java.util.ArrayList;
import java.util.Locale;
@@ -28,30 +27,30 @@ public final class StringUtils {
// This utility class is not publicly instantiable.
}
- public static int codePointCount(String text) {
+ public static int codePointCount(final String text) {
if (TextUtils.isEmpty(text)) return 0;
return text.codePointCount(0, text.length());
}
- public static boolean containsInArray(String key, String[] array) {
+ public static boolean containsInArray(final String key, final String[] array) {
for (final String element : array) {
if (key.equals(element)) return true;
}
return false;
}
- public static boolean containsInCsv(String key, String csv) {
+ public static boolean containsInCsv(final String key, final String csv) {
if (TextUtils.isEmpty(csv)) return false;
return containsInArray(key, csv.split(","));
}
- public static String appendToCsvIfNotExists(String key, String csv) {
+ public static String appendToCsvIfNotExists(final String key, final String csv) {
if (TextUtils.isEmpty(csv)) return key;
if (containsInCsv(key, csv)) return csv;
return csv + "," + key;
}
- public static String removeFromCsvIfExists(String key, String csv) {
+ public static String removeFromCsvIfExists(final String key, final String csv) {
if (TextUtils.isEmpty(csv)) return "";
final String[] elements = csv.split(",");
if (!containsInArray(key, elements)) return csv;
@@ -63,82 +62,20 @@ public final class StringUtils {
}
/**
- * Returns true if a and b are equal ignoring the case of the character.
- * @param a first character to check
- * @param b second character to check
- * @return {@code true} if a and b are equal, {@code false} otherwise.
- */
- public static boolean equalsIgnoreCase(char a, char b) {
- // Some language, such as Turkish, need testing both cases.
- return a == b
- || Character.toLowerCase(a) == Character.toLowerCase(b)
- || Character.toUpperCase(a) == Character.toUpperCase(b);
- }
-
- /**
- * Returns true if a and b are equal ignoring the case of the characters, including if they are
- * both null.
- * @param a first CharSequence to check
- * @param b second CharSequence to check
- * @return {@code true} if a and b are equal, {@code false} otherwise.
- */
- public static boolean equalsIgnoreCase(CharSequence a, CharSequence b) {
- if (a == b)
- return true; // including both a and b are null.
- if (a == null || b == null)
- return false;
- final int length = a.length();
- if (length != b.length())
- return false;
- for (int i = 0; i < length; i++) {
- if (!equalsIgnoreCase(a.charAt(i), b.charAt(i)))
- return false;
- }
- return true;
- }
-
- /**
- * Returns true if a and b are equal ignoring the case of the characters, including if a is null
- * and b is zero length.
- * @param a CharSequence to check
- * @param b character array to check
- * @param offset start offset of array b
- * @param length length of characters in array b
- * @return {@code true} if a and b are equal, {@code false} otherwise.
- * @throws IndexOutOfBoundsException
- * if {@code offset < 0 || length < 0 || offset + length > data.length}.
- * @throws NullPointerException if {@code b == null}.
- */
- public static boolean equalsIgnoreCase(CharSequence a, char[] b, int offset, int length) {
- if (offset < 0 || length < 0 || length > b.length - offset)
- throw new IndexOutOfBoundsException("array.length=" + b.length + " offset=" + offset
- + " length=" + length);
- if (a == null)
- return length == 0; // including a is null and b is zero length.
- if (a.length() != length)
- return false;
- for (int i = 0; i < length; i++) {
- if (!equalsIgnoreCase(a.charAt(i), b[offset + i]))
- return false;
- }
- return true;
- }
-
- /**
* Remove duplicates from an array of strings.
*
* This method will always keep the first occurrence of all strings at their position
* in the array, removing the subsequent ones.
*/
- public static void removeDupes(final ArrayList<CharSequence> suggestions) {
+ public static void removeDupes(final ArrayList<String> suggestions) {
if (suggestions.size() < 2) return;
int i = 1;
// Don't cache suggestions.size(), since we may be removing items
while (i < suggestions.size()) {
- final CharSequence cur = suggestions.get(i);
+ final String cur = suggestions.get(i);
// Compare each suggestion with each previous suggestion
for (int j = 0; j < i; j++) {
- CharSequence previous = suggestions.get(j);
+ final String previous = suggestions.get(j);
if (TextUtils.equals(cur, previous)) {
suggestions.remove(i);
i--;
@@ -149,7 +86,7 @@ public final class StringUtils {
}
}
- public static String toTitleCase(String s, Locale locale) {
+ public static String toTitleCase(final String s, final Locale locale) {
if (s.length() <= 1) {
// TODO: is this really correct? Shouldn't this be s.toUpperCase()?
return s;
@@ -165,21 +102,19 @@ public final class StringUtils {
return s.toUpperCase(locale).charAt(0) + s.substring(1);
}
+ private static final int[] EMPTY_CODEPOINTS = {};
+
public static int[] toCodePointArray(final String string) {
- final char[] characters = string.toCharArray();
- final int length = characters.length;
- final int[] codePoints = new int[Character.codePointCount(characters, 0, length)];
+ final int length = string.length();
if (length <= 0) {
- return new int[0];
+ return EMPTY_CODEPOINTS;
}
- int codePoint = Character.codePointAt(characters, 0);
- int dsti = 0;
- for (int srci = Character.charCount(codePoint);
- srci < length; srci += Character.charCount(codePoint), ++dsti) {
- codePoints[dsti] = codePoint;
- codePoint = Character.codePointAt(characters, srci);
+ final int[] codePoints = new int[string.codePointCount(0, length)];
+ int destIndex = 0;
+ for (int index = 0; index < length; index = string.offsetByCodePoints(index, 1)) {
+ codePoints[destIndex] = string.codePointAt(index);
+ destIndex++;
}
- codePoints[dsti] = codePoint;
return codePoints;
}
@@ -237,7 +172,7 @@ public final class StringUtils {
} else {
for (i = cs.length(); i > 0; i--) {
final char c = cs.charAt(i - 1);
- if (c != Keyboard.CODE_DOUBLE_QUOTE && c != Keyboard.CODE_SINGLE_QUOTE
+ if (c != Constants.CODE_DOUBLE_QUOTE && c != Constants.CODE_SINGLE_QUOTE
&& Character.getType(c) != Character.START_PUNCTUATION) {
break;
}
@@ -250,15 +185,19 @@ public final class StringUtils {
// Step 3 : Search for the start of a paragraph. From the starting point computed in step 2,
// we go back over any space or tab char sitting there. We find the start of a paragraph
- // if the first char that's not a space or tab is a start of line (as in, either \n or
- // start of text).
+ // if the first char that's not a space or tab is a start of line (as in \n, start of text,
+ // or some other similar characters).
int j = i;
+ char prevChar = Constants.CODE_SPACE;
if (hasSpaceBefore) --j;
- while (j > 0 && Character.isWhitespace(cs.charAt(j - 1))) {
+ while (j > 0) {
+ prevChar = cs.charAt(j - 1);
+ if (!Character.isSpaceChar(prevChar) && prevChar != Constants.CODE_TAB) break;
j--;
}
- if (j == 0) {
- // There is only whitespace between the start of the text and the cursor. Both
+ if (j <= 0 || Character.isWhitespace(prevChar)) {
+ // There are only spacing chars between the start of the paragraph and the cursor,
+ // defined as a isWhitespace() char that is neither a isSpaceChar() nor a tab. Both
// MODE_WORDS and MODE_SENTENCES should be active.
return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_WORDS
| TextUtils.CAP_MODE_SENTENCES) & reqModes;
@@ -292,7 +231,7 @@ public final class StringUtils {
// variants of English, the final period is placed within double quotes and maybe
// other closing punctuation signs. This is generally not true in other languages.
final char c = cs.charAt(j - 1);
- if (c != Keyboard.CODE_DOUBLE_QUOTE && c != Keyboard.CODE_SINGLE_QUOTE
+ if (c != Constants.CODE_DOUBLE_QUOTE && c != Constants.CODE_SINGLE_QUOTE
&& Character.getType(c) != Character.END_PUNCTUATION) {
break;
}
@@ -306,10 +245,10 @@ public final class StringUtils {
// end of a sentence. If we have a question mark or an exclamation mark, it's the end of
// a sentence. If it's neither, the only remaining case is the period so we get the opposite
// case out of the way.
- if (c == Keyboard.CODE_QUESTION_MARK || c == Keyboard.CODE_EXCLAMATION_MARK) {
+ if (c == Constants.CODE_QUESTION_MARK || c == Constants.CODE_EXCLAMATION_MARK) {
return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_SENTENCES) & reqModes;
}
- if (c != Keyboard.CODE_PERIOD || j <= 0) {
+ if (c != Constants.CODE_PERIOD || j <= 0) {
return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_WORDS) & reqModes;
}
@@ -359,7 +298,7 @@ public final class StringUtils {
case WORD:
if (Character.isLetter(c)) {
state = WORD;
- } else if (c == Keyboard.CODE_PERIOD) {
+ } else if (c == Constants.CODE_PERIOD) {
state = PERIOD;
} else {
return caps;
@@ -375,7 +314,7 @@ public final class StringUtils {
case LETTER:
if (Character.isLetter(c)) {
state = LETTER;
- } else if (c == Keyboard.CODE_PERIOD) {
+ } else if (c == Constants.CODE_PERIOD) {
state = PERIOD;
} else {
return noCaps;
diff --git a/java/src/com/android/inputmethod/latin/SubtypeLocale.java b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
index de5f515b0..579f96bb4 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeLocale.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
@@ -30,7 +30,7 @@ import com.android.inputmethod.latin.LocaleUtils.RunInLocale;
import java.util.HashMap;
import java.util.Locale;
-public class SubtypeLocale {
+public final class SubtypeLocale {
static final String TAG = SubtypeLocale.class.getSimpleName();
// This class must be located in the same package as LatinIME.java.
private static final String RESOURCE_PACKAGE_NAME =
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index c693edcca..8e51a372b 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -38,7 +38,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
-public class SubtypeSwitcher {
+public final class SubtypeSwitcher {
private static boolean DBG = LatinImeLogger.sDBG;
private static final String TAG = SubtypeSwitcher.class.getSimpleName();
@@ -60,7 +60,7 @@ public class SubtypeSwitcher {
private boolean mIsNetworkConnected;
- static class NeedsToDisplayLanguage {
+ static final class NeedsToDisplayLanguage {
private int mEnabledSubtypeCount;
private boolean mIsSystemLanguageSameAsInputLanguage;
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 278c4b9ce..3dc2ba95b 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -19,7 +19,7 @@ package com.android.inputmethod.latin;
import android.content.Context;
import android.text.TextUtils;
-import com.android.inputmethod.keyboard.Keyboard;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.keyboard.ProximityInfo;
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
@@ -34,11 +34,11 @@ import java.util.concurrent.ConcurrentHashMap;
* This class loads a dictionary and provides a list of suggestions for a given sequence of
* characters. This includes corrections and completions.
*/
-public class Suggest {
+public final class Suggest {
public static final String TAG = Suggest.class.getSimpleName();
// Session id for
- // {@link #getSuggestedWords(WordComposer,CharSequence,ProximityInfo,boolean,int)}.
+ // {@link #getSuggestedWords(WordComposer,String,ProximityInfo,boolean,int)}.
public static final int SESSION_TYPING = 0;
public static final int SESSION_GESTURE = 1;
@@ -71,7 +71,8 @@ public class Suggest {
mLocale = locale;
}
- /* package for test */ Suggest(final Context context, final File dictionary,
+ @UsedForTesting
+ Suggest(final Context context, final File dictionary,
final long startOffset, final long length, final Locale locale) {
final Dictionary mainDict = DictionaryFactory.createDictionaryForTest(context, dictionary,
startOffset, length /* useFullEditDistance */, false, locale);
@@ -138,7 +139,7 @@ public class Suggest {
* Sets an optional user dictionary resource to be loaded. The user dictionary is consulted
* before the main dictionary, if set. This refers to the system-managed user dictionary.
*/
- public void setUserDictionary(UserBinaryDictionary userDictionary) {
+ public void setUserDictionary(final UserBinaryDictionary userDictionary) {
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_USER, userDictionary);
}
@@ -147,12 +148,12 @@ public class Suggest {
* the contacts dictionary by passing null to this method. In this case no contacts dictionary
* won't be used.
*/
- public void setContactsDictionary(ContactsBinaryDictionary contactsDictionary) {
+ public void setContactsDictionary(final ContactsBinaryDictionary contactsDictionary) {
mContactsDict = contactsDictionary;
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_CONTACTS, contactsDictionary);
}
- public void setUserHistoryDictionary(UserHistoryDictionary userHistoryDictionary) {
+ public void setUserHistoryDictionary(final UserHistoryDictionary userHistoryDictionary) {
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_USER_HISTORY, userHistoryDictionary);
}
@@ -160,9 +161,9 @@ public class Suggest {
mAutoCorrectionThreshold = threshold;
}
- public SuggestedWords getSuggestedWords(
- final WordComposer wordComposer, CharSequence prevWordForBigram,
- final ProximityInfo proximityInfo, final boolean isCorrectionEnabled, int sessionId) {
+ public SuggestedWords getSuggestedWords(final WordComposer wordComposer,
+ final String prevWordForBigram, final ProximityInfo proximityInfo,
+ final boolean isCorrectionEnabled, final int sessionId) {
LatinImeLogger.onStartSuggestion(prevWordForBigram);
if (wordComposer.isBatchMode()) {
return getSuggestedWordsForBatchInput(
@@ -174,9 +175,9 @@ public class Suggest {
}
// Retrieves suggestions for the typing input.
- private SuggestedWords getSuggestedWordsForTypingInput(
- final WordComposer wordComposer, CharSequence prevWordForBigram,
- final ProximityInfo proximityInfo, final boolean isCorrectionEnabled) {
+ private SuggestedWords getSuggestedWordsForTypingInput(final WordComposer wordComposer,
+ final String prevWordForBigram, final ProximityInfo proximityInfo,
+ final boolean isCorrectionEnabled) {
final int trailingSingleQuotesCount = wordComposer.trailingSingleQuotesCount();
final BoundedTreeSet suggestionsSet = new BoundedTreeSet(sSuggestedWordInfoComparator,
MAX_SUGGESTIONS);
@@ -203,7 +204,7 @@ public class Suggest {
wordComposerForLookup, prevWordForBigram, proximityInfo));
}
- final CharSequence whitelistedWord;
+ final String whitelistedWord;
if (suggestionsSet.isEmpty()) {
whitelistedWord = null;
} else if (SuggestedWordInfo.KIND_WHITELIST != suggestionsSet.first().mKind) {
@@ -287,9 +288,9 @@ public class Suggest {
}
// Retrieves suggestions for the batch input.
- private SuggestedWords getSuggestedWordsForBatchInput(
- final WordComposer wordComposer, CharSequence prevWordForBigram,
- final ProximityInfo proximityInfo, int sessionId) {
+ private SuggestedWords getSuggestedWordsForBatchInput(final WordComposer wordComposer,
+ final String prevWordForBigram, final ProximityInfo proximityInfo,
+ final int sessionId) {
final BoundedTreeSet suggestionsSet = new BoundedTreeSet(sSuggestedWordInfoComparator,
MAX_SUGGESTIONS);
@@ -307,7 +308,7 @@ public class Suggest {
}
for (SuggestedWordInfo wordInfo : suggestionsSet) {
- LatinImeLogger.onAddSuggestedWord(wordInfo.mWord.toString(), wordInfo.mSourceDict);
+ LatinImeLogger.onAddSuggestedWord(wordInfo.mWord, wordInfo.mSourceDict);
}
final ArrayList<SuggestedWordInfo> suggestionsContainer =
@@ -362,7 +363,8 @@ public class Suggest {
return suggestionsList;
}
- private static class SuggestedWordInfoComparator implements Comparator<SuggestedWordInfo> {
+ private static final class SuggestedWordInfoComparator
+ implements Comparator<SuggestedWordInfo> {
// This comparator ranks the word info with the higher frequency first. That's because
// that's the order we want our elements in.
@Override
@@ -371,7 +373,7 @@ public class Suggest {
if (o1.mScore < o2.mScore) return 1;
if (o1.mCodePointCount < o2.mCodePointCount) return -1;
if (o1.mCodePointCount > o2.mCodePointCount) return 1;
- return o1.mWord.toString().compareTo(o2.mWord.toString());
+ return o1.mWord.compareTo(o2.mWord);
}
}
private static final SuggestedWordInfoComparator sSuggestedWordInfoComparator =
@@ -382,16 +384,17 @@ public class Suggest {
final boolean isFirstCharCapitalized, final int trailingSingleQuotesCount) {
final StringBuilder sb = new StringBuilder(wordInfo.mWord.length());
if (isAllUpperCase) {
- sb.append(wordInfo.mWord.toString().toUpperCase(locale));
+ sb.append(wordInfo.mWord.toUpperCase(locale));
} else if (isFirstCharCapitalized) {
- sb.append(StringUtils.toTitleCase(wordInfo.mWord.toString(), locale));
+ sb.append(StringUtils.toTitleCase(wordInfo.mWord, locale));
} else {
sb.append(wordInfo.mWord);
}
for (int i = trailingSingleQuotesCount - 1; i >= 0; --i) {
- sb.appendCodePoint(Keyboard.CODE_SINGLE_QUOTE);
+ sb.appendCodePoint(Constants.CODE_SINGLE_QUOTE);
}
- return new SuggestedWordInfo(sb, wordInfo.mScore, wordInfo.mKind, wordInfo.mSourceDict);
+ return new SuggestedWordInfo(sb.toString(), wordInfo.mScore, wordInfo.mKind,
+ wordInfo.mSourceDict);
}
public void close() {
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index d9f48c4a4..572f2906e 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -23,7 +23,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
-public class SuggestedWords {
+public final class SuggestedWords {
private static final ArrayList<SuggestedWordInfo> EMPTY_WORD_INFO_LIST =
CollectionUtils.newArrayList(0);
public static final SuggestedWords EMPTY = new SuggestedWords(
@@ -53,6 +53,10 @@ public class SuggestedWords {
mIsPrediction = isPrediction;
}
+ public boolean isEmpty() {
+ return mSuggestedWordInfoList.isEmpty();
+ }
+
public int size() {
return mSuggestedWordInfoList.size();
}
@@ -86,11 +90,14 @@ public class SuggestedWords {
public static ArrayList<SuggestedWordInfo> getFromApplicationSpecifiedCompletions(
final CompletionInfo[] infos) {
final ArrayList<SuggestedWordInfo> result = CollectionUtils.newArrayList();
- for (CompletionInfo info : infos) {
- if (null != info && info.getText() != null) {
- result.add(new SuggestedWordInfo(info.getText(), SuggestedWordInfo.MAX_SCORE,
- SuggestedWordInfo.KIND_APP_DEFINED, Dictionary.TYPE_APPLICATION_DEFINED));
- }
+ for (final CompletionInfo info : infos) {
+ if (info == null) continue;
+ final CharSequence text = info.getText();
+ if (null == text) continue;
+ final SuggestedWordInfo suggestedWordInfo = new SuggestedWordInfo(text.toString(),
+ SuggestedWordInfo.MAX_SCORE, SuggestedWordInfo.KIND_APP_DEFINED,
+ Dictionary.TYPE_APPLICATION_DEFINED);
+ result.add(suggestedWordInfo);
}
return result;
}
@@ -98,7 +105,7 @@ public class SuggestedWords {
// Should get rid of the first one (what the user typed previously) from suggestions
// and replace it with what the user currently typed.
public static ArrayList<SuggestedWordInfo> getTypedWordAndPreviousSuggestions(
- final CharSequence typedWord, final SuggestedWords previousSuggestions) {
+ final String typedWord, final SuggestedWords previousSuggestions) {
final ArrayList<SuggestedWordInfo> suggestionsList = CollectionUtils.newArrayList();
final HashSet<String> alreadySeen = CollectionUtils.newHashSet();
suggestionsList.add(new SuggestedWordInfo(typedWord, SuggestedWordInfo.MAX_SCORE,
@@ -107,7 +114,7 @@ public class SuggestedWords {
final int previousSize = previousSuggestions.size();
for (int pos = 1; pos < previousSize; pos++) {
final SuggestedWordInfo prevWordInfo = previousSuggestions.getWordInfo(pos);
- final String prevWord = prevWordInfo.mWord.toString();
+ final String prevWord = prevWordInfo.mWord;
// Filter out duplicate suggestion.
if (!alreadySeen.contains(prevWord)) {
suggestionsList.add(prevWordInfo);
@@ -117,7 +124,7 @@ public class SuggestedWords {
return suggestionsList;
}
- public static class SuggestedWordInfo {
+ public static final class SuggestedWordInfo {
public static final int MAX_SCORE = Integer.MAX_VALUE;
public static final int KIND_TYPED = 0; // What user typed
public static final int KIND_CORRECTION = 1; // Simple correction/suggestion
@@ -135,9 +142,9 @@ public class SuggestedWords {
public final String mSourceDict;
private String mDebugString = "";
- public SuggestedWordInfo(final CharSequence word, final int score, final int kind,
+ public SuggestedWordInfo(final String word, final int score, final int kind,
final String sourceDict) {
- mWord = word.toString();
+ mWord = word;
mScore = score;
mKind = kind;
mSourceDict = sourceDict;
@@ -145,7 +152,7 @@ public class SuggestedWords {
}
- public void setDebugString(String str) {
+ public void setDebugString(final String str) {
if (null == str) throw new NullPointerException("Debug info is null");
mDebugString = str;
}
@@ -167,7 +174,7 @@ public class SuggestedWords {
if (TextUtils.isEmpty(mDebugString)) {
return mWord;
} else {
- return mWord + " (" + mDebugString.toString() + ")";
+ return mWord + " (" + mDebugString + ")";
}
}
diff --git a/java/src/com/android/inputmethod/latin/SuggestionSpanPickedNotificationReceiver.java b/java/src/com/android/inputmethod/latin/SuggestionSpanPickedNotificationReceiver.java
index 4a3f42d5d..d188fc5ef 100644
--- a/java/src/com/android/inputmethod/latin/SuggestionSpanPickedNotificationReceiver.java
+++ b/java/src/com/android/inputmethod/latin/SuggestionSpanPickedNotificationReceiver.java
@@ -23,7 +23,7 @@ import android.content.Context;
import android.content.Intent;
import android.util.Log;
-public class SuggestionSpanPickedNotificationReceiver extends BroadcastReceiver {
+public final class SuggestionSpanPickedNotificationReceiver extends BroadcastReceiver {
private static final boolean DBG = LatinImeLogger.sDBG;
private static final String TAG =
SuggestionSpanPickedNotificationReceiver.class.getSimpleName();
diff --git a/java/src/com/android/inputmethod/latin/SynchronouslyLoadedContactsBinaryDictionary.java b/java/src/com/android/inputmethod/latin/SynchronouslyLoadedContactsBinaryDictionary.java
index bdd988df2..ec4dc1436 100644
--- a/java/src/com/android/inputmethod/latin/SynchronouslyLoadedContactsBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/SynchronouslyLoadedContactsBinaryDictionary.java
@@ -24,7 +24,7 @@ import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
import java.util.ArrayList;
import java.util.Locale;
-public class SynchronouslyLoadedContactsBinaryDictionary extends ContactsBinaryDictionary {
+public final class SynchronouslyLoadedContactsBinaryDictionary extends ContactsBinaryDictionary {
private boolean mClosed;
public SynchronouslyLoadedContactsBinaryDictionary(final Context context, final Locale locale) {
@@ -33,13 +33,13 @@ public class SynchronouslyLoadedContactsBinaryDictionary extends ContactsBinaryD
@Override
public synchronized ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer codes,
- final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo) {
+ final String prevWordForBigrams, final ProximityInfo proximityInfo) {
syncReloadDictionaryIfRequired();
return super.getSuggestions(codes, prevWordForBigrams, proximityInfo);
}
@Override
- public synchronized boolean isValidWord(CharSequence word) {
+ public synchronized boolean isValidWord(final String word) {
syncReloadDictionaryIfRequired();
return isValidWordInner(word);
}
diff --git a/java/src/com/android/inputmethod/latin/SynchronouslyLoadedUserBinaryDictionary.java b/java/src/com/android/inputmethod/latin/SynchronouslyLoadedUserBinaryDictionary.java
index b8cfddd4e..4bdaf2039 100644
--- a/java/src/com/android/inputmethod/latin/SynchronouslyLoadedUserBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/SynchronouslyLoadedUserBinaryDictionary.java
@@ -23,7 +23,7 @@ import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
import java.util.ArrayList;
-public class SynchronouslyLoadedUserBinaryDictionary extends UserBinaryDictionary {
+public final class SynchronouslyLoadedUserBinaryDictionary extends UserBinaryDictionary {
public SynchronouslyLoadedUserBinaryDictionary(final Context context, final String locale) {
this(context, locale, false);
@@ -36,13 +36,13 @@ public class SynchronouslyLoadedUserBinaryDictionary extends UserBinaryDictionar
@Override
public synchronized ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer codes,
- final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo) {
+ final String prevWordForBigrams, final ProximityInfo proximityInfo) {
syncReloadDictionaryIfRequired();
return super.getSuggestions(codes, prevWordForBigrams, proximityInfo);
}
@Override
- public synchronized boolean isValidWord(CharSequence word) {
+ public synchronized boolean isValidWord(final String word) {
syncReloadDictionaryIfRequired();
return isValidWordInner(word);
}
diff --git a/java/src/com/android/inputmethod/latin/TargetApplicationGetter.java b/java/src/com/android/inputmethod/latin/TargetApplicationGetter.java
index 4265309e5..743a8c60f 100644
--- a/java/src/com/android/inputmethod/latin/TargetApplicationGetter.java
+++ b/java/src/com/android/inputmethod/latin/TargetApplicationGetter.java
@@ -22,8 +22,7 @@ import android.content.pm.PackageManager;
import android.os.AsyncTask;
import android.util.LruCache;
-public class TargetApplicationGetter extends AsyncTask<String, Void, ApplicationInfo> {
-
+public final class TargetApplicationGetter extends AsyncTask<String, Void, ApplicationInfo> {
private static final int MAX_CACHE_ENTRIES = 64; // arbitrary
private static LruCache<String, ApplicationInfo> sCache =
new LruCache<String, ApplicationInfo>(MAX_CACHE_ENTRIES);
@@ -32,6 +31,7 @@ public class TargetApplicationGetter extends AsyncTask<String, Void, Application
if (null == packageName) return null;
return sCache.get(packageName);
}
+
public static void removeApplicationInfoCache(final String packageName) {
sCache.remove(packageName);
}
diff --git a/java/src/com/android/inputmethod/latin/UserBinaryDictionary.java b/java/src/com/android/inputmethod/latin/UserBinaryDictionary.java
index 60e6fa127..00c3cbe0a 100644
--- a/java/src/com/android/inputmethod/latin/UserBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/UserBinaryDictionary.java
@@ -200,7 +200,7 @@ public class UserBinaryDictionary extends ExpandableBinaryDictionary {
mContext.startActivity(intent);
}
- private void addWords(Cursor cursor) {
+ private void addWords(final Cursor cursor) {
// 16 is JellyBean, but we want this to compile against ICS.
final boolean hasShortcutColumn = android.os.Build.VERSION.SDK_INT >= 16;
clearFusionDictionary();
diff --git a/java/src/com/android/inputmethod/latin/UserHistoryDictIOUtils.java b/java/src/com/android/inputmethod/latin/UserHistoryDictIOUtils.java
index 4a3d11aa1..787197755 100644
--- a/java/src/com/android/inputmethod/latin/UserHistoryDictIOUtils.java
+++ b/java/src/com/android/inputmethod/latin/UserHistoryDictIOUtils.java
@@ -18,6 +18,7 @@ package com.android.inputmethod.latin;
import android.util.Log;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.latin.makedict.BinaryDictIOUtils;
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput;
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput.FusionDictionaryBufferInterface;
@@ -38,7 +39,7 @@ import java.util.Map;
*
* All the methods in this class are static.
*/
-public class UserHistoryDictIOUtils {
+public final class UserHistoryDictIOUtils {
private static final String TAG = UserHistoryDictIOUtils.class.getSimpleName();
private static final boolean DEBUG = false;
@@ -100,6 +101,11 @@ public class UserHistoryDictIOUtils {
@Override
public int limit() {
+ return mBuffer.length - 1;
+ }
+
+ @Override
+ public int capacity() {
return mBuffer.length;
}
}
@@ -110,11 +116,10 @@ public class UserHistoryDictIOUtils {
public static void writeDictionaryBinary(final OutputStream destination,
final BigramDictionaryInterface dict, final UserHistoryDictionaryBigramList bigrams,
final FormatOptions formatOptions) {
-
final FusionDictionary fusionDict = constructFusionDictionary(dict, bigrams);
-
try {
BinaryDictInputOutput.writeDictionaryBinary(destination, fusionDict, formatOptions);
+ Log.d(TAG, "end writing");
} catch (IOException e) {
Log.e(TAG, "IO exception while writing file: " + e);
} catch (UnsupportedFormatException e) {
@@ -125,18 +130,21 @@ public class UserHistoryDictIOUtils {
/**
* Constructs a new FusionDictionary from BigramDictionaryInterface.
*/
- /* packages for test */ static FusionDictionary constructFusionDictionary(
+ @UsedForTesting
+ static FusionDictionary constructFusionDictionary(
final BigramDictionaryInterface dict, final UserHistoryDictionaryBigramList bigrams) {
-
final FusionDictionary fusionDict = new FusionDictionary(new Node(),
- new FusionDictionary.DictionaryOptions(
- new HashMap<String,String>(), false, false));
-
+ new FusionDictionary.DictionaryOptions(new HashMap<String, String>(), false,
+ false));
+ int profTotal = 0;
for (final String word1 : bigrams.keySet()) {
final HashMap<String, Byte> word1Bigrams = bigrams.getBigrams(word1);
for (final String word2 : word1Bigrams.keySet()) {
final int freq = dict.getFrequency(word1, word2);
-
+ if (freq == -1) {
+ // don't add this bigram.
+ continue;
+ }
if (DEBUG) {
if (word1 == null) {
Log.d(TAG, "add unigram: " + word2 + "," + Integer.toString(freq));
@@ -144,17 +152,22 @@ public class UserHistoryDictIOUtils {
Log.d(TAG, "add bigram: " + word1
+ "," + word2 + "," + Integer.toString(freq));
}
+ profTotal++;
}
-
if (word1 == null) { // unigram
fusionDict.add(word2, freq, null, false /* isNotAWord */);
} else { // bigram
+ if (FusionDictionary.findWordInTree(fusionDict.mRoot, word1) == null) {
+ fusionDict.add(word1, 2, null, false /* isNotAWord */);
+ }
fusionDict.setBigram(word1, word2, freq);
}
bigrams.updateBigram(word1, word2, (byte)freq);
}
}
-
+ if (DEBUG) {
+ Log.d(TAG, "add " + profTotal + "words");
+ }
return fusionDict;
}
@@ -166,32 +179,31 @@ public class UserHistoryDictIOUtils {
final Map<Integer, String> unigrams = CollectionUtils.newTreeMap();
final Map<Integer, Integer> frequencies = CollectionUtils.newTreeMap();
final Map<Integer, ArrayList<PendingAttribute>> bigrams = CollectionUtils.newTreeMap();
-
try {
BinaryDictIOUtils.readUnigramsAndBigramsBinary(buffer, unigrams, frequencies,
bigrams);
- addWordsFromWordMap(unigrams, frequencies, bigrams, dict);
} catch (IOException e) {
Log.e(TAG, "IO exception while reading file: " + e);
} catch (UnsupportedFormatException e) {
Log.e(TAG, "Unsupported format: " + e);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ Log.e(TAG, "ArrayIndexOutOfBoundsException while reading file: " + e);
}
+ addWordsFromWordMap(unigrams, frequencies, bigrams, dict);
}
/**
* Adds all unigrams and bigrams in maps to OnAddWordListener.
*/
- /* package for test */ static void addWordsFromWordMap(final Map<Integer, String> unigrams,
+ @UsedForTesting
+ static void addWordsFromWordMap(final Map<Integer, String> unigrams,
final Map<Integer, Integer> frequencies,
final Map<Integer, ArrayList<PendingAttribute>> bigrams, final OnAddWordListener to) {
-
for (Map.Entry<Integer, String> entry : unigrams.entrySet()) {
final String word1 = entry.getValue();
final int unigramFrequency = frequencies.get(entry.getKey());
to.setUnigram(word1, null, unigramFrequency);
-
final ArrayList<PendingAttribute> attrList = bigrams.get(entry.getKey());
-
if (attrList != null) {
for (final PendingAttribute attr : attrList) {
to.setBigram(word1, unigrams.get(attr.mAddress),
diff --git a/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java b/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java
index 683ee4f5c..4fd9bfafb 100644
--- a/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java
@@ -16,24 +16,26 @@
package com.android.inputmethod.latin;
-import android.content.ContentValues;
import android.content.Context;
import android.content.SharedPreferences;
-import android.database.Cursor;
-import android.database.sqlite.SQLiteDatabase;
-import android.database.sqlite.SQLiteOpenHelper;
-import android.database.sqlite.SQLiteQueryBuilder;
import android.os.AsyncTask;
-import android.provider.BaseColumns;
import android.util.Log;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.keyboard.ProximityInfo;
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
+import com.android.inputmethod.latin.UserHistoryDictIOUtils.BigramDictionaryInterface;
+import com.android.inputmethod.latin.UserHistoryDictIOUtils.OnAddWordListener;
import com.android.inputmethod.latin.UserHistoryForgettingCurveUtils.ForgettingCurveParams;
+import com.android.inputmethod.latin.makedict.FormatSpec.FormatOptions;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
import java.lang.ref.SoftReference;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.ReentrantLock;
@@ -41,47 +43,29 @@ import java.util.concurrent.locks.ReentrantLock;
* Locally gathers stats about the words user types and various other signals like auto-correction
* cancellation or manual picks. This allows the keyboard to adapt to the typist over time.
*/
-public class UserHistoryDictionary extends ExpandableDictionary {
- private static final String TAG = "UserHistoryDictionary";
+public final class UserHistoryDictionary extends ExpandableDictionary {
+ private static final String TAG = UserHistoryDictionary.class.getSimpleName();
+ private static final String NAME = UserHistoryDictionary.class.getSimpleName();
public static final boolean DBG_SAVE_RESTORE = false;
public static final boolean DBG_STRESS_TEST = false;
public static final boolean DBG_ALWAYS_WRITE = false;
public static final boolean PROFILE_SAVE_RESTORE = LatinImeLogger.sDBG;
+ private static final FormatOptions VERSION3 = new FormatOptions(3,
+ true /* supportsDynamicUpdate */);
+
/** Any pair being typed or picked */
private static final int FREQUENCY_FOR_TYPED = 2;
/** Maximum number of pairs. Pruning will start when databases goes above this number. */
- public static final int sMaxHistoryBigrams = 10000;
+ public static final int MAX_HISTORY_BIGRAMS = 10000;
/**
* When it hits maximum bigram pair, it will delete until you are left with
* only (sMaxHistoryBigrams - sDeleteHistoryBigrams) pairs.
* Do not keep this number small to avoid deleting too often.
*/
- public static final int sDeleteHistoryBigrams = 1000;
-
- /**
- * Database version should increase if the database structure changes
- */
- private static final int DATABASE_VERSION = 1;
-
- private static final String DATABASE_NAME = "userbigram_dict.db";
-
- /** Name of the words table in the database */
- private static final String MAIN_TABLE_NAME = "main";
- // TODO: Consume less space by using a unique id for locale instead of the whole
- // 2-5 character string.
- private static final String MAIN_COLUMN_ID = BaseColumns._ID;
- private static final String MAIN_COLUMN_WORD1 = "word1";
- private static final String MAIN_COLUMN_WORD2 = "word2";
- private static final String MAIN_COLUMN_LOCALE = "locale";
-
- /** Name of the frequency table in the database */
- private static final String FREQ_TABLE_NAME = "frequency";
- private static final String FREQ_COLUMN_ID = BaseColumns._ID;
- private static final String FREQ_COLUMN_PAIR_ID = "pair_id";
- private static final String COLUMN_FORGETTING_CURVE_VALUE = "freq";
+ public static final int DELETE_HISTORY_BIGRAMS = 1000;
/** Locale for which this user history dictionary is storing words */
private final String mLocale;
@@ -91,29 +75,13 @@ public class UserHistoryDictionary extends ExpandableDictionary {
private final ReentrantLock mBigramListLock = new ReentrantLock();
private final SharedPreferences mPrefs;
- private final static HashMap<String, String> sDictProjectionMap;
- private final static ConcurrentHashMap<String, SoftReference<UserHistoryDictionary>>
- sLangDictCache = CollectionUtils.newConcurrentHashMap();
-
- static {
- sDictProjectionMap = CollectionUtils.newHashMap();
- sDictProjectionMap.put(MAIN_COLUMN_ID, MAIN_COLUMN_ID);
- sDictProjectionMap.put(MAIN_COLUMN_WORD1, MAIN_COLUMN_WORD1);
- sDictProjectionMap.put(MAIN_COLUMN_WORD2, MAIN_COLUMN_WORD2);
- sDictProjectionMap.put(MAIN_COLUMN_LOCALE, MAIN_COLUMN_LOCALE);
-
- sDictProjectionMap.put(FREQ_COLUMN_ID, FREQ_COLUMN_ID);
- sDictProjectionMap.put(FREQ_COLUMN_PAIR_ID, FREQ_COLUMN_PAIR_ID);
- sDictProjectionMap.put(COLUMN_FORGETTING_CURVE_VALUE, COLUMN_FORGETTING_CURVE_VALUE);
- }
-
- private static DatabaseHelper sOpenHelper = null;
+ // Should always be false except when we use this class for test
+ @UsedForTesting boolean isTest = false;
- public String getLocale() {
- return mLocale;
- }
+ private static final ConcurrentHashMap<String, SoftReference<UserHistoryDictionary>>
+ sLangDictCache = CollectionUtils.newConcurrentHashMap();
- public synchronized static UserHistoryDictionary getInstance(
+ public static synchronized UserHistoryDictionary getInstance(
final Context context, final String locale, final SharedPreferences sp) {
if (sLangDictCache.containsKey(locale)) {
final SoftReference<UserHistoryDictionary> ref = sLangDictCache.get(locale);
@@ -136,9 +104,6 @@ public class UserHistoryDictionary extends ExpandableDictionary {
super(context, Dictionary.TYPE_USER_HISTORY);
mLocale = locale;
mPrefs = sp;
- if (sOpenHelper == null) {
- sOpenHelper = new DatabaseHelper(getContext());
- }
if (mLocale != null && mLocale.length() > 1) {
loadDictionary();
}
@@ -158,7 +123,7 @@ public class UserHistoryDictionary extends ExpandableDictionary {
@Override
protected ArrayList<SuggestedWordInfo> getWordsInner(final WordComposer composer,
- final CharSequence prevWord, final ProximityInfo proximityInfo) {
+ final String prevWord, final ProximityInfo proximityInfo) {
// Inhibit suggestions (not predictions) for user history for now. Removing this method
// is enough to use it through the standard ExpandableDictionary way.
return null;
@@ -168,7 +133,7 @@ public class UserHistoryDictionary extends ExpandableDictionary {
* Return whether the passed charsequence is in the dictionary.
*/
@Override
- public synchronized boolean isValidWord(final CharSequence word) {
+ public synchronized boolean isValidWord(final String word) {
// TODO: figure out what is the correct thing to do here.
return false;
}
@@ -181,7 +146,7 @@ public class UserHistoryDictionary extends ExpandableDictionary {
* context, as in beginning of a sentence for example.
* The second word may not be null (a NullPointerException would be thrown).
*/
- public int addToUserHistory(final String word1, String word2, boolean isValid) {
+ public int addToUserHistory(final String word1, final String word2, final boolean isValid) {
if (word2.length() >= BinaryDictionary.MAX_WORD_LENGTH ||
(word1 != null && word1.length() >= BinaryDictionary.MAX_WORD_LENGTH)) {
return -1;
@@ -190,6 +155,7 @@ public class UserHistoryDictionary extends ExpandableDictionary {
try {
super.addWord(
word2, null /* the "shortcut" parameter is null */, FREQUENCY_FOR_TYPED);
+ mBigramList.addBigram(null, word2, (byte)FREQUENCY_FOR_TYPED);
// Do not insert a word as a bigram of itself
if (word2.equals(word1)) {
return 0;
@@ -210,7 +176,7 @@ public class UserHistoryDictionary extends ExpandableDictionary {
return -1;
}
- public boolean cancelAddingUserHistory(String word1, String word2) {
+ public boolean cancelAddingUserHistory(final String word1, final String word2) {
if (mBigramListLock.tryLock()) {
try {
if (mBigramList.removeBigram(word1, word2)) {
@@ -227,11 +193,8 @@ public class UserHistoryDictionary extends ExpandableDictionary {
* Schedules a background thread to write any pending words to the database.
*/
private void flushPendingWrites() {
- if (mBigramListLock.isLocked()) {
- return;
- }
// Create a background thread to write the pending entries
- new UpdateDbTask(sOpenHelper, mBigramList, mLocale, this, mPrefs).execute();
+ new UpdateBinaryTask(mBigramList, mLocale, this, mPrefs, getContext()).execute();
}
@Override
@@ -245,6 +208,8 @@ public class UserHistoryDictionary extends ExpandableDictionary {
}
}
+ private int profTotal;
+
private void loadDictionaryAsyncLocked() {
if (DBG_STRESS_TEST) {
try {
@@ -257,343 +222,184 @@ public class UserHistoryDictionary extends ExpandableDictionary {
final long last = SettingsValues.getLastUserHistoryWriteTime(mPrefs, mLocale);
final boolean initializing = last == 0;
final long now = System.currentTimeMillis();
- // Load the words that correspond to the current input locale
- final Cursor cursor = query(MAIN_COLUMN_LOCALE + "=?", new String[] { mLocale });
- if (null == cursor) return;
- try {
- // TODO: Call SQLiteDataBase.beginTransaction / SQLiteDataBase.endTransaction
- if (cursor.moveToFirst()) {
- final int word1Index = cursor.getColumnIndex(MAIN_COLUMN_WORD1);
- final int word2Index = cursor.getColumnIndex(MAIN_COLUMN_WORD2);
- final int fcIndex = cursor.getColumnIndex(COLUMN_FORGETTING_CURVE_VALUE);
- while (!cursor.isAfterLast()) {
- final String word1 = cursor.getString(word1Index);
- final String word2 = cursor.getString(word2Index);
- final int fc = cursor.getInt(fcIndex);
+ profTotal = 0;
+ final String fileName = NAME + "." + mLocale + ".dict";
+ final ExpandableDictionary dictionary = this;
+ final OnAddWordListener listener = new OnAddWordListener() {
+ @Override
+ public void setUnigram(final String word, final String shortcutTarget,
+ final int frequency) {
+ profTotal++;
+ if (DBG_SAVE_RESTORE) {
+ Log.d(TAG, "load unigram: " + word + "," + frequency);
+ }
+ dictionary.addWord(word, shortcutTarget, frequency);
+ mBigramList.addBigram(null, word, (byte)frequency);
+ }
+
+ @Override
+ public void setBigram(final String word1, final String word2, final int frequency) {
+ if (word1.length() < BinaryDictionary.MAX_WORD_LENGTH
+ && word2.length() < BinaryDictionary.MAX_WORD_LENGTH) {
+ profTotal++;
if (DBG_SAVE_RESTORE) {
- Log.d(TAG, "--- Load user history: " + word1 + ", " + word2 + ","
- + mLocale + "," + this);
- }
- // Safeguard against adding really long words. Stack may overflow due
- // to recursive lookup
- if (null == word1) {
- super.addWord(word2, null /* shortcut */, fc);
- } else if (word1.length() < BinaryDictionary.MAX_WORD_LENGTH
- && word2.length() < BinaryDictionary.MAX_WORD_LENGTH) {
- super.setBigramAndGetFrequency(
- word1, word2, initializing ? new ForgettingCurveParams(true)
- : new ForgettingCurveParams(fc, now, last));
+ Log.d(TAG, "load bigram: " + word1 + "," + word2 + "," + frequency);
}
- mBigramList.addBigram(word1, word2, (byte)fc);
- cursor.moveToNext();
+ dictionary.setBigramAndGetFrequency(
+ word1, word2, initializing ? new ForgettingCurveParams(true)
+ : new ForgettingCurveParams(frequency, now, last));
}
+ mBigramList.addBigram(word1, word2, (byte)frequency);
}
+ };
+
+ // Load the dictionary from binary file
+ FileInputStream inStream = null;
+ try {
+ final File file = new File(getContext().getFilesDir(), fileName);
+ final byte[] buffer = new byte[(int)file.length()];
+ inStream = new FileInputStream(file);
+ inStream.read(buffer);
+ UserHistoryDictIOUtils.readDictionaryBinary(
+ new UserHistoryDictIOUtils.ByteArrayWrapper(buffer), listener);
+ } catch (FileNotFoundException e) {
+ Log.e(TAG, "when loading: file not found" + e);
+ } catch (IOException e) {
+ Log.e(TAG, "IOException when open bytebuffer: " + e);
} finally {
- cursor.close();
+ if (inStream != null) {
+ try {
+ inStream.close();
+ } catch (IOException e) {
+ // do nothing
+ }
+ }
if (PROFILE_SAVE_RESTORE) {
final long diff = System.currentTimeMillis() - now;
- Log.w(TAG, "PROF: Load User HistoryDictionary: "
- + mLocale + ", " + diff + "ms.");
+ Log.d(TAG, "PROF: Load UserHistoryDictionary: "
+ + mLocale + ", " + diff + "ms. load " + profTotal + "entries.");
}
}
}
/**
- * Query the database
- */
- private static Cursor query(String selection, String[] selectionArgs) {
- SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
-
- // main INNER JOIN frequency ON (main._id=freq.pair_id)
- qb.setTables(MAIN_TABLE_NAME + " INNER JOIN " + FREQ_TABLE_NAME + " ON ("
- + MAIN_TABLE_NAME + "." + MAIN_COLUMN_ID + "=" + FREQ_TABLE_NAME + "."
- + FREQ_COLUMN_PAIR_ID +")");
-
- qb.setProjectionMap(sDictProjectionMap);
-
- // Get the database and run the query
- try {
- SQLiteDatabase db = sOpenHelper.getReadableDatabase();
- Cursor c = qb.query(db,
- new String[] {
- MAIN_COLUMN_WORD1, MAIN_COLUMN_WORD2, COLUMN_FORGETTING_CURVE_VALUE },
- selection, selectionArgs, null, null, null);
- return c;
- } catch (android.database.sqlite.SQLiteCantOpenDatabaseException e) {
- // Can't open the database : presumably we can't access storage. That may happen
- // when the device is wedged; do a best effort to still start the keyboard.
- return null;
- }
- }
-
- /**
- * This class helps open, create, and upgrade the database file.
- */
- private static class DatabaseHelper extends SQLiteOpenHelper {
-
- DatabaseHelper(Context context) {
- super(context, DATABASE_NAME, null, DATABASE_VERSION);
- }
-
- @Override
- public void onCreate(SQLiteDatabase db) {
- db.execSQL("PRAGMA foreign_keys = ON;");
- db.execSQL("CREATE TABLE " + MAIN_TABLE_NAME + " ("
- + MAIN_COLUMN_ID + " INTEGER PRIMARY KEY,"
- + MAIN_COLUMN_WORD1 + " TEXT,"
- + MAIN_COLUMN_WORD2 + " TEXT,"
- + MAIN_COLUMN_LOCALE + " TEXT"
- + ");");
- db.execSQL("CREATE TABLE " + FREQ_TABLE_NAME + " ("
- + FREQ_COLUMN_ID + " INTEGER PRIMARY KEY,"
- + FREQ_COLUMN_PAIR_ID + " INTEGER,"
- + COLUMN_FORGETTING_CURVE_VALUE + " INTEGER,"
- + "FOREIGN KEY(" + FREQ_COLUMN_PAIR_ID + ") REFERENCES " + MAIN_TABLE_NAME
- + "(" + MAIN_COLUMN_ID + ")" + " ON DELETE CASCADE"
- + ");");
- }
-
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
- + newVersion + ", which will destroy all old data");
- db.execSQL("DROP TABLE IF EXISTS " + MAIN_TABLE_NAME);
- db.execSQL("DROP TABLE IF EXISTS " + FREQ_TABLE_NAME);
- onCreate(db);
- }
- }
-
- /**
- * Async task to write pending words to the database so that it stays in sync with
- * the in-memory trie.
+ * Async task to write pending words to the binarydicts.
*/
- private static class UpdateDbTask extends AsyncTask<Void, Void, Void> {
+ private static final class UpdateBinaryTask extends AsyncTask<Void, Void, Void>
+ implements BigramDictionaryInterface {
private final UserHistoryDictionaryBigramList mBigramList;
- private final DatabaseHelper mDbHelper;
+ private final boolean mAddLevel0Bigrams;
private final String mLocale;
private final UserHistoryDictionary mUserHistoryDictionary;
private final SharedPreferences mPrefs;
+ private final Context mContext;
- public UpdateDbTask(
- DatabaseHelper openHelper, UserHistoryDictionaryBigramList pendingWrites,
- String locale, UserHistoryDictionary dict, SharedPreferences prefs) {
+ public UpdateBinaryTask(final UserHistoryDictionaryBigramList pendingWrites,
+ final String locale, final UserHistoryDictionary dict,
+ final SharedPreferences prefs, final Context context) {
mBigramList = pendingWrites;
mLocale = locale;
- mDbHelper = openHelper;
mUserHistoryDictionary = dict;
mPrefs = prefs;
- }
-
- /** Prune any old data if the database is getting too big. */
- private static void checkPruneData(SQLiteDatabase db) {
- db.execSQL("PRAGMA foreign_keys = ON;");
- Cursor c = db.query(FREQ_TABLE_NAME, new String[] { FREQ_COLUMN_PAIR_ID },
- null, null, null, null, null);
- try {
- int totalRowCount = c.getCount();
- // prune out old data if we have too much data
- if (totalRowCount > sMaxHistoryBigrams) {
- int numDeleteRows = (totalRowCount - sMaxHistoryBigrams)
- + sDeleteHistoryBigrams;
- int pairIdColumnId = c.getColumnIndex(FREQ_COLUMN_PAIR_ID);
- c.moveToFirst();
- int count = 0;
- while (count < numDeleteRows && !c.isAfterLast()) {
- String pairId = c.getString(pairIdColumnId);
- // Deleting from MAIN table will delete the frequencies
- // due to FOREIGN KEY .. ON DELETE CASCADE
- db.delete(MAIN_TABLE_NAME, MAIN_COLUMN_ID + "=?",
- new String[] { pairId });
- c.moveToNext();
- count++;
- }
- }
- } finally {
- c.close();
- }
+ mContext = context;
+ mAddLevel0Bigrams = mBigramList.size() <= MAX_HISTORY_BIGRAMS;
}
@Override
- protected Void doInBackground(Void... v) {
- SQLiteDatabase db = null;
- if (mUserHistoryDictionary.mBigramListLock.tryLock()) {
+ protected Void doInBackground(final Void... v) {
+ if (mUserHistoryDictionary.isTest) {
+ // If isTest == true, wait until the lock is released.
+ mUserHistoryDictionary.mBigramListLock.lock();
try {
- try {
- db = mDbHelper.getWritableDatabase();
- } catch (android.database.sqlite.SQLiteCantOpenDatabaseException e) {
- // If we can't open the db, don't do anything. Exit through the next test
- // for non-nullity of the db variable.
- }
- if (null == db) {
- // Not much we can do. Just exit.
- return null;
- }
- db.beginTransaction();
- return doLoadTaskLocked(db);
+ doWriteTaskLocked();
} finally {
- if (db != null) {
- db.endTransaction();
- }
mUserHistoryDictionary.mBigramListLock.unlock();
}
+ } else if (mUserHistoryDictionary.mBigramListLock.tryLock()) {
+ doWriteTaskLocked();
}
return null;
}
- private Void doLoadTaskLocked(SQLiteDatabase db) {
+ private void doWriteTaskLocked() {
if (DBG_STRESS_TEST) {
try {
Log.w(TAG, "Start stress in closing: " + mLocale);
Thread.sleep(15000);
Log.w(TAG, "End stress in closing");
} catch (InterruptedException e) {
+ Log.e(TAG, "In stress test: " + e);
}
}
+
final long now = PROFILE_SAVE_RESTORE ? System.currentTimeMillis() : 0;
- int profTotal = 0;
- int profInsert = 0;
- int profDelete = 0;
- db.execSQL("PRAGMA foreign_keys = ON;");
- final boolean addLevel0Bigram = mBigramList.size() <= sMaxHistoryBigrams;
-
- // Write all the entries to the db
- for (String word1 : mBigramList.keySet()) {
- final HashMap<String, Byte> word1Bigrams = mBigramList.getBigrams(word1);
- for (String word2 : word1Bigrams.keySet()) {
- if (PROFILE_SAVE_RESTORE) {
- ++profTotal;
- }
- // Get new frequency. Do not insert unigrams/bigrams which freq is "-1".
- final int freq; // -1, or 0~255
- if (word1 == null) { // unigram
- freq = FREQUENCY_FOR_TYPED;
- final byte prevFc = word1Bigrams.get(word2);
- if (prevFc == FREQUENCY_FOR_TYPED) {
- // No need to update since we found no changes for this entry.
- // Just skip to the next entry.
- if (DBG_SAVE_RESTORE) {
- Log.d(TAG, "Skip update user history: " + word1 + "," + word2
- + "," + prevFc);
- }
- if (!DBG_ALWAYS_WRITE) {
- continue;
- }
- }
- } else { // bigram
- final NextWord nw = mUserHistoryDictionary.getBigramWord(word1, word2);
- if (nw != null) {
- final ForgettingCurveParams fcp = nw.getFcParams();
- final byte prevFc = word1Bigrams.get(word2);
- final byte fc = (byte)fcp.getFc();
- final boolean isValid = fcp.isValid();
- if (prevFc > 0 && prevFc == fc) {
- // No need to update since we found no changes for this entry.
- // Just skip to the next entry.
- if (DBG_SAVE_RESTORE) {
- Log.d(TAG, "Skip update user history: " + word1 + ","
- + word2 + "," + prevFc);
- }
- if (!DBG_ALWAYS_WRITE) {
- continue;
- } else {
- freq = fc;
- }
- } else if (UserHistoryForgettingCurveUtils.
- needsToSave(fc, isValid, addLevel0Bigram)) {
- freq = fc;
- } else {
- // Delete this entry
- freq = -1;
- }
- } else {
- // Delete this entry
- freq = -1;
- }
- }
- // TODO: this process of making a text search for each pair each time
- // is terribly inefficient. Optimize this.
- // Find pair id
- Cursor c = null;
+ final String fileName = NAME + "." + mLocale + ".dict";
+ final File file = new File(mContext.getFilesDir(), fileName);
+ FileOutputStream out = null;
+
+ try {
+ out = new FileOutputStream(file);
+ UserHistoryDictIOUtils.writeDictionaryBinary(out, this, mBigramList, VERSION3);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ Log.e(TAG, "IO Exception while writing file: " + e);
+ } finally {
+ if (out != null) {
try {
- if (null != word1) {
- c = db.query(MAIN_TABLE_NAME, new String[] { MAIN_COLUMN_ID },
- MAIN_COLUMN_WORD1 + "=? AND " + MAIN_COLUMN_WORD2 + "=? AND "
- + MAIN_COLUMN_LOCALE + "=?",
- new String[] { word1, word2, mLocale }, null, null,
- null);
- } else {
- c = db.query(MAIN_TABLE_NAME, new String[] { MAIN_COLUMN_ID },
- MAIN_COLUMN_WORD1 + " IS NULL AND " + MAIN_COLUMN_WORD2
- + "=? AND " + MAIN_COLUMN_LOCALE + "=?",
- new String[] { word2, mLocale }, null, null, null);
- }
-
- final int pairId;
- if (c.moveToFirst()) {
- if (PROFILE_SAVE_RESTORE) {
- ++profDelete;
- }
- // Delete existing pair
- pairId = c.getInt(c.getColumnIndex(MAIN_COLUMN_ID));
- db.delete(FREQ_TABLE_NAME, FREQ_COLUMN_PAIR_ID + "=?",
- new String[] { Integer.toString(pairId) });
- } else {
- // Create new pair
- Long pairIdLong = db.insert(MAIN_TABLE_NAME, null,
- getContentValues(word1, word2, mLocale));
- pairId = pairIdLong.intValue();
- }
- // Eliminate freq == 0 because that word is profanity.
- if (freq > 0) {
- if (PROFILE_SAVE_RESTORE) {
- ++profInsert;
- }
- if (DBG_SAVE_RESTORE) {
- Log.d(TAG, "--- Save user history: " + word1 + ", " + word2
- + mLocale + "," + this);
- }
- // Insert new frequency
- db.insert(FREQ_TABLE_NAME, null,
- getFrequencyContentValues(pairId, freq));
- // Update an existing bigram entry in mBigramList too in order to
- // synchronize the SQL DB and mBigramList.
- mBigramList.updateBigram(word1, word2, (byte)freq);
- }
- } finally {
- if (c != null) {
- c.close();
- }
+ out.close();
+ } catch (IOException e) {
+ // ignore
}
}
}
- checkPruneData(db);
- // Save the timestamp after we finish writing the SQL DB.
+ // Save the timestamp after we finish writing the binary dictionary.
SettingsValues.setLastUserHistoryWriteTime(mPrefs, mLocale);
if (PROFILE_SAVE_RESTORE) {
final long diff = System.currentTimeMillis() - now;
- Log.w(TAG, "PROF: Write User HistoryDictionary: " + mLocale + ", "+ diff
- + "ms. Total: " + profTotal + ". Insert: " + profInsert + ". Delete: "
- + profDelete);
+ Log.w(TAG, "PROF: Write User HistoryDictionary: " + mLocale + ", " + diff + "ms.");
}
- db.setTransactionSuccessful();
- return null;
}
- private static ContentValues getContentValues(String word1, String word2, String locale) {
- ContentValues values = new ContentValues(3);
- values.put(MAIN_COLUMN_WORD1, word1);
- values.put(MAIN_COLUMN_WORD2, word2);
- values.put(MAIN_COLUMN_LOCALE, locale);
- return values;
+ @Override
+ public int getFrequency(final String word1, final String word2) {
+ final int freq;
+ if (word1 == null) { // unigram
+ freq = FREQUENCY_FOR_TYPED;
+ final byte prevFc = mBigramList.getBigrams(word1).get(word2);
+ } else { // bigram
+ final NextWord nw = mUserHistoryDictionary.getBigramWord(word1, word2);
+ if (nw != null) {
+ final ForgettingCurveParams fcp = nw.getFcParams();
+ final byte prevFc = mBigramList.getBigrams(word1).get(word2);
+ final byte fc = fcp.getFc();
+ final boolean isValid = fcp.isValid();
+ if (prevFc > 0 && prevFc == fc) {
+ freq = ((int)fc) & 0xFF;
+ } else if (UserHistoryForgettingCurveUtils.
+ needsToSave(fc, isValid, mAddLevel0Bigrams)) {
+ freq = ((int)fc) & 0xFF;
+ } else {
+ // Delete this entry
+ freq = -1;
+ }
+ } else {
+ // Delete this entry
+ freq = -1;
+ }
+ }
+ return freq;
}
+ }
- private static ContentValues getFrequencyContentValues(int pairId, int frequency) {
- ContentValues values = new ContentValues(2);
- values.put(FREQ_COLUMN_PAIR_ID, pairId);
- values.put(COLUMN_FORGETTING_CURVE_VALUE, frequency);
- return values;
+ @UsedForTesting
+ void forceAddWordForTest(final String word1, final String word2, final boolean isValid) {
+ mBigramListLock.lock();
+ try {
+ addToUserHistory(word1, word2, isValid);
+ } finally {
+ mBigramListLock.unlock();
}
}
-
}
diff --git a/java/src/com/android/inputmethod/latin/UserHistoryDictionaryBigramList.java b/java/src/com/android/inputmethod/latin/UserHistoryDictionaryBigramList.java
index bb0f5429a..df44948f9 100644
--- a/java/src/com/android/inputmethod/latin/UserHistoryDictionaryBigramList.java
+++ b/java/src/com/android/inputmethod/latin/UserHistoryDictionaryBigramList.java
@@ -26,7 +26,7 @@ import java.util.Set;
* All bigrams including stale ones in SQL DB should be stored in this class to avoid adding stale
* bigrams when we write to the SQL DB.
*/
-public class UserHistoryDictionaryBigramList {
+public final class UserHistoryDictionaryBigramList {
public static final byte FORGETTING_CURVE_INITIAL_VALUE = 0;
private static final String TAG = UserHistoryDictionaryBigramList.class.getSimpleName();
private static final HashMap<String, Byte> EMPTY_BIGRAM_MAP = CollectionUtils.newHashMap();
diff --git a/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java b/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java
index 3d3bd980c..9053d709b 100644
--- a/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java
+++ b/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java
@@ -36,7 +36,7 @@ public final class UserHistoryForgettingCurveUtils {
// This utility class is not publicly instantiable.
}
- public static class ForgettingCurveParams {
+ public static final class ForgettingCurveParams {
private byte mFc;
long mLastTouchedTime = 0;
private final boolean mIsValid;
@@ -195,7 +195,7 @@ public final class UserHistoryForgettingCurveUtils {
return (elapsedTime < ELAPSED_TIME_MAX - 1 || level > 0);
}
- private static class MathUtils {
+ private static final class MathUtils {
public static final int[][] SCORE_TABLE = new int[FC_LEVEL_MAX][ELAPSED_TIME_MAX + 1];
static {
for (int i = 0; i < FC_LEVEL_MAX; ++i) {
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index 275ebf305..daff442f3 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -24,7 +24,7 @@ import java.util.Arrays;
/**
* A place to store the currently composing word with information such as adjacent key codes as well
*/
-public class WordComposer {
+public final class WordComposer {
private static final int N = BinaryDictionary.MAX_WORD_LENGTH;
public static final int CAPS_MODE_OFF = 0;
@@ -38,7 +38,7 @@ public class WordComposer {
private int[] mPrimaryKeyCodes;
private final InputPointers mInputPointers = new InputPointers(N);
private final StringBuilder mTypedWord;
- private CharSequence mAutoCorrection;
+ private String mAutoCorrection;
private boolean mIsResumed;
private boolean mIsBatchMode;
@@ -64,7 +64,7 @@ public class WordComposer {
refreshSize();
}
- public WordComposer(WordComposer source) {
+ public WordComposer(final WordComposer source) {
mPrimaryKeyCodes = Arrays.copyOf(source.mPrimaryKeyCodes, source.mPrimaryKeyCodes.length);
mTypedWord = new StringBuilder(source.mTypedWord);
mInputPointers.copy(source.mInputPointers);
@@ -121,7 +121,8 @@ public class WordComposer {
return mInputPointers;
}
- private static boolean isFirstCharCapitalized(int index, int codePoint, boolean previous) {
+ private static boolean isFirstCharCapitalized(final int index, final int codePoint,
+ final boolean previous) {
if (index == 0) return Character.isUpperCase(codePoint);
return previous && !Character.isUpperCase(codePoint);
}
@@ -129,12 +130,12 @@ public class WordComposer {
/**
* Add a new keystroke, with the pressed key's code point with the touch point coordinates.
*/
- public void add(int primaryCode, int keyX, int keyY) {
+ public void add(final int primaryCode, final int keyX, final int keyY) {
final int newIndex = size();
mTypedWord.appendCodePoint(primaryCode);
refreshSize();
if (newIndex < BinaryDictionary.MAX_WORD_LENGTH) {
- mPrimaryKeyCodes[newIndex] = primaryCode >= Keyboard.CODE_SPACE
+ mPrimaryKeyCodes[newIndex] = primaryCode >= Constants.CODE_SPACE
? Character.toLowerCase(primaryCode) : primaryCode;
// In the batch input mode, the {@code mInputPointers} holds batch input points and
// shouldn't be overridden by the "typed key" coordinates
@@ -148,7 +149,7 @@ public class WordComposer {
newIndex, primaryCode, mIsFirstCharCapitalized);
if (Character.isUpperCase(primaryCode)) mCapsCount++;
if (Character.isDigit(primaryCode)) mDigitsCount++;
- if (Keyboard.CODE_SINGLE_QUOTE == primaryCode) {
+ if (Constants.CODE_SINGLE_QUOTE == primaryCode) {
++mTrailingSingleQuotesCount;
} else {
mTrailingSingleQuotesCount = 0;
@@ -156,12 +157,12 @@ public class WordComposer {
mAutoCorrection = null;
}
- public void setBatchInputPointers(InputPointers batchPointers) {
+ public void setBatchInputPointers(final InputPointers batchPointers) {
mInputPointers.set(batchPointers);
mIsBatchMode = true;
}
- public void setBatchInputWord(CharSequence word) {
+ public void setBatchInputWord(final String word) {
reset();
mIsBatchMode = true;
final int length = word.length();
@@ -177,14 +178,16 @@ public class WordComposer {
* Internal method to retrieve reasonable proximity info for a character.
*/
private void addKeyInfo(final int codePoint, final Keyboard keyboard) {
- final Key key = keyboard.getKey(codePoint);
- if (key != null) {
- final int x = key.mX + key.mWidth / 2;
- final int y = key.mY + key.mHeight / 2;
- add(codePoint, x, y);
- return;
+ final int x, y;
+ final Key key;
+ if (keyboard != null && (key = keyboard.getKey(codePoint)) != null) {
+ x = key.mX + key.mWidth / 2;
+ y = key.mY + key.mHeight / 2;
+ } else {
+ x = Constants.NOT_A_COORDINATE;
+ y = Constants.NOT_A_COORDINATE;
}
- add(codePoint, Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE);
+ add(codePoint, x, y);
}
/**
@@ -195,7 +198,7 @@ public class WordComposer {
reset();
final int length = word.length();
for (int i = 0; i < length; i = Character.offsetByCodePoints(word, i, 1)) {
- int codePoint = Character.codePointAt(word, i);
+ final int codePoint = Character.codePointAt(word, i);
addKeyInfo(codePoint, keyboard);
}
mIsResumed = true;
@@ -233,7 +236,7 @@ public class WordComposer {
int i = mTypedWord.length();
while (i > 0) {
i = mTypedWord.offsetByCodePoints(i, -1);
- if (Keyboard.CODE_SINGLE_QUOTE != mTypedWord.codePointAt(i)) break;
+ if (Constants.CODE_SINGLE_QUOTE != mTypedWord.codePointAt(i)) break;
++mTrailingSingleQuotesCount;
}
}
@@ -319,14 +322,14 @@ public class WordComposer {
/**
* Sets the auto-correction for this word.
*/
- public void setAutoCorrection(final CharSequence correction) {
+ public void setAutoCorrection(final String correction) {
mAutoCorrection = correction;
}
/**
* @return the auto-correction for this word, or null if none.
*/
- public CharSequence getAutoCorrectionOrNull() {
+ public String getAutoCorrectionOrNull() {
return mAutoCorrection;
}
@@ -339,7 +342,7 @@ public class WordComposer {
// `type' should be one of the LastComposedWord.COMMIT_TYPE_* constants above.
public LastComposedWord commitWord(final int type, final String committedWord,
- final String separatorString, final CharSequence prevWord) {
+ final String separatorString, final String prevWord) {
// Note: currently, we come here whenever we commit a word. If it's a MANUAL_PICK
// or a DECIDED_WORD we may cancel the commit later; otherwise, we should deactivate
// the last composed word to ensure this does not happen.
diff --git a/java/src/com/android/inputmethod/latin/WordListInfo.java b/java/src/com/android/inputmethod/latin/WordListInfo.java
index 54f04d78f..095320e25 100644
--- a/java/src/com/android/inputmethod/latin/WordListInfo.java
+++ b/java/src/com/android/inputmethod/latin/WordListInfo.java
@@ -19,7 +19,7 @@ package com.android.inputmethod.latin;
/**
* Information container for a word list.
*/
-public class WordListInfo {
+public final class WordListInfo {
public final String mId;
public final String mLocale;
public WordListInfo(final String id, final String locale) {
diff --git a/java/src/com/android/inputmethod/latin/XmlParseUtils.java b/java/src/com/android/inputmethod/latin/XmlParseUtils.java
index b5cbaf19e..75dc68f1d 100644
--- a/java/src/com/android/inputmethod/latin/XmlParseUtils.java
+++ b/java/src/com/android/inputmethod/latin/XmlParseUtils.java
@@ -36,28 +36,28 @@ public final class XmlParseUtils {
}
@SuppressWarnings("serial")
- public static class IllegalStartTag extends ParseException {
+ public static final class IllegalStartTag extends ParseException {
public IllegalStartTag(XmlPullParser parser, String parent) {
super("Illegal start tag " + parser.getName() + " in " + parent, parser);
}
}
@SuppressWarnings("serial")
- public static class IllegalEndTag extends ParseException {
+ public static final class IllegalEndTag extends ParseException {
public IllegalEndTag(XmlPullParser parser, String parent) {
super("Illegal end tag " + parser.getName() + " in " + parent, parser);
}
}
@SuppressWarnings("serial")
- public static class IllegalAttribute extends ParseException {
+ public static final class IllegalAttribute extends ParseException {
public IllegalAttribute(XmlPullParser parser, String attribute) {
super("Tag " + parser.getName() + " has illegal attribute " + attribute, parser);
}
}
@SuppressWarnings("serial")
- public static class NonEmptyTag extends ParseException{
+ public static final class NonEmptyTag extends ParseException{
public NonEmptyTag(String tag, XmlPullParser parser) {
super(tag + " must be empty tag", parser);
}
diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java
index 7a1b9dcb7..ee0e9cd7e 100644
--- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java
+++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java
@@ -16,21 +16,34 @@
package com.android.inputmethod.latin.makedict;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.latin.Constants;
+import com.android.inputmethod.latin.makedict.BinaryDictInputOutput.CharEncoding;
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput.FusionDictionaryBufferInterface;
import com.android.inputmethod.latin.makedict.FormatSpec.FileHeader;
import com.android.inputmethod.latin.makedict.FormatSpec.FormatOptions;
import com.android.inputmethod.latin.makedict.FusionDictionary.CharGroup;
+import com.android.inputmethod.latin.makedict.FusionDictionary.WeightedString;
import java.io.IOException;
+import java.io.OutputStream;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
import java.util.Map;
import java.util.Stack;
-public class BinaryDictIOUtils {
+public final class BinaryDictIOUtils {
private static final boolean DBG = false;
+ private static final int MSB24 = 0x800000;
+ private static final int SINT24_MAX = 0x7FFFFF;
+ private static final int MAX_JUMPS = 10000;
- private static class Position {
+ private BinaryDictIOUtils() {
+ // This utility class is not publicly instantiable.
+ }
+
+ private static final class Position {
public static final int NOT_READ_GROUPCOUNT = -1;
public int mAddress;
@@ -77,7 +90,10 @@ public class BinaryDictIOUtils {
p.mAddress += BinaryDictInputOutput.getGroupCountSize(p.mNumOfCharGroup);
p.mPosition = 0;
}
-
+ if (p.mNumOfCharGroup == 0) {
+ stack.pop();
+ continue;
+ }
CharGroupInfo info = BinaryDictInputOutput.readCharGroup(buffer,
p.mAddress - headerSize, formatOptions);
for (int i = 0; i < info.mCharacters.length; ++i) {
@@ -85,20 +101,36 @@ public class BinaryDictIOUtils {
}
p.mPosition++;
- if (info.mFrequency != FusionDictionary.CharGroup.NOT_A_TERMINAL) { // found word
+ final boolean isMovedGroup = BinaryDictInputOutput.isMovedGroup(info.mFlags,
+ formatOptions);
+ final boolean isDeletedGroup = BinaryDictInputOutput.isDeletedGroup(info.mFlags,
+ formatOptions);
+ if (!isMovedGroup && !isDeletedGroup
+ && info.mFrequency != FusionDictionary.CharGroup.NOT_A_TERMINAL) {// found word
words.put(info.mOriginalAddress, new String(pushedChars, 0, index));
frequencies.put(info.mOriginalAddress, info.mFrequency);
if (info.mBigrams != null) bigrams.put(info.mOriginalAddress, info.mBigrams);
}
if (p.mPosition == p.mNumOfCharGroup) {
- stack.pop();
+ if (formatOptions.mSupportsDynamicUpdate) {
+ final int forwardLinkAddress = buffer.readUnsignedInt24();
+ if (forwardLinkAddress != FormatSpec.NO_FORWARD_LINK_ADDRESS) {
+ // the node has a forward link.
+ p.mNumOfCharGroup = Position.NOT_READ_GROUPCOUNT;
+ p.mAddress = forwardLinkAddress;
+ } else {
+ stack.pop();
+ }
+ } else {
+ stack.pop();
+ }
} else {
// the node has more groups.
p.mAddress = buffer.position();
}
- if (BinaryDictInputOutput.hasChildrenAddress(info.mChildrenAddress)) {
+ if (!isMovedGroup && BinaryDictInputOutput.hasChildrenAddress(info.mChildrenAddress)) {
Position childrenPos = new Position(info.mChildrenAddress + headerSize, index);
stack.push(childrenPos);
}
@@ -136,6 +168,7 @@ public class BinaryDictIOUtils {
* @throws IOException
* @throws UnsupportedFormatException
*/
+ @UsedForTesting
public static int getTerminalPosition(final FusionDictionaryBufferInterface buffer,
final String word) throws IOException, UnsupportedFormatException {
if (word == null) return FormatSpec.NOT_VALID_WORD;
@@ -146,48 +179,802 @@ public class BinaryDictIOUtils {
final int wordLen = word.codePointCount(0, word.length());
for (int depth = 0; depth < Constants.Dictionary.MAX_WORD_LENGTH; ++depth) {
if (wordPos >= wordLen) return FormatSpec.NOT_VALID_WORD;
- int groupOffset = buffer.position() - header.mHeaderSize;
+
+ do {
+ final int charGroupCount = BinaryDictInputOutput.readCharGroupCount(buffer);
+ boolean foundNextCharGroup = false;
+ for (int i = 0; i < charGroupCount; ++i) {
+ final int charGroupPos = buffer.position();
+ final CharGroupInfo currentInfo = BinaryDictInputOutput.readCharGroup(buffer,
+ buffer.position(), header.mFormatOptions);
+ final boolean isMovedGroup =
+ BinaryDictInputOutput.isMovedGroup(currentInfo.mFlags,
+ header.mFormatOptions);
+ final boolean isDeletedGroup =
+ BinaryDictInputOutput.isDeletedGroup(currentInfo.mFlags,
+ header.mFormatOptions);
+ if (isMovedGroup) continue;
+ boolean same = true;
+ for (int p = 0, j = word.offsetByCodePoints(0, wordPos);
+ p < currentInfo.mCharacters.length;
+ ++p, j = word.offsetByCodePoints(j, 1)) {
+ if (wordPos + p >= wordLen
+ || word.codePointAt(j) != currentInfo.mCharacters[p]) {
+ same = false;
+ break;
+ }
+ }
+
+ if (same) {
+ // found the group matches the word.
+ if (wordPos + currentInfo.mCharacters.length == wordLen) {
+ if (currentInfo.mFrequency == CharGroup.NOT_A_TERMINAL
+ || isDeletedGroup) {
+ return FormatSpec.NOT_VALID_WORD;
+ } else {
+ return charGroupPos;
+ }
+ }
+ wordPos += currentInfo.mCharacters.length;
+ if (currentInfo.mChildrenAddress == FormatSpec.NO_CHILDREN_ADDRESS) {
+ return FormatSpec.NOT_VALID_WORD;
+ }
+ foundNextCharGroup = true;
+ buffer.position(currentInfo.mChildrenAddress);
+ break;
+ }
+ }
+
+ // If we found the next char group, it is under the file pointer.
+ // But if not, we are at the end of this node so we expect to have
+ // a forward link address that we need to consult and possibly resume
+ // search on the next node in the linked list.
+ if (foundNextCharGroup) break;
+ if (!header.mFormatOptions.mSupportsDynamicUpdate) {
+ return FormatSpec.NOT_VALID_WORD;
+ }
+
+ final int forwardLinkAddress = buffer.readUnsignedInt24();
+ if (forwardLinkAddress == FormatSpec.NO_FORWARD_LINK_ADDRESS) {
+ return FormatSpec.NOT_VALID_WORD;
+ }
+ buffer.position(forwardLinkAddress);
+ } while(true);
+ }
+ return FormatSpec.NOT_VALID_WORD;
+ }
+
+ private static int markAsDeleted(final int flags) {
+ return (flags & (~FormatSpec.MASK_GROUP_ADDRESS_TYPE)) | FormatSpec.FLAG_IS_DELETED;
+ }
+
+ /**
+ * Delete the word from the binary file.
+ *
+ * @param buffer the buffer to write.
+ * @param word the word we delete
+ * @throws IOException
+ * @throws UnsupportedFormatException
+ */
+ @UsedForTesting
+ public static void deleteWord(final FusionDictionaryBufferInterface buffer,
+ final String word) throws IOException, UnsupportedFormatException {
+ buffer.position(0);
+ final FileHeader header = BinaryDictInputOutput.readHeader(buffer);
+ final int wordPosition = getTerminalPosition(buffer, word);
+ if (wordPosition == FormatSpec.NOT_VALID_WORD) return;
+
+ buffer.position(wordPosition);
+ final int flags = buffer.readUnsignedByte();
+ buffer.position(wordPosition);
+ buffer.put((byte)markAsDeleted(flags));
+ }
+
+ /**
+ * @return the size written, in bytes. Always 3 bytes.
+ */
+ private static int writeSInt24ToBuffer(final FusionDictionaryBufferInterface buffer,
+ final int value) {
+ final int absValue = Math.abs(value);
+ buffer.put((byte)(((value < 0 ? 0x80 : 0) | (absValue >> 16)) & 0xFF));
+ buffer.put((byte)((absValue >> 8) & 0xFF));
+ buffer.put((byte)(absValue & 0xFF));
+ return 3;
+ }
+
+ /**
+ * @return the size written, in bytes. Always 3 bytes.
+ */
+ private static int writeSInt24ToStream(final OutputStream destination, final int value)
+ throws IOException {
+ final int absValue = Math.abs(value);
+ destination.write((byte)(((value < 0 ? 0x80 : 0) | (absValue >> 16)) & 0xFF));
+ destination.write((byte)((absValue >> 8) & 0xFF));
+ destination.write((byte)(absValue & 0xFF));
+ return 3;
+ }
+
+ /**
+ * @return the size written, in bytes. 1, 2, or 3 bytes.
+ */
+ private static int writeVariableAddress(final OutputStream destination, final int value)
+ throws IOException {
+ switch (BinaryDictInputOutput.getByteSize(value)) {
+ case 1:
+ destination.write((byte)value);
+ break;
+ case 2:
+ destination.write((byte)(0xFF & (value >> 8)));
+ destination.write((byte)(0xFF & value));
+ break;
+ case 3:
+ destination.write((byte)(0xFF & (value >> 16)));
+ destination.write((byte)(0xFF & (value >> 8)));
+ destination.write((byte)(0xFF & value));
+ break;
+ }
+ return BinaryDictInputOutput.getByteSize(value);
+ }
+
+ /**
+ * Update a parent address in a CharGroup that is referred to by groupOriginAddress.
+ *
+ * @param buffer the buffer to write.
+ * @param groupOriginAddress the address of the group.
+ * @param newParentAddress the absolute address of the parent.
+ * @param formatOptions file format options.
+ */
+ public static void updateParentAddress(final FusionDictionaryBufferInterface buffer,
+ final int groupOriginAddress, final int newParentAddress,
+ final FormatOptions formatOptions) {
+ final int originalPosition = buffer.position();
+ buffer.position(groupOriginAddress);
+ if (!formatOptions.mSupportsDynamicUpdate) {
+ throw new RuntimeException("this file format does not support parent addresses");
+ }
+ final int flags = buffer.readUnsignedByte();
+ if (BinaryDictInputOutput.isMovedGroup(flags, formatOptions)) {
+ // if the group is moved, the parent address is stored in the destination group.
+ // We are guaranteed to process the destination group later, so there is no need to
+ // update anything here.
+ buffer.position(originalPosition);
+ return;
+ }
+ if (DBG) {
+ MakedictLog.d("update parent address flags=" + flags + ", " + groupOriginAddress);
+ }
+ final int parentOffset = newParentAddress - groupOriginAddress;
+ writeSInt24ToBuffer(buffer, parentOffset);
+ buffer.position(originalPosition);
+ }
+
+ private static void skipCharGroup(final FusionDictionaryBufferInterface buffer,
+ final FormatOptions formatOptions) {
+ final int flags = buffer.readUnsignedByte();
+ BinaryDictInputOutput.readParentAddress(buffer, formatOptions);
+ skipString(buffer, (flags & FormatSpec.FLAG_HAS_MULTIPLE_CHARS) != 0);
+ BinaryDictInputOutput.readChildrenAddress(buffer, flags, formatOptions);
+ if ((flags & FormatSpec.FLAG_IS_TERMINAL) != 0) buffer.readUnsignedByte();
+ if ((flags & FormatSpec.FLAG_HAS_SHORTCUT_TARGETS) != 0) {
+ final int shortcutsSize = buffer.readUnsignedShort();
+ buffer.position(buffer.position() + shortcutsSize
+ - FormatSpec.GROUP_SHORTCUT_LIST_SIZE_SIZE);
+ }
+ if ((flags & FormatSpec.FLAG_HAS_BIGRAMS) != 0) {
+ int bigramCount = 0;
+ while (bigramCount++ < FormatSpec.MAX_BIGRAMS_IN_A_GROUP) {
+ final int bigramFlags = buffer.readUnsignedByte();
+ switch (bigramFlags & FormatSpec.MASK_ATTRIBUTE_ADDRESS_TYPE) {
+ case FormatSpec.FLAG_ATTRIBUTE_ADDRESS_TYPE_ONEBYTE:
+ buffer.readUnsignedByte();
+ break;
+ case FormatSpec.FLAG_ATTRIBUTE_ADDRESS_TYPE_TWOBYTES:
+ buffer.readUnsignedShort();
+ break;
+ case FormatSpec.FLAG_ATTRIBUTE_ADDRESS_TYPE_THREEBYTES:
+ buffer.readUnsignedInt24();
+ break;
+ }
+ if ((bigramFlags & FormatSpec.FLAG_ATTRIBUTE_HAS_NEXT) == 0) break;
+ }
+ if (bigramCount >= FormatSpec.MAX_BIGRAMS_IN_A_GROUP) {
+ throw new RuntimeException("Too many bigrams in a group.");
+ }
+ }
+ }
+
+ /**
+ * Update parent addresses in a Node that is referred to by nodeOriginAddress.
+ *
+ * @param buffer the buffer to be modified.
+ * @param nodeOriginAddress the address of a modified Node.
+ * @param newParentAddress the address to be written.
+ * @param formatOptions file format options.
+ */
+ public static void updateParentAddresses(final FusionDictionaryBufferInterface buffer,
+ final int nodeOriginAddress, final int newParentAddress,
+ final FormatOptions formatOptions) {
+ final int originalPosition = buffer.position();
+ buffer.position(nodeOriginAddress);
+ do {
+ final int count = BinaryDictInputOutput.readCharGroupCount(buffer);
+ for (int i = 0; i < count; ++i) {
+ updateParentAddress(buffer, buffer.position(), newParentAddress, formatOptions);
+ skipCharGroup(buffer, formatOptions);
+ }
+ final int forwardLinkAddress = buffer.readUnsignedInt24();
+ buffer.position(forwardLinkAddress);
+ } while (formatOptions.mSupportsDynamicUpdate
+ && buffer.position() != FormatSpec.NO_FORWARD_LINK_ADDRESS);
+ buffer.position(originalPosition);
+ }
+
+ private static void skipString(final FusionDictionaryBufferInterface buffer,
+ final boolean hasMultipleChars) {
+ if (hasMultipleChars) {
+ int character = CharEncoding.readChar(buffer);
+ while (character != FormatSpec.INVALID_CHARACTER) {
+ character = CharEncoding.readChar(buffer);
+ }
+ } else {
+ CharEncoding.readChar(buffer);
+ }
+ }
+
+ /**
+ * Write a string to a stream.
+ *
+ * @param destination the stream to write.
+ * @param word the string to be written.
+ * @return the size written, in bytes.
+ * @throws IOException
+ */
+ private static int writeString(final OutputStream destination, final String word)
+ throws IOException {
+ int size = 0;
+ final int length = word.length();
+ for (int i = 0; i < length; i = word.offsetByCodePoints(i, 1)) {
+ final int codePoint = word.codePointAt(i);
+ if (CharEncoding.getCharSize(codePoint) == 1) {
+ destination.write((byte)codePoint);
+ size++;
+ } else {
+ destination.write((byte)(0xFF & (codePoint >> 16)));
+ destination.write((byte)(0xFF & (codePoint >> 8)));
+ destination.write((byte)(0xFF & codePoint));
+ size += 3;
+ }
+ }
+ destination.write((byte)FormatSpec.GROUP_CHARACTERS_TERMINATOR);
+ size += FormatSpec.GROUP_TERMINATOR_SIZE;
+ return size;
+ }
+
+ /**
+ * Update a children address in a CharGroup that is addressed by groupOriginAddress.
+ *
+ * @param buffer the buffer to write.
+ * @param groupOriginAddress the address of the group.
+ * @param newChildrenAddress the absolute address of the child.
+ * @param formatOptions file format options.
+ */
+ public static void updateChildrenAddress(final FusionDictionaryBufferInterface buffer,
+ final int groupOriginAddress, final int newChildrenAddress,
+ final FormatOptions formatOptions) {
+ final int originalPosition = buffer.position();
+ buffer.position(groupOriginAddress);
+ final int flags = buffer.readUnsignedByte();
+ final int parentAddress = BinaryDictInputOutput.readParentAddress(buffer, formatOptions);
+ skipString(buffer, (flags & FormatSpec.FLAG_HAS_MULTIPLE_CHARS) != 0);
+ if ((flags & FormatSpec.FLAG_IS_TERMINAL) != 0) buffer.readUnsignedByte();
+ final int childrenOffset = newChildrenAddress == FormatSpec.NO_CHILDREN_ADDRESS
+ ? FormatSpec.NO_CHILDREN_ADDRESS : newChildrenAddress - buffer.position();
+ writeSInt24ToBuffer(buffer, childrenOffset);
+ buffer.position(originalPosition);
+ }
+
+ /**
+ * Write a char group to an output stream.
+ * A char group is an in-memory representation of a node in trie.
+ * A char group info is an on-disk representation of a node.
+ *
+ * @param destination the stream to write.
+ * @param info the char group info to be written.
+ * @return the size written, in bytes.
+ */
+ public static int writeCharGroup(final OutputStream destination, final CharGroupInfo info)
+ throws IOException {
+ int size = FormatSpec.GROUP_FLAGS_SIZE;
+ destination.write((byte)info.mFlags);
+ final int parentOffset = info.mParentAddress == FormatSpec.NO_PARENT_ADDRESS ?
+ FormatSpec.NO_PARENT_ADDRESS : info.mParentAddress - info.mOriginalAddress;
+ size += writeSInt24ToStream(destination, parentOffset);
+
+ for (int i = 0; i < info.mCharacters.length; ++i) {
+ if (CharEncoding.getCharSize(info.mCharacters[i]) == 1) {
+ destination.write((byte)info.mCharacters[i]);
+ size++;
+ } else {
+ size += writeSInt24ToStream(destination, info.mCharacters[i]);
+ }
+ }
+ if (info.mCharacters.length > 1) {
+ destination.write((byte)FormatSpec.GROUP_CHARACTERS_TERMINATOR);
+ size++;
+ }
+
+ if ((info.mFlags & FormatSpec.FLAG_IS_TERMINAL) != 0) {
+ destination.write((byte)info.mFrequency);
+ size++;
+ }
+
+ if (DBG) {
+ MakedictLog.d("writeCharGroup origin=" + info.mOriginalAddress + ", size=" + size
+ + ", child=" + info.mChildrenAddress + ", characters ="
+ + new String(info.mCharacters, 0, info.mCharacters.length));
+ }
+ final int childrenOffset = info.mChildrenAddress == FormatSpec.NO_CHILDREN_ADDRESS ?
+ 0 : info.mChildrenAddress - (info.mOriginalAddress + size);
+ writeSInt24ToStream(destination, childrenOffset);
+ size += FormatSpec.SIGNED_CHILDREN_ADDRESS_SIZE;
+
+ if (info.mShortcutTargets != null && info.mShortcutTargets.size() > 0) {
+ final int shortcutListSize =
+ BinaryDictInputOutput.getShortcutListSize(info.mShortcutTargets);
+ destination.write((byte)(shortcutListSize >> 8));
+ destination.write((byte)(shortcutListSize & 0xFF));
+ size += 2;
+ final Iterator<WeightedString> shortcutIterator = info.mShortcutTargets.iterator();
+ while (shortcutIterator.hasNext()) {
+ final WeightedString target = shortcutIterator.next();
+ destination.write((byte)BinaryDictInputOutput.makeShortcutFlags(
+ shortcutIterator.hasNext(), target.mFrequency));
+ size++;
+ size += writeString(destination, target.mWord);
+ }
+ }
+
+ if (info.mBigrams != null) {
+ // TODO: Consolidate this code with the code that computes the size of the bigram list
+ // in BinaryDictionaryInputOutput#computeActualNodeSize
+ for (int i = 0; i < info.mBigrams.size(); ++i) {
+
+ final int bigramFrequency = info.mBigrams.get(i).mFrequency;
+ int bigramFlags = (i < info.mBigrams.size() - 1)
+ ? FormatSpec.FLAG_ATTRIBUTE_HAS_NEXT : 0;
+ size++;
+ final int bigramOffset = info.mBigrams.get(i).mAddress - (info.mOriginalAddress
+ + size);
+ bigramFlags |= (bigramOffset < 0) ? FormatSpec.FLAG_ATTRIBUTE_OFFSET_NEGATIVE : 0;
+ switch (BinaryDictInputOutput.getByteSize(bigramOffset)) {
+ case 1:
+ bigramFlags |= FormatSpec.FLAG_ATTRIBUTE_ADDRESS_TYPE_ONEBYTE;
+ break;
+ case 2:
+ bigramFlags |= FormatSpec.FLAG_ATTRIBUTE_ADDRESS_TYPE_TWOBYTES;
+ break;
+ case 3:
+ bigramFlags |= FormatSpec.FLAG_ATTRIBUTE_ADDRESS_TYPE_THREEBYTES;
+ break;
+ }
+ bigramFlags |= bigramFrequency & FormatSpec.FLAG_ATTRIBUTE_FREQUENCY;
+ destination.write((byte)bigramFlags);
+ size += writeVariableAddress(destination, Math.abs(bigramOffset));
+ }
+ }
+ return size;
+ }
+
+ @SuppressWarnings("unused")
+ private static void updateForwardLink(final FusionDictionaryBufferInterface buffer,
+ final int nodeOriginAddress, final int newNodeAddress,
+ final FormatOptions formatOptions) {
+ buffer.position(nodeOriginAddress);
+ int jumpCount = 0;
+ while (jumpCount++ < MAX_JUMPS) {
+ final int count = BinaryDictInputOutput.readCharGroupCount(buffer);
+ for (int i = 0; i < count; ++i) skipCharGroup(buffer, formatOptions);
+ final int forwardLinkAddress = buffer.readUnsignedInt24();
+ if (forwardLinkAddress == FormatSpec.NO_FORWARD_LINK_ADDRESS) {
+ buffer.position(buffer.position() - FormatSpec.FORWARD_LINK_ADDRESS_SIZE);
+ writeSInt24ToBuffer(buffer, newNodeAddress);
+ return;
+ }
+ buffer.position(forwardLinkAddress);
+ }
+ if (DBG && jumpCount >= MAX_JUMPS) {
+ throw new RuntimeException("too many jumps, probably a bug.");
+ }
+ }
+
+ /**
+ * Helper method to move a char group to the tail of the file.
+ */
+ private static int moveCharGroup(final OutputStream destination,
+ final FusionDictionaryBufferInterface buffer, final CharGroupInfo info,
+ final int nodeOriginAddress, final int oldGroupAddress,
+ final FormatOptions formatOptions) throws IOException {
+ updateParentAddress(buffer, oldGroupAddress, buffer.limit() + 1, formatOptions);
+ buffer.position(oldGroupAddress);
+ final int currentFlags = buffer.readUnsignedByte();
+ buffer.position(oldGroupAddress);
+ buffer.put((byte)(FormatSpec.FLAG_IS_MOVED | (currentFlags
+ & (~FormatSpec.MASK_MOVE_AND_DELETE_FLAG))));
+ int size = FormatSpec.GROUP_FLAGS_SIZE;
+ updateForwardLink(buffer, nodeOriginAddress, buffer.limit(), formatOptions);
+ size += writeNode(destination, new CharGroupInfo[] { info });
+ return size;
+ }
+
+ /**
+ * Compute the size of the char group.
+ */
+ private static int computeGroupSize(final CharGroupInfo info,
+ final FormatOptions formatOptions) {
+ int size = FormatSpec.GROUP_FLAGS_SIZE + FormatSpec.PARENT_ADDRESS_SIZE
+ + BinaryDictInputOutput.getGroupCharactersSize(info.mCharacters)
+ + BinaryDictInputOutput.getChildrenAddressSize(info.mFlags, formatOptions);
+ if ((info.mFlags & FormatSpec.FLAG_IS_TERMINAL) != 0) {
+ size += FormatSpec.GROUP_FREQUENCY_SIZE;
+ }
+ if (info.mShortcutTargets != null && !info.mShortcutTargets.isEmpty()) {
+ size += BinaryDictInputOutput.getShortcutListSize(info.mShortcutTargets);
+ }
+ if (info.mBigrams != null) {
+ for (final PendingAttribute attr : info.mBigrams) {
+ size += FormatSpec.GROUP_FLAGS_SIZE;
+ size += BinaryDictInputOutput.getByteSize(attr.mAddress);
+ }
+ }
+ return size;
+ }
+
+ /**
+ * Write a node to the stream.
+ *
+ * @param destination the stream to write.
+ * @param infos groups to be written.
+ * @return the size written, in bytes.
+ * @throws IOException
+ */
+ private static int writeNode(final OutputStream destination, final CharGroupInfo[] infos)
+ throws IOException {
+ int size = BinaryDictInputOutput.getGroupCountSize(infos.length);
+ switch (BinaryDictInputOutput.getGroupCountSize(infos.length)) {
+ case 1:
+ destination.write((byte)infos.length);
+ break;
+ case 2:
+ destination.write((byte)(infos.length >> 8));
+ destination.write((byte)(infos.length & 0xFF));
+ break;
+ default:
+ throw new RuntimeException("Invalid group count size.");
+ }
+ for (final CharGroupInfo info : infos) size += writeCharGroup(destination, info);
+ writeSInt24ToStream(destination, FormatSpec.NO_FORWARD_LINK_ADDRESS);
+ return size + FormatSpec.FORWARD_LINK_ADDRESS_SIZE;
+ }
+
+ /**
+ * Move a group that is referred to by oldGroupOrigin to the tail of the file.
+ * And set the children address to the byte after the group.
+ *
+ * @param nodeOrigin the address of the tail of the file.
+ * @param characters
+ * @param length
+ * @param flags
+ * @param frequency
+ * @param parentAddress
+ * @param shortcutTargets
+ * @param bigrams
+ * @param destination the stream representing the tail of the file.
+ * @param buffer the buffer representing the (constant-size) body of the file.
+ * @param oldNodeOrigin
+ * @param oldGroupOrigin
+ * @param formatOptions
+ * @return the size written, in bytes.
+ * @throws IOException
+ */
+ private static int moveGroup(final int nodeOrigin, final int[] characters, final int length,
+ final int flags, final int frequency, final int parentAddress,
+ final ArrayList<WeightedString> shortcutTargets,
+ final ArrayList<PendingAttribute> bigrams, final OutputStream destination,
+ final FusionDictionaryBufferInterface buffer, final int oldNodeOrigin,
+ final int oldGroupOrigin, final FormatOptions formatOptions) throws IOException {
+ int size = 0;
+ final int newGroupOrigin = nodeOrigin + 1;
+ final int[] writtenCharacters = Arrays.copyOfRange(characters, 0, length);
+ final CharGroupInfo tmpInfo = new CharGroupInfo(newGroupOrigin, -1 /* endAddress */,
+ flags, writtenCharacters, frequency, parentAddress, FormatSpec.NO_CHILDREN_ADDRESS,
+ shortcutTargets, bigrams);
+ size = computeGroupSize(tmpInfo, formatOptions);
+ final CharGroupInfo newInfo = new CharGroupInfo(newGroupOrigin, newGroupOrigin + size,
+ flags, writtenCharacters, frequency, parentAddress,
+ nodeOrigin + 1 + size + FormatSpec.FORWARD_LINK_ADDRESS_SIZE, shortcutTargets,
+ bigrams);
+ moveCharGroup(destination, buffer, newInfo, oldNodeOrigin, oldGroupOrigin, formatOptions);
+ return 1 + size + FormatSpec.FORWARD_LINK_ADDRESS_SIZE;
+ }
+
+ /**
+ * Insert a word into a binary dictionary.
+ *
+ * @param buffer
+ * @param destination
+ * @param word
+ * @param frequency
+ * @param bigramStrings
+ * @param shortcuts
+ * @throws IOException
+ * @throws UnsupportedFormatException
+ */
+ // TODO: Support batch insertion.
+ // TODO: Remove @UsedForTesting once UserHistoryDictionary is implemented by BinaryDictionary.
+ @UsedForTesting
+ public static void insertWord(final FusionDictionaryBufferInterface buffer,
+ final OutputStream destination, final String word, final int frequency,
+ final ArrayList<WeightedString> bigramStrings,
+ final ArrayList<WeightedString> shortcuts, final boolean isNotAWord,
+ final boolean isBlackListEntry)
+ throws IOException, UnsupportedFormatException {
+ final ArrayList<PendingAttribute> bigrams = new ArrayList<PendingAttribute>();
+ if (bigramStrings != null) {
+ for (final WeightedString bigram : bigramStrings) {
+ int position = getTerminalPosition(buffer, 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();
+ final boolean hasShortcuts = shortcuts != null && !shortcuts.isEmpty();
+
+ // find the insert position of the word.
+ if (buffer.position() != 0) buffer.position(0);
+ final FileHeader header = BinaryDictInputOutput.readHeader(buffer);
+
+ int wordPos = 0, address = buffer.position(), nodeOriginAddress = buffer.position();
+ final int[] codePoints = FusionDictionary.getCodePoints(word);
+ final int wordLen = codePoints.length;
+
+ for (int depth = 0; depth < Constants.Dictionary.MAX_WORD_LENGTH; ++depth) {
+ if (wordPos >= wordLen) break;
+ nodeOriginAddress = buffer.position();
+ int nodeParentAddress = -1;
final int charGroupCount = BinaryDictInputOutput.readCharGroupCount(buffer);
- groupOffset += BinaryDictInputOutput.getGroupCountSize(charGroupCount);
+ boolean foundNextGroup = false;
for (int i = 0; i < charGroupCount; ++i) {
- final int charGroupPos = buffer.position();
+ address = buffer.position();
final CharGroupInfo currentInfo = BinaryDictInputOutput.readCharGroup(buffer,
buffer.position(), header.mFormatOptions);
- boolean same = true;
- for (int p = 0, j = word.offsetByCodePoints(0, wordPos);
- p < currentInfo.mCharacters.length;
- ++p, j = word.offsetByCodePoints(j, 1)) {
- if (wordPos + p >= wordLen
- || word.codePointAt(j) != currentInfo.mCharacters[p]) {
- same = false;
+ final boolean isMovedGroup = BinaryDictInputOutput.isMovedGroup(currentInfo.mFlags,
+ header.mFormatOptions);
+ if (isMovedGroup) continue;
+ nodeParentAddress = (currentInfo.mParentAddress == FormatSpec.NO_PARENT_ADDRESS)
+ ? FormatSpec.NO_PARENT_ADDRESS : currentInfo.mParentAddress + address;
+ boolean matched = true;
+ for (int p = 0; p < currentInfo.mCharacters.length; ++p) {
+ if (wordPos + p >= wordLen) {
+ /*
+ * splitting
+ * before
+ * abcd - ef
+ *
+ * insert "abc"
+ *
+ * after
+ * abc - d - ef
+ */
+ final int newNodeAddress = buffer.limit();
+ final int flags = BinaryDictInputOutput.makeCharGroupFlags(p > 1,
+ isTerminal, 0, hasShortcuts, hasBigrams, false /* isNotAWord */,
+ false /* isBlackListEntry */, header.mFormatOptions);
+ int written = moveGroup(newNodeAddress, currentInfo.mCharacters, p, flags,
+ frequency, nodeParentAddress, shortcuts, bigrams, destination,
+ buffer, nodeOriginAddress, address, header.mFormatOptions);
+
+ final int[] characters2 = Arrays.copyOfRange(currentInfo.mCharacters, p,
+ currentInfo.mCharacters.length);
+ if (currentInfo.mChildrenAddress != FormatSpec.NO_CHILDREN_ADDRESS) {
+ updateParentAddresses(buffer, currentInfo.mChildrenAddress,
+ newNodeAddress + written + 1, header.mFormatOptions);
+ }
+ final CharGroupInfo newInfo2 = new CharGroupInfo(
+ newNodeAddress + written + 1, -1 /* endAddress */,
+ currentInfo.mFlags, characters2, currentInfo.mFrequency,
+ newNodeAddress + 1, currentInfo.mChildrenAddress,
+ currentInfo.mShortcutTargets, currentInfo.mBigrams);
+ writeNode(destination, new CharGroupInfo[] { newInfo2 });
+ return;
+ } else if (codePoints[wordPos + p] != currentInfo.mCharacters[p]) {
+ if (p > 0) {
+ /*
+ * splitting
+ * before
+ * ab - cd
+ *
+ * insert "ac"
+ *
+ * after
+ * a - b - cd
+ * |
+ * - c
+ */
+
+ final int newNodeAddress = buffer.limit();
+ final int childrenAddress = currentInfo.mChildrenAddress;
+
+ // move prefix
+ final int prefixFlags = BinaryDictInputOutput.makeCharGroupFlags(p > 1,
+ false /* isTerminal */, 0 /* childrenAddressSize*/,
+ false /* hasShortcut */, false /* hasBigrams */,
+ false /* isNotAWord */, false /* isBlackListEntry */,
+ header.mFormatOptions);
+ int written = moveGroup(newNodeAddress, currentInfo.mCharacters, p,
+ prefixFlags, -1 /* frequency */, nodeParentAddress, null, null,
+ destination, buffer, nodeOriginAddress, address,
+ header.mFormatOptions);
+
+ final int[] suffixCharacters = Arrays.copyOfRange(
+ currentInfo.mCharacters, p, currentInfo.mCharacters.length);
+ if (currentInfo.mChildrenAddress != FormatSpec.NO_CHILDREN_ADDRESS) {
+ updateParentAddresses(buffer, currentInfo.mChildrenAddress,
+ newNodeAddress + written + 1, header.mFormatOptions);
+ }
+ final int suffixFlags = BinaryDictInputOutput.makeCharGroupFlags(
+ suffixCharacters.length > 1,
+ (currentInfo.mFlags & FormatSpec.FLAG_IS_TERMINAL) != 0,
+ 0 /* childrenAddressSize */,
+ (currentInfo.mFlags & FormatSpec.FLAG_HAS_SHORTCUT_TARGETS)
+ != 0,
+ (currentInfo.mFlags & FormatSpec.FLAG_HAS_BIGRAMS) != 0,
+ isNotAWord, isBlackListEntry, header.mFormatOptions);
+ final CharGroupInfo suffixInfo = new CharGroupInfo(
+ newNodeAddress + written + 1, -1 /* endAddress */, suffixFlags,
+ suffixCharacters, currentInfo.mFrequency, newNodeAddress + 1,
+ currentInfo.mChildrenAddress, currentInfo.mShortcutTargets,
+ currentInfo.mBigrams);
+ written += computeGroupSize(suffixInfo, header.mFormatOptions) + 1;
+
+ final int[] newCharacters = Arrays.copyOfRange(codePoints, wordPos + p,
+ codePoints.length);
+ final int flags = BinaryDictInputOutput.makeCharGroupFlags(
+ newCharacters.length > 1, isTerminal,
+ 0 /* childrenAddressSize */, hasShortcuts, hasBigrams,
+ isNotAWord, isBlackListEntry, header.mFormatOptions);
+ final CharGroupInfo newInfo = new CharGroupInfo(
+ newNodeAddress + written, -1 /* endAddress */, flags,
+ newCharacters, frequency, newNodeAddress + 1,
+ FormatSpec.NO_CHILDREN_ADDRESS, shortcuts, bigrams);
+ writeNode(destination, new CharGroupInfo[] { suffixInfo, newInfo });
+ return;
+ }
+ matched = false;
break;
}
}
- if (same) {
+ if (matched) {
if (wordPos + currentInfo.mCharacters.length == wordLen) {
- if (currentInfo.mFrequency == CharGroup.NOT_A_TERMINAL) {
- return FormatSpec.NOT_VALID_WORD;
- } else {
- return charGroupPos;
- }
+ // the word exists in the dictionary.
+ // only update group.
+ final int newNodeAddress = buffer.limit();
+ final boolean hasMultipleChars = currentInfo.mCharacters.length > 1;
+ final int flags = BinaryDictInputOutput.makeCharGroupFlags(hasMultipleChars,
+ isTerminal, 0 /* childrenAddressSize */, hasShortcuts, hasBigrams,
+ isNotAWord, isBlackListEntry, header.mFormatOptions);
+ final CharGroupInfo newInfo = new CharGroupInfo(newNodeAddress + 1,
+ -1 /* endAddress */, flags, currentInfo.mCharacters, frequency,
+ nodeParentAddress, currentInfo.mChildrenAddress, shortcuts,
+ bigrams);
+ moveCharGroup(destination, buffer, newInfo, nodeOriginAddress, address,
+ header.mFormatOptions);
+ return;
}
wordPos += currentInfo.mCharacters.length;
if (currentInfo.mChildrenAddress == FormatSpec.NO_CHILDREN_ADDRESS) {
- return FormatSpec.NOT_VALID_WORD;
+ /*
+ * found the prefix of the word.
+ * make new node and link to the node from this group.
+ *
+ * before
+ * ab - cd
+ *
+ * insert "abcde"
+ *
+ * after
+ * ab - cd - e
+ */
+ final int newNodeAddress = buffer.limit();
+ updateChildrenAddress(buffer, address, newNodeAddress,
+ header.mFormatOptions);
+ final int newGroupAddress = newNodeAddress + 1;
+ final boolean hasMultipleChars = (wordLen - wordPos) > 1;
+ final int flags = BinaryDictInputOutput.makeCharGroupFlags(hasMultipleChars,
+ isTerminal, 0 /* childrenAddressSize */, hasShortcuts, hasBigrams,
+ isNotAWord, isBlackListEntry, header.mFormatOptions);
+ final int[] characters = Arrays.copyOfRange(codePoints, wordPos, wordLen);
+ final CharGroupInfo newInfo = new CharGroupInfo(newGroupAddress, -1, flags,
+ characters, frequency, address, FormatSpec.NO_CHILDREN_ADDRESS,
+ shortcuts, bigrams);
+ writeNode(destination, new CharGroupInfo[] { newInfo });
+ return;
}
buffer.position(currentInfo.mChildrenAddress);
+ foundNextGroup = true;
break;
}
- groupOffset = currentInfo.mEndAddress;
+ }
- // not found
- if (i >= charGroupCount - 1) {
- return FormatSpec.NOT_VALID_WORD;
- }
+ if (foundNextGroup) continue;
+
+ // reached the end of the array.
+ final int linkAddressPosition = buffer.position();
+ int nextLink = buffer.readUnsignedInt24();
+ if ((nextLink & MSB24) != 0) {
+ nextLink = -(nextLink & SINT24_MAX);
+ }
+ if (nextLink == FormatSpec.NO_FORWARD_LINK_ADDRESS) {
+ /*
+ * expand this node.
+ *
+ * before
+ * ab - cd
+ *
+ * insert "abef"
+ *
+ * after
+ * ab - cd
+ * |
+ * - ef
+ */
+
+ // change the forward link address.
+ final int newNodeAddress = buffer.limit();
+ buffer.position(linkAddressPosition);
+ writeSInt24ToBuffer(buffer, newNodeAddress);
+
+ final int[] characters = Arrays.copyOfRange(codePoints, wordPos, wordLen);
+ final int flags = BinaryDictInputOutput.makeCharGroupFlags(characters.length > 1,
+ isTerminal, 0 /* childrenAddressSize */, hasShortcuts, hasBigrams,
+ isNotAWord, isBlackListEntry, header.mFormatOptions);
+ final CharGroupInfo newInfo = new CharGroupInfo(newNodeAddress + 1,
+ -1 /* endAddress */, flags, characters, frequency, nodeParentAddress,
+ FormatSpec.NO_CHILDREN_ADDRESS, shortcuts, bigrams);
+ writeNode(destination, new CharGroupInfo[]{ newInfo });
+ return;
+ } else {
+ depth--;
+ buffer.position(nextLink);
}
}
- return FormatSpec.NOT_VALID_WORD;
+ }
+
+ /**
+ * Find a word from the buffer.
+ *
+ * @param buffer the buffer representing the body of the dictionary file.
+ * @param word the word searched
+ * @return the found group
+ * @throws IOException
+ * @throws UnsupportedFormatException
+ */
+ @UsedForTesting
+ public static CharGroupInfo findWordFromBuffer(final FusionDictionaryBufferInterface buffer,
+ final String word) throws IOException, UnsupportedFormatException {
+ int position = getTerminalPosition(buffer, word);
+ if (position != FormatSpec.NOT_VALID_WORD) {
+ buffer.position(0);
+ final FileHeader header = BinaryDictInputOutput.readHeader(buffer);
+ buffer.position(position);
+ return BinaryDictInputOutput.readCharGroup(buffer, position, header.mFormatOptions);
+ }
+ return null;
}
}
diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
index 1d3e94bb7..d1a3c7b0a 100644
--- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
+++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
@@ -16,6 +16,7 @@
package com.android.inputmethod.latin.makedict;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.latin.makedict.FormatSpec.FileHeader;
import com.android.inputmethod.latin.makedict.FormatSpec.FormatOptions;
import com.android.inputmethod.latin.makedict.FusionDictionary.CharGroup;
@@ -36,7 +37,6 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import java.util.Stack;
import java.util.TreeMap;
/**
@@ -44,7 +44,7 @@ import java.util.TreeMap;
*
* All the methods in this class are static.
*/
-public class BinaryDictInputOutput {
+public final class BinaryDictInputOutput {
private static final boolean DBG = MakedictLog.DBG;
@@ -54,6 +54,7 @@ public class BinaryDictInputOutput {
// If the number of passes exceeds this number, makedict bails with an exception on
// suspicion that a bug might be causing an infinite loop.
private static final int MAX_PASSES = 24;
+ private static final int MAX_JUMPS = 12;
public interface FusionDictionaryBufferInterface {
public int readUnsignedByte();
@@ -64,6 +65,7 @@ public class BinaryDictInputOutput {
public void position(int newPosition);
public void put(final byte b);
public int limit();
+ public int capacity();
}
public static final class ByteBufferWrapper implements FusionDictionaryBufferInterface {
@@ -75,12 +77,12 @@ public class BinaryDictInputOutput {
@Override
public int readUnsignedByte() {
- return ((int)mBuffer.get()) & 0xFF;
+ return mBuffer.get() & 0xFF;
}
@Override
public int readUnsignedShort() {
- return ((int)mBuffer.getShort()) & 0xFFFF;
+ return mBuffer.getShort() & 0xFFFF;
}
@Override
@@ -113,13 +115,17 @@ public class BinaryDictInputOutput {
public int limit() {
return mBuffer.limit();
}
+
+ @Override
+ public int capacity() {
+ return mBuffer.capacity();
+ }
}
/**
* A class grouping utility function for our specific character encoding.
*/
- private static class CharEncoding {
-
+ static final class CharEncoding {
private static final int MINIMAL_ONE_BYTE_CHARACTER_VALUE = 0x20;
private static final int MAXIMAL_ONE_BYTE_CHARACTER_VALUE = 0xFF;
@@ -148,7 +154,7 @@ public class BinaryDictInputOutput {
* @param character the character code.
* @return the size in binary encoded-form, either 1 or 3 bytes.
*/
- private static int getCharSize(final int character) {
+ static int getCharSize(final int character) {
// See char encoding in FusionDictionary.java
if (fitsOnOneByte(character)) return 1;
if (FormatSpec.INVALID_CHARACTER == character) return 1;
@@ -257,7 +263,7 @@ public class BinaryDictInputOutput {
* @param buffer the buffer, positioned over an encoded character.
* @return the character code.
*/
- private static int readChar(final FusionDictionaryBufferInterface buffer) {
+ static int readChar(final FusionDictionaryBufferInterface buffer) {
int character = buffer.readUnsignedByte();
if (!fitsOnOneByte(character)) {
if (FormatSpec.GROUP_CHARACTERS_TERMINATOR == character) {
@@ -271,6 +277,21 @@ public class BinaryDictInputOutput {
}
/**
+ * Compute the binary size of the character array.
+ *
+ * If only one character, this is the size of this character. If many, it's the sum of their
+ * sizes + 1 byte for the terminator.
+ *
+ * @param characters the character array
+ * @return the size of the char array, including the terminator if any
+ */
+ static int getGroupCharactersSize(final int[] characters) {
+ int size = CharEncoding.getCharArraySize(characters);
+ if (characters.length > 1) size += FormatSpec.GROUP_TERMINATOR_SIZE;
+ return size;
+ }
+
+ /**
* Compute the binary size of the character array in a group
*
* If only one character, this is the size of this character. If many, it's the sum of their
@@ -280,9 +301,7 @@ public class BinaryDictInputOutput {
* @return the size of the char array, including the terminator if any
*/
private static int getGroupCharactersSize(final CharGroup group) {
- int size = CharEncoding.getCharArraySize(group.mChars);
- if (group.hasSeveralChars()) size += FormatSpec.GROUP_TERMINATOR_SIZE;
- return size;
+ return getGroupCharactersSize(group.mChars);
}
/**
@@ -332,7 +351,7 @@ public class BinaryDictInputOutput {
* This is known in advance and does not change according to position in the file
* like address lists do.
*/
- private static int getShortcutListSize(final ArrayList<WeightedString> shortcutList) {
+ static int getShortcutListSize(final ArrayList<WeightedString> shortcutList) {
if (null == shortcutList) return 0;
int size = FormatSpec.GROUP_SHORTCUT_LIST_SIZE_SIZE;
for (final WeightedString shortcut : shortcutList) {
@@ -376,7 +395,7 @@ public class BinaryDictInputOutput {
g.mCachedSize = groupSize;
size += groupSize;
}
- if (options.mHasLinkedListNode) {
+ if (options.mSupportsDynamicUpdate) {
size += FormatSpec.FORWARD_LINK_ADDRESS_SIZE;
}
node.mCachedSize = size;
@@ -390,11 +409,27 @@ public class BinaryDictInputOutput {
}
/**
- * Helper method to check whether the CharGroup has a parent address.
+ * Helper method to check whether the group is moved.
*/
- private static boolean hasParentAddress(final FormatOptions options) {
- return options.mVersion >= FormatSpec.FIRST_VERSION_WITH_PARENT_ADDRESS
- && options.mHasParentAddress;
+ public static boolean isMovedGroup(final int flags, final FormatOptions options) {
+ return options.mSupportsDynamicUpdate
+ && ((flags & FormatSpec.MASK_GROUP_ADDRESS_TYPE) == FormatSpec.FLAG_IS_MOVED);
+ }
+
+ /**
+ * Helper method to check whether the group is deleted.
+ */
+ public static boolean isDeletedGroup(final int flags, final FormatOptions formatOptions) {
+ return formatOptions.mSupportsDynamicUpdate
+ && ((flags & FormatSpec.MASK_GROUP_ADDRESS_TYPE) == FormatSpec.FLAG_IS_DELETED);
+ }
+
+ /**
+ * Helper method to check whether the dictionary can be updated dynamically.
+ */
+ public static boolean supportsDynamicUpdate(final FormatOptions options) {
+ return options.mVersion >= FormatSpec.FIRST_VERSION_WITH_DYNAMIC_UPDATE
+ && options.mSupportsDynamicUpdate;
}
/**
@@ -404,7 +439,7 @@ public class BinaryDictInputOutput {
* @param options file format options.
*/
private static int getGroupHeaderSize(final CharGroup group, final FormatOptions options) {
- if (hasParentAddress(options)) {
+ if (supportsDynamicUpdate(options)) {
return FormatSpec.GROUP_FLAGS_SIZE + FormatSpec.PARENT_ADDRESS_SIZE
+ getGroupCharactersSize(group);
} else {
@@ -412,6 +447,10 @@ public class BinaryDictInputOutput {
}
}
+ private static final int UINT8_MAX = 0xFF;
+ private static final int UINT16_MAX = 0xFFFF;
+ private static final int UINT24_MAX = 0xFFFFFF;
+
/**
* Compute the size, in bytes, that an address will occupy.
*
@@ -422,18 +461,23 @@ public class BinaryDictInputOutput {
* @param address the address
* @return the byte size.
*/
- private static int getByteSize(final int address) {
- assert(address < 0x1000000);
+ static int getByteSize(final int address) {
+ assert(address <= UINT24_MAX);
if (!hasChildrenAddress(address)) {
return 0;
- } else if (Math.abs(address) < 0x100) {
+ } else if (Math.abs(address) <= UINT8_MAX) {
return 1;
- } else if (Math.abs(address) < 0x10000) {
+ } else if (Math.abs(address) <= UINT16_MAX) {
return 2;
} else {
return 3;
}
}
+
+ private static final int SINT24_MAX = 0x7FFFFF;
+ private static final int MSB8 = 0x80;
+ private static final int MSB24 = 0x800000;
+
// End utility methods.
// This method is responsible for finding a nice ordering of the nodes that favors run-time
@@ -509,13 +553,19 @@ public class BinaryDictInputOutput {
}
int groupSize = getGroupHeaderSize(group, formatOptions);
if (group.isTerminal()) groupSize += FormatSpec.GROUP_FREQUENCY_SIZE;
- if (null != group.mChildren) {
+ if (null == group.mChildren && formatOptions.mSupportsDynamicUpdate) {
+ groupSize += FormatSpec.SIGNED_CHILDREN_ADDRESS_SIZE;
+ } else if (null != group.mChildren) {
final int offsetBasePoint = groupSize + node.mCachedAddress + size;
final int offset = group.mChildren.mCachedAddress - offsetBasePoint;
// assign my address to children's parent address
group.mChildren.mCachedParentAddress = group.mCachedAddress
- group.mChildren.mCachedAddress;
- groupSize += getByteSize(offset);
+ if (formatOptions.mSupportsDynamicUpdate) {
+ groupSize += FormatSpec.SIGNED_CHILDREN_ADDRESS_SIZE;
+ } else {
+ groupSize += getByteSize(offset);
+ }
}
groupSize += getShortcutListSize(group.mShortcutTargets);
if (null != group.mBigrams) {
@@ -530,7 +580,7 @@ public class BinaryDictInputOutput {
group.mCachedSize = groupSize;
size += groupSize;
}
- if (formatOptions.mHasLinkedListNode) {
+ if (formatOptions.mSupportsDynamicUpdate) {
size += FormatSpec.FORWARD_LINK_ADDRESS_SIZE;
}
if (node.mCachedSize != size) {
@@ -559,7 +609,8 @@ public class BinaryDictInputOutput {
groupOffset += g.mCachedSize;
}
final int nodeSize = groupCountSize + groupOffset
- + (formatOptions.mHasLinkedListNode ? FormatSpec.FORWARD_LINK_ADDRESS_SIZE : 0);
+ + (formatOptions.mSupportsDynamicUpdate
+ ? FormatSpec.FORWARD_LINK_ADDRESS_SIZE : 0);
if (nodeSize != n.mCachedSize) {
throw new RuntimeException("Bug : Stored and computed node size differ");
}
@@ -668,49 +719,81 @@ public class BinaryDictInputOutput {
}
}
- private static byte makeCharGroupFlags(final CharGroup group, final int groupAddress,
- final int childrenOffset) {
- byte flags = 0;
- if (group.mChars.length > 1) flags |= FormatSpec.FLAG_HAS_MULTIPLE_CHARS;
- if (group.mFrequency >= 0) {
- flags |= FormatSpec.FLAG_IS_TERMINAL;
- }
- if (null != group.mChildren) {
- switch (getByteSize(childrenOffset)) {
- case 1:
- flags |= FormatSpec.FLAG_GROUP_ADDRESS_TYPE_ONEBYTE;
- break;
- case 2:
- flags |= FormatSpec.FLAG_GROUP_ADDRESS_TYPE_TWOBYTES;
- break;
- case 3:
- flags |= FormatSpec.FLAG_GROUP_ADDRESS_TYPE_THREEBYTES;
- break;
- default:
- throw new RuntimeException("Node with a strange address");
- }
- }
- if (null != group.mShortcutTargets) {
- if (DBG && 0 == group.mShortcutTargets.size()) {
- throw new RuntimeException("0-sized shortcut list must be null");
- }
- flags |= FormatSpec.FLAG_HAS_SHORTCUT_TARGETS;
+ /**
+ * Helper method to write a variable-size signed address to a file.
+ *
+ * @param buffer the buffer to write to.
+ * @param index the index in the buffer to write the address to.
+ * @param address the address to write.
+ * @return the size in bytes the address actually took.
+ */
+ private static int writeVariableSignedAddress(final byte[] buffer, int index,
+ final int address) {
+ if (!hasChildrenAddress(address)) {
+ buffer[index] = buffer[index + 1] = buffer[index + 2] = 0;
+ } else {
+ final int absAddress = Math.abs(address);
+ buffer[index++] = (byte)((address < 0 ? MSB8 : 0) | (0xFF & (absAddress >> 16)));
+ buffer[index++] = (byte)(0xFF & (absAddress >> 8));
+ buffer[index++] = (byte)(0xFF & absAddress);
}
- if (null != group.mBigrams) {
- if (DBG && 0 == group.mBigrams.size()) {
- throw new RuntimeException("0-sized bigram list must be null");
+ return 3;
+ }
+
+ /**
+ * Makes the flag value for a char group.
+ *
+ * @param hasMultipleChars whether the group has multiple chars.
+ * @param isTerminal whether the group is terminal.
+ * @param childrenAddressSize the size of a children address.
+ * @param hasShortcuts whether the group has shortcuts.
+ * @param hasBigrams whether the group has bigrams.
+ * @param isNotAWord whether the group is not a word.
+ * @param isBlackListEntry whether the group is a blacklist entry.
+ * @param formatOptions file format options.
+ * @return the flags
+ */
+ static int makeCharGroupFlags(final boolean hasMultipleChars, final boolean isTerminal,
+ final int childrenAddressSize, final boolean hasShortcuts, final boolean hasBigrams,
+ final boolean isNotAWord, final boolean isBlackListEntry,
+ final FormatOptions formatOptions) {
+ byte flags = 0;
+ if (hasMultipleChars) flags |= FormatSpec.FLAG_HAS_MULTIPLE_CHARS;
+ if (isTerminal) flags |= FormatSpec.FLAG_IS_TERMINAL;
+ if (formatOptions.mSupportsDynamicUpdate) {
+ flags |= FormatSpec.FLAG_IS_NOT_MOVED;
+ } else if (true) {
+ switch (childrenAddressSize) {
+ case 1:
+ flags |= FormatSpec.FLAG_GROUP_ADDRESS_TYPE_ONEBYTE;
+ break;
+ case 2:
+ flags |= FormatSpec.FLAG_GROUP_ADDRESS_TYPE_TWOBYTES;
+ break;
+ case 3:
+ flags |= FormatSpec.FLAG_GROUP_ADDRESS_TYPE_THREEBYTES;
+ break;
+ case 0:
+ flags |= FormatSpec.FLAG_GROUP_ADDRESS_TYPE_NOADDRESS;
+ break;
+ default:
+ throw new RuntimeException("Node with a strange address");
}
- flags |= FormatSpec.FLAG_HAS_BIGRAMS;
- }
- if (group.mIsNotAWord) {
- flags |= FormatSpec.FLAG_IS_NOT_A_WORD;
- }
- if (group.mIsBlacklistEntry) {
- flags |= FormatSpec.FLAG_IS_BLACKLISTED;
}
+ if (hasShortcuts) flags |= FormatSpec.FLAG_HAS_SHORTCUT_TARGETS;
+ if (hasBigrams) flags |= FormatSpec.FLAG_HAS_BIGRAMS;
+ if (isNotAWord) flags |= FormatSpec.FLAG_IS_NOT_A_WORD;
+ if (isBlackListEntry) flags |= FormatSpec.FLAG_IS_BLACKLISTED;
return flags;
}
+ private static byte makeCharGroupFlags(final CharGroup group, final int groupAddress,
+ final int childrenOffset, final FormatOptions formatOptions) {
+ return (byte) makeCharGroupFlags(group.mChars.length > 1, group.mFrequency >= 0,
+ getByteSize(childrenOffset), group.mShortcutTargets != null, group.mBigrams != null,
+ group.mIsNotAWord, group.mIsBlacklistEntry, formatOptions);
+ }
+
/**
* Makes the flag value for a bigram.
*
@@ -792,8 +875,7 @@ public class BinaryDictInputOutput {
return (options.mFrenchLigatureProcessing ? FormatSpec.FRENCH_LIGATURE_PROCESSING_FLAG : 0)
+ (options.mGermanUmlautProcessing ? FormatSpec.GERMAN_UMLAUT_PROCESSING_FLAG : 0)
+ (hasBigrams ? FormatSpec.CONTAINS_BIGRAMS_FLAG : 0)
- + (formatOptions.mHasParentAddress ? FormatSpec.HAS_PARENT_ADDRESS : 0)
- + (formatOptions.mHasLinkedListNode ? FormatSpec.HAS_LINKEDLIST_NODE : 0);
+ + (formatOptions.mSupportsDynamicUpdate ? FormatSpec.SUPPORTS_DYNAMIC_UPDATE : 0);
}
/**
@@ -803,11 +885,30 @@ public class BinaryDictInputOutput {
* @param frequency the frequency of the attribute, 0..15
* @return the flags
*/
- private static final int makeShortcutFlags(final boolean more, final int frequency) {
+ static final int makeShortcutFlags(final boolean more, final int frequency) {
return (more ? FormatSpec.FLAG_ATTRIBUTE_HAS_NEXT : 0)
+ (frequency & FormatSpec.FLAG_ATTRIBUTE_FREQUENCY);
}
+ private static final int writeParentAddress(final byte[] buffer, final int index,
+ final int address, final FormatOptions formatOptions) {
+ if (supportsDynamicUpdate(formatOptions)) {
+ if (address == FormatSpec.NO_PARENT_ADDRESS) {
+ buffer[index] = buffer[index + 1] = buffer[index + 2] = 0;
+ } else {
+ final int absAddress = Math.abs(address);
+ assert(absAddress <= SINT24_MAX);
+ buffer[index] = (byte)((address < 0 ? MSB8 : 0)
+ | ((absAddress >> 16) & 0xFF));
+ buffer[index + 1] = (byte)((absAddress >> 8) & 0xFF);
+ buffer[index + 2] = (byte)(absAddress & 0xFF);
+ }
+ return index + 3;
+ } else {
+ return index;
+ }
+ }
+
/**
* Write a node to memory. The node is expected to have its final position cached.
*
@@ -822,6 +923,7 @@ public class BinaryDictInputOutput {
*/
private static int writePlacedNode(final FusionDictionary dict, byte[] buffer,
final Node node, final FormatOptions formatOptions) {
+ // TODO: Make the code in common with BinaryDictIOUtils#writeCharGroup
int index = node.mCachedAddress;
final int groupCount = node.mData.size();
@@ -854,22 +956,15 @@ public class BinaryDictInputOutput {
final int childrenOffset = null == group.mChildren
? FormatSpec.NO_CHILDREN_ADDRESS
: group.mChildren.mCachedAddress - groupAddress;
- byte flags = makeCharGroupFlags(group, groupAddress, childrenOffset);
+ byte flags = makeCharGroupFlags(group, groupAddress, childrenOffset, formatOptions);
buffer[index++] = flags;
- if (hasParentAddress(formatOptions)) {
- if (parentAddress == FormatSpec.NO_PARENT_ADDRESS) {
- // this node is the root node.
- buffer[index] = buffer[index + 1] = buffer[index + 2] = 0;
- } else {
- // write parent address. (version 3)
- final int actualParentAddress = Math.abs(parentAddress
- + (node.mCachedAddress - group.mCachedAddress));
- buffer[index] = (byte)((actualParentAddress >> 16) & 0xFF);
- buffer[index + 1] = (byte)((actualParentAddress >> 8) & 0xFF);
- buffer[index + 2] = (byte)(actualParentAddress & 0xFF);
- }
- index += 3;
+ if (parentAddress == FormatSpec.NO_PARENT_ADDRESS) {
+ index = writeParentAddress(buffer, index, parentAddress, formatOptions);
+ } else {
+ index = writeParentAddress(buffer, index,
+ parentAddress + (node.mCachedAddress - group.mCachedAddress),
+ formatOptions);
}
index = CharEncoding.writeCharArray(group.mChars, buffer, index);
@@ -879,7 +974,13 @@ public class BinaryDictInputOutput {
if (group.mFrequency >= 0) {
buffer[index++] = (byte) group.mFrequency;
}
- final int shift = writeVariableAddress(buffer, index, childrenOffset);
+
+ final int shift;
+ if (formatOptions.mSupportsDynamicUpdate) {
+ shift = writeVariableSignedAddress(buffer, index, childrenOffset);
+ } else {
+ shift = writeVariableAddress(buffer, index, childrenOffset);
+ }
index += shift;
groupAddress += shift;
@@ -927,7 +1028,7 @@ public class BinaryDictInputOutput {
}
}
- if (formatOptions.mHasLinkedListNode) {
+ if (formatOptions.mSupportsDynamicUpdate) {
buffer[index] = buffer[index + 1] = buffer[index + 2]
= FormatSpec.NO_FORWARD_LINK_ADDRESS;
index += FormatSpec.FORWARD_LINK_ADDRESS_SIZE;
@@ -1104,6 +1205,58 @@ public class BinaryDictInputOutput {
// Input methods: Read a binary dictionary to memory.
// readDictionaryBinary is the public entry point for them.
+ static int getChildrenAddressSize(final int optionFlags,
+ final FormatOptions formatOptions) {
+ if (formatOptions.mSupportsDynamicUpdate) return FormatSpec.SIGNED_CHILDREN_ADDRESS_SIZE;
+ switch (optionFlags & FormatSpec.MASK_GROUP_ADDRESS_TYPE) {
+ case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_ONEBYTE:
+ return 1;
+ case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_TWOBYTES:
+ return 2;
+ case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_THREEBYTES:
+ return 3;
+ case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_NOADDRESS:
+ default:
+ return 0;
+ }
+ }
+
+ static int readChildrenAddress(final FusionDictionaryBufferInterface buffer,
+ final int optionFlags, final FormatOptions options) {
+ if (options.mSupportsDynamicUpdate) {
+ final int address = buffer.readUnsignedInt24();
+ if (address == 0) return FormatSpec.NO_CHILDREN_ADDRESS;
+ if ((address & MSB24) != 0) {
+ return -(address & SINT24_MAX);
+ } else {
+ return address;
+ }
+ }
+ int address;
+ switch (optionFlags & FormatSpec.MASK_GROUP_ADDRESS_TYPE) {
+ case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_ONEBYTE:
+ return buffer.readUnsignedByte();
+ case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_TWOBYTES:
+ return buffer.readUnsignedShort();
+ case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_THREEBYTES:
+ return buffer.readUnsignedInt24();
+ case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_NOADDRESS:
+ default:
+ return FormatSpec.NO_CHILDREN_ADDRESS;
+ }
+ }
+
+ static int readParentAddress(final FusionDictionaryBufferInterface buffer,
+ final FormatOptions formatOptions) {
+ if (supportsDynamicUpdate(formatOptions)) {
+ final int parentAddress = buffer.readUnsignedInt24();
+ final int sign = ((parentAddress & MSB24) != 0) ? -1 : 1;
+ return sign * (parentAddress & SINT24_MAX);
+ } else {
+ return FormatSpec.NO_PARENT_ADDRESS;
+ }
+ }
+
private static final int[] CHARACTER_BUFFER = new int[FormatSpec.MAX_WORD_LENGTH];
public static CharGroupInfo readCharGroup(final FusionDictionaryBufferInterface buffer,
final int originalGroupAddress, final FormatOptions options) {
@@ -1111,13 +1264,9 @@ public class BinaryDictInputOutput {
final int flags = buffer.readUnsignedByte();
++addressPointer;
- final int parentAddress;
- if (hasParentAddress(options)) {
- // read the parent address. (version 3)
- parentAddress = -buffer.readUnsignedInt24();
+ final int parentAddress = readParentAddress(buffer, options);
+ if (supportsDynamicUpdate(options)) {
addressPointer += 3;
- } else {
- parentAddress = FormatSpec.NO_PARENT_ADDRESS;
}
final int characters[];
@@ -1146,25 +1295,11 @@ public class BinaryDictInputOutput {
} else {
frequency = CharGroup.NOT_A_TERMINAL;
}
- int childrenAddress = addressPointer;
- switch (flags & FormatSpec.MASK_GROUP_ADDRESS_TYPE) {
- case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_ONEBYTE:
- childrenAddress += buffer.readUnsignedByte();
- addressPointer += 1;
- break;
- case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_TWOBYTES:
- childrenAddress += buffer.readUnsignedShort();
- addressPointer += 2;
- break;
- case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_THREEBYTES:
- childrenAddress += buffer.readUnsignedInt24();
- addressPointer += 3;
- break;
- case FormatSpec.FLAG_GROUP_ADDRESS_TYPE_NOADDRESS:
- default:
- childrenAddress = FormatSpec.NO_CHILDREN_ADDRESS;
- break;
+ int childrenAddress = readChildrenAddress(buffer, flags, options);
+ if (childrenAddress != FormatSpec.NO_CHILDREN_ADDRESS) {
+ childrenAddress += addressPointer;
}
+ addressPointer += getChildrenAddressSize(flags, options);
ArrayList<WeightedString> shortcutTargets = null;
if (0 != (flags & FormatSpec.FLAG_HAS_SHORTCUT_TARGETS)) {
final int pointerBefore = buffer.position();
@@ -1182,7 +1317,8 @@ public class BinaryDictInputOutput {
ArrayList<PendingAttribute> bigrams = null;
if (0 != (flags & FormatSpec.FLAG_HAS_BIGRAMS)) {
bigrams = new ArrayList<PendingAttribute>();
- while (true) {
+ int bigramCount = 0;
+ while (bigramCount++ < FormatSpec.MAX_BIGRAMS_IN_A_GROUP) {
final int bigramFlags = buffer.readUnsignedByte();
++addressPointer;
final int sign = 0 == (bigramFlags & FormatSpec.FLAG_ATTRIBUTE_OFFSET_NEGATIVE)
@@ -1210,6 +1346,9 @@ public class BinaryDictInputOutput {
bigramAddress));
if (0 == (bigramFlags & FormatSpec.FLAG_ATTRIBUTE_HAS_NEXT)) break;
}
+ if (bigramCount >= FormatSpec.MAX_BIGRAMS_IN_A_GROUP) {
+ MakedictLog.d("too many bigrams in a group.");
+ }
}
return new CharGroupInfo(originalGroupAddress, addressPointer, flags, characters, frequency,
parentAddress, childrenAddress, shortcutTargets, bigrams);
@@ -1232,7 +1371,8 @@ public class BinaryDictInputOutput {
// of this method. Since it performs direct, unbuffered random access to the file and
// may be called hundreds of thousands of times, the resulting performance is not
// reasonable without some kind of cache. Thus:
- private static TreeMap<Integer, String> wordCache = new TreeMap<Integer, String>();
+ private static TreeMap<Integer, WeightedString> wordCache =
+ new TreeMap<Integer, WeightedString>();
/**
* Finds, as a string, the word at the address passed as an argument.
*
@@ -1240,18 +1380,19 @@ public class BinaryDictInputOutput {
* @param headerSize the size of the header.
* @param address the address to seek.
* @param formatOptions file format options.
- * @return the word, as a string.
+ * @return the word with its frequency, as a weighted string.
*/
- /* packages for tests */ static String getWordAtAddress(
+ /* package for tests */ static WeightedString getWordAtAddress(
final FusionDictionaryBufferInterface buffer, final int headerSize, final int address,
final FormatOptions formatOptions) {
- final String cachedString = wordCache.get(address);
+ final WeightedString cachedString = wordCache.get(address);
if (null != cachedString) return cachedString;
- final String result;
+ final WeightedString result;
final int originalPointer = buffer.position();
+ buffer.position(address);
- if (hasParentAddress(formatOptions)) {
+ if (supportsDynamicUpdate(formatOptions)) {
result = getWordAtAddressWithParentAddress(buffer, headerSize, address, formatOptions);
} else {
result = getWordAtAddressWithoutParentAddress(buffer, headerSize, address,
@@ -1263,38 +1404,53 @@ public class BinaryDictInputOutput {
return result;
}
+ // TODO: static!? This will behave erratically when used in multi-threaded code.
+ // We need to fix this
private static int[] sGetWordBuffer = new int[FormatSpec.MAX_WORD_LENGTH];
- private static String getWordAtAddressWithParentAddress(
+ private static WeightedString getWordAtAddressWithParentAddress(
final FusionDictionaryBufferInterface buffer, final int headerSize, final int address,
final FormatOptions options) {
final StringBuilder builder = new StringBuilder();
int currentAddress = address;
int index = FormatSpec.MAX_WORD_LENGTH - 1;
+ int frequency = Integer.MIN_VALUE;
// the length of the path from the root to the leaf is limited by MAX_WORD_LENGTH
for (int count = 0; count < FormatSpec.MAX_WORD_LENGTH; ++count) {
- buffer.position(currentAddress + headerSize);
- final CharGroupInfo currentInfo = readCharGroup(buffer, currentAddress, options);
+ CharGroupInfo currentInfo;
+ int loopCounter = 0;
+ do {
+ buffer.position(currentAddress + headerSize);
+ currentInfo = readCharGroup(buffer, currentAddress, options);
+ if (isMovedGroup(currentInfo.mFlags, options)) {
+ currentAddress = currentInfo.mParentAddress + currentInfo.mOriginalAddress;
+ }
+ if (DBG && loopCounter++ > MAX_JUMPS) {
+ MakedictLog.d("Too many jumps - probably a bug");
+ }
+ } while (isMovedGroup(currentInfo.mFlags, options));
+ if (Integer.MIN_VALUE == frequency) frequency = currentInfo.mFrequency;
for (int i = 0; i < currentInfo.mCharacters.length; ++i) {
sGetWordBuffer[index--] =
currentInfo.mCharacters[currentInfo.mCharacters.length - i - 1];
}
-
if (currentInfo.mParentAddress == FormatSpec.NO_PARENT_ADDRESS) break;
currentAddress = currentInfo.mParentAddress + currentInfo.mOriginalAddress;
}
- return new String(sGetWordBuffer, index + 1, FormatSpec.MAX_WORD_LENGTH - index - 1);
+ return new WeightedString(
+ new String(sGetWordBuffer, index + 1, FormatSpec.MAX_WORD_LENGTH - index - 1),
+ frequency);
}
- private static String getWordAtAddressWithoutParentAddress(
+ private static WeightedString getWordAtAddressWithoutParentAddress(
final FusionDictionaryBufferInterface buffer, final int headerSize, final int address,
final FormatOptions options) {
buffer.position(headerSize);
final int count = readCharGroupCount(buffer);
int groupOffset = getGroupCountSize(count);
final StringBuilder builder = new StringBuilder();
- String result = null;
+ WeightedString result = null;
CharGroupInfo last = null;
for (int i = count - 1; i >= 0; --i) {
@@ -1302,7 +1458,7 @@ public class BinaryDictInputOutput {
groupOffset = info.mEndAddress;
if (info.mOriginalAddress == address) {
builder.append(new String(info.mCharacters, 0, info.mCharacters.length));
- result = builder.toString();
+ result = new WeightedString(builder.toString(), info.mFrequency);
break; // and return
}
if (hasChildrenAddress(info.mChildrenAddress)) {
@@ -1357,14 +1513,17 @@ public class BinaryDictInputOutput {
int groupOffset = nodeHeadPosition + getGroupCountSize(count);
for (int i = count; i > 0; --i) { // Scan the array of CharGroup.
CharGroupInfo info = readCharGroup(buffer, groupOffset, options);
+ if (isMovedGroup(info.mFlags, options)) continue;
ArrayList<WeightedString> shortcutTargets = info.mShortcutTargets;
ArrayList<WeightedString> bigrams = null;
if (null != info.mBigrams) {
bigrams = new ArrayList<WeightedString>();
for (PendingAttribute bigram : info.mBigrams) {
- final String word = getWordAtAddress(
+ final WeightedString word = getWordAtAddress(
buffer, headerSize, bigram.mAddress, options);
- bigrams.add(new WeightedString(word, bigram.mFrequency));
+ final int reconstructedFrequency =
+ reconstructBigramFrequency(word.mFrequency, bigram.mFrequency);
+ bigrams.add(new WeightedString(word.mWord, reconstructedFrequency));
}
}
if (hasChildrenAddress(info.mChildrenAddress)) {
@@ -1392,7 +1551,7 @@ public class BinaryDictInputOutput {
}
// reach the end of the array.
- if (options.mHasLinkedListNode) {
+ if (options.mSupportsDynamicUpdate) {
final int nextAddress = buffer.readUnsignedInt24();
if (nextAddress >= 0 && nextAddress < buffer.limit()) {
buffer.position(nextAddress);
@@ -1400,7 +1559,7 @@ public class BinaryDictInputOutput {
break;
}
}
- } while (options.mHasLinkedListNode &&
+ } while (options.mSupportsDynamicUpdate &&
buffer.position() != FormatSpec.NO_FORWARD_LINK_ADDRESS);
final Node node = new Node(nodeContents);
@@ -1469,8 +1628,7 @@ public class BinaryDictInputOutput {
0 != (optionsFlags & FormatSpec.GERMAN_UMLAUT_PROCESSING_FLAG),
0 != (optionsFlags & FormatSpec.FRENCH_LIGATURE_PROCESSING_FLAG)),
new FormatOptions(version,
- 0 != (optionsFlags & FormatSpec.HAS_PARENT_ADDRESS),
- 0 != (optionsFlags & FormatSpec.HAS_LINKEDLIST_NODE)));
+ 0 != (optionsFlags & FormatSpec.SUPPORTS_DYNAMIC_UPDATE)));
return header;
}
@@ -1500,6 +1658,7 @@ public class BinaryDictInputOutput {
* @param dict an optional dictionary to add words to, or null.
* @return the created (or merged) dictionary.
*/
+ @UsedForTesting
public static FusionDictionary readDictionaryBinary(
final FusionDictionaryBufferInterface buffer, final FusionDictionary dict)
throws IOException, UnsupportedFormatException {
@@ -1537,17 +1696,24 @@ public class BinaryDictInputOutput {
}
/**
+ * Helper method to pass a file name instead of a File object to isBinaryDictionary.
+ */
+ public static boolean isBinaryDictionary(final String filename) {
+ final File file = new File(filename);
+ return isBinaryDictionary(file);
+ }
+
+ /**
* Basic test to find out whether the file is a binary dictionary or not.
*
* Concretely this only tests the magic number.
*
- * @param filename The name of the file to test.
+ * @param file The file to test.
* @return true if it's a binary dictionary, false otherwise
*/
- public static boolean isBinaryDictionary(final String filename) {
+ public static boolean isBinaryDictionary(final File file) {
FileInputStream inStream = null;
try {
- final File file = new File(filename);
inStream = new FileInputStream(file);
final ByteBuffer buffer = inStream.getChannel().map(
FileChannel.MapMode.READ_ONLY, 0, file.length());
@@ -1582,8 +1748,7 @@ public class BinaryDictInputOutput {
final int bigramFrequency) {
final float stepSize = (FormatSpec.MAX_TERMINAL_FREQUENCY - unigramFrequency)
/ (1.5f + FormatSpec.MAX_BIGRAM_FREQUENCY);
- final float resultFreqFloat = (float)unigramFrequency
- + stepSize * (bigramFrequency + 1.0f);
+ final float resultFreqFloat = unigramFrequency + stepSize * (bigramFrequency + 1.0f);
return (int)resultFreqFloat;
}
}
diff --git a/java/src/com/android/inputmethod/latin/makedict/CharGroupInfo.java b/java/src/com/android/inputmethod/latin/makedict/CharGroupInfo.java
index ed9388409..8e64082e6 100644
--- a/java/src/com/android/inputmethod/latin/makedict/CharGroupInfo.java
+++ b/java/src/com/android/inputmethod/latin/makedict/CharGroupInfo.java
@@ -23,7 +23,7 @@ import java.util.ArrayList;
/**
* Raw char group info straight out of a file. This will contain numbers for addresses.
*/
-public class CharGroupInfo {
+public final class CharGroupInfo {
public final int mOriginalAddress;
public final int mEndAddress;
diff --git a/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java b/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java
index adc6037bb..705f66414 100644
--- a/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java
+++ b/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java
@@ -42,32 +42,43 @@ public final class FormatSpec {
* ps
*
* f |
- * o | IF HAS_LINKEDLIST_NODE (defined in the file header)
+ * o | IF SUPPORTS_DYNAMIC_UPDATE (defined in the file header)
* r | forward link address, 3byte
- * w | the address must be positive.
- * a |
- * rdlinkaddress
+ * w | 1 byte = bbbbbbbb match
+ * a | case 1xxxxxxx => -((xxxxxxx << 16) + (next byte << 8) + next byte)
+ * r | otherwise => (xxxxxxx << 16) + (next byte << 8) + next byte
+ * d |
+ * linkaddress
*/
/* Node(CharGroup) layout is as follows:
- * | addressType xx : mask with MASK_GROUP_ADDRESS_TYPE
- * 2 bits, 00 = no children : FLAG_GROUP_ADDRESS_TYPE_NOADDRESS
- * f | 01 = 1 byte : FLAG_GROUP_ADDRESS_TYPE_ONEBYTE
- * l | 10 = 2 bytes : FLAG_GROUP_ADDRESS_TYPE_TWOBYTES
- * a | 11 = 3 bytes : FLAG_GROUP_ADDRESS_TYPE_THREEBYTES
- * g | has several chars ? 1 bit, 1 = yes, 0 = no : FLAG_HAS_MULTIPLE_CHARS
- * s | has a terminal ? 1 bit, 1 = yes, 0 = no : FLAG_IS_TERMINAL
+ * | IF !SUPPORTS_DYNAMIC_UPDATE
+ * | addressType xx : mask with MASK_GROUP_ADDRESS_TYPE
+ * | 2 bits, 00 = no children : FLAG_GROUP_ADDRESS_TYPE_NOADDRESS
+ * f | 01 = 1 byte : FLAG_GROUP_ADDRESS_TYPE_ONEBYTE
+ * l | 10 = 2 bytes : FLAG_GROUP_ADDRESS_TYPE_TWOBYTES
+ * a | 11 = 3 bytes : FLAG_GROUP_ADDRESS_TYPE_THREEBYTES
+ * g | ELSE
+ * s | is moved ? 2 bits, 11 = no : FLAG_IS_NOT_MOVED
+ * | This must be the same as FLAG_GROUP_ADDRESS_TYPE_THREEBYTES
+ * | 01 = yes : FLAG_IS_MOVED
+ * | the new address is stored in the same place as the parent address
+ * | is deleted? 10 = yes : FLAG_IS_DELETED
+ * | has several chars ? 1 bit, 1 = yes, 0 = no : FLAG_HAS_MULTIPLE_CHARS
+ * | has a terminal ? 1 bit, 1 = yes, 0 = no : FLAG_IS_TERMINAL
* | has shortcut targets ? 1 bit, 1 = yes, 0 = no : FLAG_HAS_SHORTCUT_TARGETS
* | has bigrams ? 1 bit, 1 = yes, 0 = no : FLAG_HAS_BIGRAMS
* | is not a word ? 1 bit, 1 = yes, 0 = no : FLAG_IS_NOT_A_WORD
* | is blacklisted ? 1 bit, 1 = yes, 0 = no : FLAG_IS_BLACKLISTED
*
* p |
- * a | IF HAS_PARENT_ADDRESS (defined in the file header)
+ * a | IF SUPPORTS_DYNAMIC_UPDATE (defined in the file header)
* r | parent address, 3byte
- * e | the address must be negative, so the absolute value of the address is stored.
- * n |
- * taddress
+ * e | 1 byte = bbbbbbbb match
+ * n | case 1xxxxxxx => -((0xxxxxxx << 16) + (next byte << 8) + next byte)
+ * t | otherwise => (bbbbbbbb << 16) + (next byte << 8) + next byte
+ * a |
+ * ddress
*
* c | IF FLAG_HAS_MULTIPLE_CHARS
* h | char, char, char, char n * (1 or 3 bytes) : use CharGroupInfo for i/o helpers
@@ -145,17 +156,14 @@ public final class FormatSpec {
static final int MAXIMUM_SUPPORTED_VERSION = 3;
static final int NOT_A_VERSION_NUMBER = -1;
static final int FIRST_VERSION_WITH_HEADER_SIZE = 2;
- static final int FIRST_VERSION_WITH_PARENT_ADDRESS = 3;
- static final int FIRST_VERSION_WITH_LINKEDLIST_NODE = 3;
+ static final int FIRST_VERSION_WITH_DYNAMIC_UPDATE = 3;
// These options need to be the same numeric values as the one in the native reading code.
static final int GERMAN_UMLAUT_PROCESSING_FLAG = 0x1;
// TODO: Make the native reading code read this variable.
- static final int HAS_PARENT_ADDRESS = 0x2;
+ static final int SUPPORTS_DYNAMIC_UPDATE = 0x2;
static final int FRENCH_LIGATURE_PROCESSING_FLAG = 0x4;
static final int CONTAINS_BIGRAMS_FLAG = 0x8;
- // TODO: Make the native reading code read this variable.
- static final int HAS_LINKEDLIST_NODE = 0x10;
// TODO: Make this value adaptative to content data, store it in the header, and
// use it in the reading code.
@@ -164,6 +172,7 @@ public final class FormatSpec {
static final int PARENT_ADDRESS_SIZE = 3;
static final int FORWARD_LINK_ADDRESS_SIZE = 3;
+ // These flags are used only in the static dictionary.
static final int MASK_GROUP_ADDRESS_TYPE = 0xC0;
static final int FLAG_GROUP_ADDRESS_TYPE_NOADDRESS = 0x00;
static final int FLAG_GROUP_ADDRESS_TYPE_ONEBYTE = 0x40;
@@ -178,6 +187,13 @@ public final class FormatSpec {
static final int FLAG_IS_NOT_A_WORD = 0x02;
static final int FLAG_IS_BLACKLISTED = 0x01;
+ // These flags are used only in the dynamic dictionary.
+ static final int MASK_MOVE_AND_DELETE_FLAG = 0xC0;
+ static final int FIXED_BIT_OF_DYNAMIC_UPDATE_MOVE = 0x40;
+ static final int FLAG_IS_MOVED = 0x00 | FIXED_BIT_OF_DYNAMIC_UPDATE_MOVE;
+ static final int FLAG_IS_NOT_MOVED = 0x80 | FIXED_BIT_OF_DYNAMIC_UPDATE_MOVE;
+ static final int FLAG_IS_DELETED = 0x80;
+
static final int FLAG_ATTRIBUTE_HAS_NEXT = 0x80;
static final int FLAG_ATTRIBUTE_OFFSET_NEGATIVE = 0x40;
static final int MASK_ATTRIBUTE_ADDRESS_TYPE = 0x30;
@@ -203,43 +219,33 @@ public final class FormatSpec {
static final int MAX_CHARGROUPS_FOR_ONE_BYTE_CHARGROUP_COUNT = 0x7F; // 127
static final int MAX_CHARGROUPS_IN_A_NODE = 0x7FFF; // 32767
+ static final int MAX_BIGRAMS_IN_A_GROUP = 10000;
static final int MAX_TERMINAL_FREQUENCY = 255;
static final int MAX_BIGRAM_FREQUENCY = 15;
+ public static final int SHORTCUT_WHITELIST_FREQUENCY = 15;
+
// This option needs to be the same numeric value as the one in binary_format.h.
static final int NOT_VALID_WORD = -99;
+ static final int SIGNED_CHILDREN_ADDRESS_SIZE = 3;
/**
* Options about file format.
*/
- public static class FormatOptions {
+ public static final class FormatOptions {
public final int mVersion;
- public final boolean mHasParentAddress;
- public final boolean mHasLinkedListNode;
+ public final boolean mSupportsDynamicUpdate;
public FormatOptions(final int version) {
this(version, false);
}
- public FormatOptions(final int version, final boolean hasParentAddress) {
- this(version, hasParentAddress, false);
- }
- public FormatOptions(final int version, final boolean hasParentAddress,
- final boolean hasLinkedListNode) {
+ public FormatOptions(final int version, final boolean supportsDynamicUpdate) {
mVersion = version;
- if (version < FIRST_VERSION_WITH_PARENT_ADDRESS && hasParentAddress) {
- throw new RuntimeException("Parent addresses are only supported with versions "
- + FIRST_VERSION_WITH_PARENT_ADDRESS + " and ulterior.");
- }
- mHasParentAddress = hasParentAddress;
-
- if (version < FIRST_VERSION_WITH_LINKEDLIST_NODE && hasLinkedListNode) {
- throw new RuntimeException("Linked list nodes are only supported with versions "
- + FIRST_VERSION_WITH_LINKEDLIST_NODE + " and ulterior.");
- }
- if (!hasParentAddress && hasLinkedListNode) {
- throw new RuntimeException("Linked list nodes need parent addresses.");
+ if (version < FIRST_VERSION_WITH_DYNAMIC_UPDATE && supportsDynamicUpdate) {
+ throw new RuntimeException("Dynamic updates are only supported with versions "
+ + FIRST_VERSION_WITH_DYNAMIC_UPDATE + " and ulterior.");
}
- mHasLinkedListNode = hasLinkedListNode;
+ mSupportsDynamicUpdate = supportsDynamicUpdate;
}
}
diff --git a/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java b/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java
index 98cf308c8..b0b3777df 100644
--- a/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java
+++ b/java/src/com/android/inputmethod/latin/makedict/FusionDictionary.java
@@ -21,6 +21,7 @@ import com.android.inputmethod.latin.Constants;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
@@ -28,8 +29,7 @@ import java.util.LinkedList;
/**
* A dictionary that can fusion heads and tails of words for more compression.
*/
-public class FusionDictionary implements Iterable<Word> {
-
+public final class FusionDictionary implements Iterable<Word> {
private static final boolean DBG = MakedictLog.DBG;
/**
@@ -40,7 +40,7 @@ public class FusionDictionary implements Iterable<Word> {
* This class also contains fields to cache size and address, to help with binary
* generation.
*/
- public static class Node {
+ public static final class Node {
ArrayList<CharGroup> mData;
// To help with binary generation
int mCachedSize = Integer.MIN_VALUE;
@@ -60,7 +60,7 @@ public class FusionDictionary implements Iterable<Word> {
*
* This represents an "attribute", that is either a bigram or a shortcut.
*/
- public static class WeightedString {
+ public static final class WeightedString {
public final String mWord;
public int mFrequency;
public WeightedString(String word, int frequency) {
@@ -94,7 +94,7 @@ public class FusionDictionary implements Iterable<Word> {
* value is the frequency of this terminal. A terminal may have non-null shortcuts and/or
* bigrams, but a non-terminal may not. Moreover, children, if present, are null.
*/
- public static class CharGroup {
+ public static final class CharGroup {
public static final int NOT_A_TERMINAL = -1;
final int mChars[];
ArrayList<WeightedString> mShortcutTargets;
@@ -142,6 +142,33 @@ public class FusionDictionary implements Iterable<Word> {
return NOT_A_TERMINAL != mFrequency;
}
+ public int getFrequency() {
+ return mFrequency;
+ }
+
+ public boolean getIsNotAWord() {
+ return mIsNotAWord;
+ }
+
+ public boolean getIsBlacklistEntry() {
+ return mIsBlacklistEntry;
+ }
+
+ public ArrayList<WeightedString> getShortcutTargets() {
+ // We don't want write permission to escape outside the package, so we return a copy
+ if (null == mShortcutTargets) return null;
+ final ArrayList<WeightedString> copyOfShortcutTargets =
+ new ArrayList<WeightedString>(mShortcutTargets);
+ return copyOfShortcutTargets;
+ }
+
+ public ArrayList<WeightedString> getBigrams() {
+ // We don't want write permission to escape outside the package, so we return a copy
+ if (null == mBigrams) return null;
+ final ArrayList<WeightedString> copyOfBigrams = new ArrayList<WeightedString>(mBigrams);
+ return copyOfBigrams;
+ }
+
public boolean hasSeveralChars() {
assert(mChars.length > 0);
return 1 < mChars.length;
@@ -250,10 +277,8 @@ public class FusionDictionary implements Iterable<Word> {
/**
* Options global to the dictionary.
- *
- * There are no options at the moment, so this class is empty.
*/
- public static class DictionaryOptions {
+ public static final class DictionaryOptions {
public final boolean mGermanUmlautProcessing;
public final boolean mFrenchLigatureProcessing;
public final HashMap<String, String> mAttributes;
@@ -263,6 +288,43 @@ public class FusionDictionary implements Iterable<Word> {
mGermanUmlautProcessing = germanUmlautProcessing;
mFrenchLigatureProcessing = frenchLigatureProcessing;
}
+ @Override
+ public String toString() { // Convenience method
+ return toString(0, false);
+ }
+ public String toString(final int indentCount, final boolean plumbing) {
+ final StringBuilder indent = new StringBuilder();
+ if (plumbing) {
+ indent.append("H:");
+ } else {
+ for (int i = 0; i < indentCount; ++i) {
+ indent.append(" ");
+ }
+ }
+ final StringBuilder s = new StringBuilder();
+ for (final String optionKey : mAttributes.keySet()) {
+ s.append(indent);
+ s.append(optionKey);
+ s.append(" = ");
+ if ("date".equals(optionKey) && !plumbing) {
+ // Date needs a number of milliseconds, but the dictionary contains seconds
+ s.append(new Date(
+ 1000 * Long.parseLong(mAttributes.get(optionKey))).toString());
+ } else {
+ s.append(mAttributes.get(optionKey));
+ }
+ s.append("\n");
+ }
+ if (mGermanUmlautProcessing) {
+ s.append(indent);
+ s.append("Needs German umlaut processing\n");
+ }
+ if (mFrenchLigatureProcessing) {
+ s.append(indent);
+ s.append("Needs French ligature processing\n");
+ }
+ return s.toString();
+ }
}
public final DictionaryOptions mOptions;
@@ -280,7 +342,7 @@ public class FusionDictionary implements Iterable<Word> {
/**
* Helper method to convert a String to an int array.
*/
- static private int[] getCodePoints(final String word) {
+ static int[] getCodePoints(final String word) {
// TODO: this is a copy-paste of the contents of StringUtils.toCodePointArray,
// which is not visible from the makedict package. Factor this code.
final char[] characters = word.toCharArray();
@@ -359,6 +421,10 @@ public class FusionDictionary implements Iterable<Word> {
if (charGroup2 == null) {
add(getCodePoints(word2), 0, null, false /* isNotAWord */,
false /* isBlacklistEntry */);
+ // The chargroup for the first word may have moved by the above insertion,
+ // if word1 and word2 share a common stem that happens not to have been
+ // a cutting point until now. In this case, we need to refresh charGroup.
+ charGroup = findWordInTree(mRoot, word1);
}
charGroup.addBigram(word2, frequency);
} else {
@@ -511,7 +577,7 @@ public class FusionDictionary implements Iterable<Word> {
* is ignored.
* This comparator imposes orderings that are inconsistent with equals.
*/
- static private class CharGroupComparator implements java.util.Comparator<CharGroup> {
+ static private final class CharGroupComparator implements java.util.Comparator<CharGroup> {
@Override
public int compare(CharGroup c1, CharGroup c2) {
if (c1.mChars[0] == c2.mChars[0]) return 0;
@@ -746,9 +812,8 @@ public class FusionDictionary implements Iterable<Word> {
*
* This is purely for convenience.
*/
- public static class DictionaryIterator implements Iterator<Word> {
-
- private static class Position {
+ public static final class DictionaryIterator implements Iterator<Word> {
+ private static final class Position {
public Iterator<CharGroup> pos;
public int length;
public Position(ArrayList<CharGroup> groups) {
diff --git a/java/src/com/android/inputmethod/latin/makedict/MakedictLog.java b/java/src/com/android/inputmethod/latin/makedict/MakedictLog.java
index 3f0cd0796..6c6b00b6a 100644
--- a/java/src/com/android/inputmethod/latin/makedict/MakedictLog.java
+++ b/java/src/com/android/inputmethod/latin/makedict/MakedictLog.java
@@ -21,7 +21,7 @@ import android.util.Log;
/**
* Wrapper to redirect log events to the right output medium.
*/
-public class MakedictLog {
+public final class MakedictLog {
public static final boolean DBG = false;
private static final String TAG = MakedictLog.class.getSimpleName();
diff --git a/java/src/com/android/inputmethod/latin/makedict/PendingAttribute.java b/java/src/com/android/inputmethod/latin/makedict/PendingAttribute.java
index 5b41d27f2..5bb24da74 100644
--- a/java/src/com/android/inputmethod/latin/makedict/PendingAttribute.java
+++ b/java/src/com/android/inputmethod/latin/makedict/PendingAttribute.java
@@ -22,7 +22,7 @@ package com.android.inputmethod.latin.makedict;
* An attribute is either a bigram or a shortcut.
* All instances of this class are always immutable.
*/
-public class PendingAttribute {
+public final class PendingAttribute {
public final int mFrequency;
public final int mAddress;
public PendingAttribute(final int frequency, final int address) {
diff --git a/java/src/com/android/inputmethod/latin/makedict/UnsupportedFormatException.java b/java/src/com/android/inputmethod/latin/makedict/UnsupportedFormatException.java
index bd42fb8fa..dbb2ea870 100644
--- a/java/src/com/android/inputmethod/latin/makedict/UnsupportedFormatException.java
+++ b/java/src/com/android/inputmethod/latin/makedict/UnsupportedFormatException.java
@@ -19,7 +19,7 @@ package com.android.inputmethod.latin.makedict;
/**
* Simple exception thrown when a file format is not recognized.
*/
-public class UnsupportedFormatException extends Exception {
+public final class UnsupportedFormatException extends Exception {
public UnsupportedFormatException(String description) {
super(description);
}
diff --git a/java/src/com/android/inputmethod/latin/makedict/Word.java b/java/src/com/android/inputmethod/latin/makedict/Word.java
index 4683ef154..4c4f18f1a 100644
--- a/java/src/com/android/inputmethod/latin/makedict/Word.java
+++ b/java/src/com/android/inputmethod/latin/makedict/Word.java
@@ -26,7 +26,7 @@ import java.util.Arrays;
*
* This is chiefly used to iterate a dictionary.
*/
-public class Word implements Comparable<Word> {
+public final class Word implements Comparable<Word> {
public final String mWord;
public final int mFrequency;
public final ArrayList<WeightedString> mShortcutTargets;
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index eef7a51f2..49b98863f 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -50,7 +50,7 @@ import java.util.TreeMap;
/**
* Service for spell checking, using LatinIME's dictionaries and mechanisms.
*/
-public class AndroidSpellCheckerService extends SpellCheckerService
+public final class AndroidSpellCheckerService extends SpellCheckerService
implements SharedPreferences.OnSharedPreferenceChangeListener {
private static final String TAG = AndroidSpellCheckerService.class.getSimpleName();
private static final boolean DBG = false;
@@ -201,8 +201,8 @@ public class AndroidSpellCheckerService extends SpellCheckerService
}
// TODO: remove this class and replace it by storage local to the session.
- public static class SuggestionsGatherer {
- public static class Result {
+ public static final class SuggestionsGatherer {
+ public static final class Result {
public final String[] mSuggestions;
public final boolean mHasRecommendedSuggestions;
public Result(final String[] gatheredSuggestions,
@@ -212,7 +212,7 @@ public class AndroidSpellCheckerService extends SpellCheckerService
}
}
- private final ArrayList<CharSequence> mSuggestions;
+ private final ArrayList<String> mSuggestions;
private final int[] mScores;
private final String mOriginalText;
private final float mSuggestionThreshold;
@@ -335,7 +335,7 @@ public class AndroidSpellCheckerService extends SpellCheckerService
gatheredSuggestions = mSuggestions.toArray(EMPTY_STRING_ARRAY);
final int bestScore = mScores[mLength - 1];
- final CharSequence bestSuggestion = mSuggestions.get(0);
+ final String bestSuggestion = mSuggestions.get(0);
final float normalizedScore =
BinaryDictionary.calcNormalizedScore(
mOriginalText, bestSuggestion.toString(), bestScore);
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerSession.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerSession.java
index 5a1bd37f5..668e7a641 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerSession.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerSession.java
@@ -26,7 +26,7 @@ import com.android.inputmethod.latin.CollectionUtils;
import java.util.ArrayList;
-public class AndroidSpellCheckerSession extends AndroidWordLevelSpellCheckerSession {
+public final class AndroidSpellCheckerSession extends AndroidWordLevelSpellCheckerSession {
private static final String TAG = AndroidSpellCheckerSession.class.getSimpleName();
private static final boolean DBG = false;
private final static String[] EMPTY_STRING_ARRAY = new String[0];
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java
index d9b622a18..a8f323999 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidWordLevelSpellCheckerSession.java
@@ -50,7 +50,7 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
protected final SuggestionsCache mSuggestionsCache = new SuggestionsCache();
private final ContentObserver mObserver;
- private static class SuggestionsParams {
+ private static final class SuggestionsParams {
public final String[] mSuggestions;
public final int mFlags;
public SuggestionsParams(String[] suggestions, int flags) {
@@ -59,7 +59,7 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
}
}
- protected static class SuggestionsCache {
+ protected static final class SuggestionsCache {
private static final char CHAR_DELIMITER = '\uFFFC';
private static final int MAX_CACHE_SIZE = 50;
private final LruCache<String, SuggestionsParams> mUnigramSuggestionsInfoCache =
@@ -268,7 +268,7 @@ public abstract class AndroidWordLevelSpellCheckerSession extends Session {
dictInfo.mDictionary.getSuggestions(composer, prevWord,
dictInfo.mProximityInfo);
for (final SuggestedWordInfo suggestion : suggestions) {
- final String suggestionStr = suggestion.mWord.toString();
+ final String suggestionStr = suggestion.mWord;
suggestionsGatherer.addWord(suggestionStr.toCharArray(), null, 0,
suggestionStr.length(), suggestion.mScore);
}
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/DictAndProximity.java b/java/src/com/android/inputmethod/latin/spellcheck/DictAndProximity.java
index 3dbbd40cd..9d7c61a33 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/DictAndProximity.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/DictAndProximity.java
@@ -22,7 +22,7 @@ import com.android.inputmethod.keyboard.ProximityInfo;
/**
* A simple container for both a Dictionary and a ProximityInfo.
*/
-public class DictAndProximity {
+public final class DictAndProximity {
public final Dictionary mDictionary;
public final ProximityInfo mProximityInfo;
public DictAndProximity(final Dictionary dictionary, final ProximityInfo proximityInfo) {
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java b/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java
index 53aa6c719..eae5d2e60 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java
@@ -36,7 +36,7 @@ import java.util.concurrent.TimeUnit;
* the client code, but may help with sloppy clients.
*/
@SuppressWarnings("serial")
-public class DictionaryPool extends LinkedBlockingQueue<DictAndProximity> {
+public final class DictionaryPool extends LinkedBlockingQueue<DictAndProximity> {
private final static String TAG = DictionaryPool.class.getSimpleName();
// How many seconds we wait for a dictionary to become available. Past this delay, we give up in
// fear some bug caused a deadlock, and reset the whole pool.
@@ -51,11 +51,11 @@ public class DictionaryPool extends LinkedBlockingQueue<DictAndProximity> {
new Dictionary(Dictionary.TYPE_MAIN) {
@Override
public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
- final CharSequence prevWord, final ProximityInfo proximityInfo) {
+ final String prevWord, final ProximityInfo proximityInfo) {
return noSuggestions;
}
@Override
- public boolean isValidWord(CharSequence word) {
+ public boolean isValidWord(final String word) {
// This is never called. However if for some strange reason it ever gets
// called, returning true is less destructive (it will not underline the
// word in red).
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerProximityInfo.java b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerProximityInfo.java
index fe5225ebd..6c0d79c2b 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerProximityInfo.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerProximityInfo.java
@@ -16,14 +16,15 @@
package com.android.inputmethod.latin.spellcheck;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.keyboard.ProximityInfo;
import com.android.inputmethod.latin.CollectionUtils;
import com.android.inputmethod.latin.Constants;
import java.util.TreeMap;
-public class SpellCheckerProximityInfo {
- /* public for test */
+public final class SpellCheckerProximityInfo {
+ @UsedForTesting
final public static int NUL = Constants.NOT_A_CODE;
// This must be the same as MAX_PROXIMITY_CHARS_SIZE else it will not work inside
@@ -53,7 +54,7 @@ public class SpellCheckerProximityInfo {
return result;
}
- private static class Latin {
+ private static final class Latin {
// This is a map from the code point to the index in the PROXIMITY array.
// At the time the native code to read the binary dictionary needs the proximity info be
// passed as a flat array spaced by MAX_PROXIMITY_CHARS_SIZE columns, one for each input
@@ -122,7 +123,7 @@ public class SpellCheckerProximityInfo {
}
}
- private static class Cyrillic {
+ private static final class Cyrillic {
final private static TreeMap<Integer, Integer> INDICES = CollectionUtils.newTreeMap();
// TODO: The following table is solely based on the keyboard layout. Consult with Russian
// speakers on commonly misspelled words/letters.
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsActivity.java b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsActivity.java
index e14db8797..e63dff312 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsActivity.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsActivity.java
@@ -23,7 +23,7 @@ import android.preference.PreferenceActivity;
/**
* Spell checker preference screen.
*/
-public class SpellCheckerSettingsActivity extends PreferenceActivity {
+public final class SpellCheckerSettingsActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java
index 7056874a1..ef5123d68 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java
@@ -24,7 +24,7 @@ import com.android.inputmethod.latin.R;
/**
* Preference screen.
*/
-public class SpellCheckerSettingsFragment extends PreferenceFragment {
+public final class SpellCheckerSettingsFragment extends PreferenceFragment {
/**
* Empty constructor for fragment generation.
*/
diff --git a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java
index 1f883aa60..35d5a0067 100644
--- a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java
+++ b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java
@@ -22,7 +22,6 @@ import android.graphics.drawable.Drawable;
import com.android.inputmethod.keyboard.Key;
import com.android.inputmethod.keyboard.Keyboard;
-import com.android.inputmethod.keyboard.KeyboardSwitcher;
import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
import com.android.inputmethod.keyboard.internal.KeyboardParams;
@@ -30,14 +29,14 @@ import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.SuggestedWords;
import com.android.inputmethod.latin.Utils;
-public class MoreSuggestions extends Keyboard {
+public final class MoreSuggestions extends Keyboard {
public static final int SUGGESTION_CODE_BASE = 1024;
MoreSuggestions(final MoreSuggestionsParam params) {
super(params);
}
- private static class MoreSuggestionsParam extends KeyboardParams {
+ private static final class MoreSuggestionsParam extends KeyboardParams {
private final int[] mWidths = new int[SuggestionStripView.MAX_SUGGESTIONS];
private final int[] mRowNumbers = new int[SuggestionStripView.MAX_SUGGESTIONS];
private final int[] mColumnOrders = new int[SuggestionStripView.MAX_SUGGESTIONS];
@@ -51,10 +50,11 @@ public class MoreSuggestions extends Keyboard {
super();
}
+ // TODO: Remove {@link MoreSuggestionsView} argument.
public int layout(final SuggestedWords suggestions, final int fromPos, final int maxWidth,
final int minWidth, final int maxRow, final MoreSuggestionsView view) {
clearKeys();
- final Resources res = view.getContext().getResources();
+ final Resources res = view.getResources();
mDivider = res.getDrawable(R.drawable.more_suggestions_divider);
mDividerWidth = mDivider.getIntrinsicWidth();
final int padding = (int) res.getDimension(
@@ -65,7 +65,7 @@ public class MoreSuggestions extends Keyboard {
int pos = fromPos, rowStartPos = fromPos;
final int size = Math.min(suggestions.size(), SuggestionStripView.MAX_SUGGESTIONS);
while (pos < size) {
- final String word = suggestions.getWord(pos).toString();
+ final String word = suggestions.getWord(pos);
// TODO: Should take care of text x-scaling.
mWidths[pos] = (int)view.getLabelWidth(word, paint) + padding;
final int numColumn = pos - rowStartPos + 1;
@@ -163,7 +163,7 @@ public class MoreSuggestions extends Keyboard {
}
}
- public static class Builder extends KeyboardBuilder<MoreSuggestionsParam> {
+ public static final class Builder extends KeyboardBuilder<MoreSuggestionsParam> {
private final MoreSuggestionsView mPaneView;
private SuggestedWords mSuggestions;
private int mFromPos;
@@ -175,12 +175,13 @@ public class MoreSuggestions extends Keyboard {
}
public Builder layout(final SuggestedWords suggestions, final int fromPos,
- final int maxWidth, final int minWidth, final int maxRow) {
- final Keyboard keyboard = KeyboardSwitcher.getInstance().getKeyboard();
+ final int maxWidth, final int minWidth, final int maxRow,
+ final Keyboard parentKeyboard) {
final int xmlId = R.xml.kbd_suggestions_pane_template;
- load(xmlId, keyboard.mId);
- mParams.mVerticalGap = mParams.mTopPadding = keyboard.mVerticalGap / 2;
+ load(xmlId, parentKeyboard.mId);
+ mParams.mVerticalGap = mParams.mTopPadding = parentKeyboard.mVerticalGap / 2;
+ mPaneView.updateKeyboardGeometry(mParams.mDefaultRowHeight);
final int count = mParams.layout(suggestions, fromPos, maxWidth, minWidth, maxRow,
mPaneView);
mFromPos = fromPos;
@@ -216,7 +217,7 @@ public class MoreSuggestions extends Keyboard {
}
}
- private static class Divider extends Key.Spacer {
+ private static final class Divider extends Key.Spacer {
private final Drawable mIcon;
public Divider(final KeyboardParams params, final Drawable icon, final int x,
diff --git a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java
index 5b23d7f3c..6cdd9e2cd 100644
--- a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java
+++ b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java
@@ -40,7 +40,7 @@ import com.android.inputmethod.latin.R;
* A view that renders a virtual {@link MoreSuggestions}. It handles rendering of keys and detecting
* key presses and touch movements.
*/
-public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
+public final class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
private final int[] mCoordinates = new int[2];
final KeyDetector mModalPanelKeyDetector;
@@ -56,17 +56,17 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
final KeyboardActionListener mSuggestionsPaneListener =
new KeyboardActionListener.Adapter() {
@Override
- public void onPressKey(int primaryCode) {
+ public void onPressKey(final int primaryCode) {
mListener.onPressKey(primaryCode);
}
@Override
- public void onReleaseKey(int primaryCode, boolean withSliding) {
+ public void onReleaseKey(final int primaryCode, final boolean withSliding) {
mListener.onReleaseKey(primaryCode, withSliding);
}
@Override
- public void onCodeInput(int primaryCode, int x, int y) {
+ public void onCodeInput(final int primaryCode, final int x, final int y) {
final int index = primaryCode - MoreSuggestions.SUGGESTION_CODE_BASE;
if (index >= 0 && index < SuggestionStripView.MAX_SUGGESTIONS) {
mListener.onCustomRequest(index);
@@ -79,11 +79,12 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
}
};
- public MoreSuggestionsView(Context context, AttributeSet attrs) {
+ public MoreSuggestionsView(final Context context, final AttributeSet attrs) {
this(context, attrs, R.attr.moreSuggestionsViewStyle);
}
- public MoreSuggestionsView(Context context, AttributeSet attrs, int defStyle) {
+ public MoreSuggestionsView(final Context context, final AttributeSet attrs,
+ final int defStyle) {
super(context, attrs, defStyle);
final Resources res = context.getResources();
@@ -94,7 +95,7 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
}
@Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {
final Keyboard keyboard = getKeyboard();
if (keyboard != null) {
final int width = keyboard.mOccupiedWidth + getPaddingLeft() + getPaddingRight();
@@ -105,8 +106,12 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
}
}
+ public void updateKeyboardGeometry(final int keyHeight) {
+ mKeyDrawParams.updateParams(keyHeight, mKeyVisualAttributes);
+ }
+
@Override
- public void setKeyboard(Keyboard keyboard) {
+ public void setKeyboard(final Keyboard keyboard) {
super.setKeyboard(keyboard);
mModalPanelKeyDetector.setKeyboard(keyboard, -getPaddingLeft(), -getPaddingTop());
mSlidingPanelKeyDetector.setKeyboard(keyboard, -getPaddingLeft(),
@@ -134,15 +139,16 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
}
@Override
- public void setKeyPreviewPopupEnabled(boolean previewEnabled, int delay) {
+ public void setKeyPreviewPopupEnabled(final boolean previewEnabled, final int delay) {
// Suggestions pane needs no pop-up key preview displayed, so we pass always false with a
// delay of 0. The delay does not matter actually since the popup is not shown anyway.
super.setKeyPreviewPopupEnabled(false, 0);
}
@Override
- public void showMoreKeysPanel(View parentView, Controller controller, int pointX, int pointY,
- PopupWindow window, KeyboardActionListener listener) {
+ public void showMoreKeysPanel(final View parentView, final Controller controller,
+ final int pointX, final int pointY, final PopupWindow window,
+ final KeyboardActionListener listener) {
mController = controller;
mListener = listener;
final View container = (View)getParent();
@@ -175,12 +181,12 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
}
@Override
- public int translateX(int x) {
+ public int translateX(final int x) {
return x - mOriginX;
}
@Override
- public int translateY(int y) {
+ public int translateY(final int y) {
return y - mOriginY;
}
@@ -207,7 +213,7 @@ public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel {
};
@Override
- public boolean onTouchEvent(MotionEvent me) {
+ public boolean onTouchEvent(final MotionEvent me) {
final int action = me.getAction();
final long eventTime = me.getEventTime();
final int index = me.getActionIndex();
diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java
index 9e8ab81b0..e7cb97fc2 100644
--- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java
+++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java
@@ -52,13 +52,16 @@ import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardActionListener;
+import com.android.inputmethod.keyboard.KeyboardSwitcher;
import com.android.inputmethod.keyboard.KeyboardView;
import com.android.inputmethod.keyboard.MoreKeysPanel;
import com.android.inputmethod.keyboard.PointerTracker;
import com.android.inputmethod.keyboard.ViewLayoutUtils;
import com.android.inputmethod.latin.AutoCorrection;
import com.android.inputmethod.latin.CollectionUtils;
+import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.ResourceUtils;
@@ -70,11 +73,11 @@ import com.android.inputmethod.research.ResearchLogger;
import java.util.ArrayList;
-public class SuggestionStripView extends RelativeLayout implements OnClickListener,
+public final class SuggestionStripView extends RelativeLayout implements OnClickListener,
OnLongClickListener {
public interface Listener {
public boolean addWordToUserDictionary(String word);
- public void pickSuggestionManually(int index, CharSequence word);
+ public void pickSuggestionManually(int index, String word);
}
// The maximum number of suggestions available. See {@link Suggest#mPrefMaxSuggestions}.
@@ -83,7 +86,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
static final boolean DBG = LatinImeLogger.sDBG;
private final ViewGroup mSuggestionsStrip;
- private KeyboardView mKeyboardView;
+ KeyboardView mKeyboardView;
private final View mMoreSuggestionsContainer;
private final MoreSuggestionsView mMoreSuggestionsView;
@@ -97,23 +100,23 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
private final PopupWindow mPreviewPopup;
private final TextView mPreviewText;
- private Listener mListener;
- private SuggestedWords mSuggestedWords = SuggestedWords.EMPTY;
+ Listener mListener;
+ SuggestedWords mSuggestedWords = SuggestedWords.EMPTY;
private final SuggestionStripViewParams mParams;
private static final float MIN_TEXT_XSCALE = 0.70f;
private final UiHandler mHandler = new UiHandler(this);
- private static class UiHandler extends StaticInnerHandlerWrapper<SuggestionStripView> {
+ private static final class UiHandler extends StaticInnerHandlerWrapper<SuggestionStripView> {
private static final int MSG_HIDE_PREVIEW = 0;
- public UiHandler(SuggestionStripView outerInstance) {
+ public UiHandler(final SuggestionStripView outerInstance) {
super(outerInstance);
}
@Override
- public void dispatchMessage(Message msg) {
+ public void dispatchMessage(final Message msg) {
final SuggestionStripView suggestionStripView = getOuterInstance();
switch (msg.what) {
case MSG_HIDE_PREVIEW:
@@ -131,7 +134,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
}
}
- private static class SuggestionStripViewParams {
+ private static final class SuggestionStripViewParams {
private static final int DEFAULT_SUGGESTIONS_COUNT_IN_STRIP = 3;
private static final float DEFAULT_CENTER_SUGGESTION_PERCENTILE = 0.40f;
private static final int DEFAULT_MAX_MORE_SUGGESTIONS_ROW = 2;
@@ -177,8 +180,9 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
private final TextView mLeftwardsArrowView;
private final TextView mHintToSaveView;
- public SuggestionStripViewParams(Context context, AttributeSet attrs, int defStyle,
- ArrayList<TextView> words, ArrayList<View> dividers, ArrayList<TextView> infos) {
+ public SuggestionStripViewParams(final Context context, final AttributeSet attrs,
+ final int defStyle, final ArrayList<TextView> words, final ArrayList<View> dividers,
+ final ArrayList<TextView> infos) {
mWords = words;
mDividers = dividers;
mInfos = infos;
@@ -250,7 +254,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
return mMaxMoreSuggestionsRow * mMoreSuggestionsRowHeight + mMoreSuggestionsBottomGap;
}
- public int setMoreSuggestionsHeight(int remainingHeight) {
+ public int setMoreSuggestionsHeight(final int remainingHeight) {
final int currentHeight = getMoreSuggestionsHeight();
if (currentHeight <= remainingHeight) {
return currentHeight;
@@ -262,7 +266,8 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
return newHeight;
}
- private static Drawable getMoreSuggestionsHint(Resources res, float textSize, int color) {
+ private static Drawable getMoreSuggestionsHint(final Resources res, final float textSize,
+ final int color) {
final Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setTextAlign(Align.CENTER);
@@ -279,8 +284,9 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
return new BitmapDrawable(res, buffer);
}
- private CharSequence getStyledSuggestionWord(SuggestedWords suggestedWords, int pos) {
- final CharSequence word = suggestedWords.getWord(pos);
+ private CharSequence getStyledSuggestionWord(final SuggestedWords suggestedWords,
+ final int pos) {
+ final String word = suggestedWords.getWord(pos);
final boolean isAutoCorrect = pos == 1 && suggestedWords.willAutoCorrect();
final boolean isTypedWordValid = pos == 0 && suggestedWords.mTypedWordValid;
if (!isAutoCorrect && !isTypedWordValid)
@@ -299,7 +305,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
return spannedWord;
}
- private int getWordPosition(int index, SuggestedWords suggestedWords) {
+ private int getWordPosition(final int index, final SuggestedWords suggestedWords) {
// TODO: This works for 3 suggestions. Revisit this algorithm when there are 5 or more
// suggestions.
final int centerPos = suggestedWords.willAutoCorrect() ? 1 : 0;
@@ -312,7 +318,8 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
}
}
- private int getSuggestionTextColor(int index, SuggestedWords suggestedWords, int pos) {
+ private int getSuggestionTextColor(final int index, final SuggestedWords suggestedWords,
+ final int pos) {
// TODO: Need to revisit this logic with bigram suggestions
final boolean isSuggested = (pos != 0);
@@ -331,7 +338,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
// is in slot 1.
if (index == mCenterSuggestionIndex
&& AutoCorrection.shouldBlockAutoCorrectionBySafetyNet(
- suggestedWords.getWord(1).toString(), suggestedWords.getWord(0))) {
+ suggestedWords.getWord(1), suggestedWords.getWord(0))) {
return 0xFFFF0000;
}
}
@@ -355,8 +362,8 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
params.gravity = Gravity.CENTER;
}
- public void layout(SuggestedWords suggestedWords, ViewGroup stripView, ViewGroup placer,
- int stripWidth) {
+ public void layout(final SuggestedWords suggestedWords, final ViewGroup stripView,
+ final ViewGroup placer, final int stripWidth) {
if (suggestedWords.mIsPunctuationSuggestions) {
layoutPunctuationSuggestions(suggestedWords, stripView);
return;
@@ -402,7 +409,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
x += word.getMeasuredWidth();
if (DBG && pos < suggestedWords.size()) {
- final CharSequence debugInfo = Utils.getDebugInfo(suggestedWords, pos);
+ final String debugInfo = Utils.getDebugInfo(suggestedWords, pos);
if (debugInfo != null) {
final TextView info = mInfos.get(pos);
info.setText(debugInfo);
@@ -418,14 +425,14 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
}
}
- private int getSuggestionWidth(int index, int maxWidth) {
+ private int getSuggestionWidth(final int index, final int maxWidth) {
final int paddings = mPadding * mSuggestionsCountInStrip;
final int dividers = mDividerWidth * (mSuggestionsCountInStrip - 1);
final int availableWidth = maxWidth - paddings - dividers;
return (int)(availableWidth * getSuggestionWeight(index));
}
- private float getSuggestionWeight(int index) {
+ private float getSuggestionWeight(final int index) {
if (index == mCenterSuggestionIndex) {
return mCenterSuggestionWeight;
} else {
@@ -434,7 +441,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
}
}
- private void setupTexts(SuggestedWords suggestedWords, int countInStrip) {
+ private void setupTexts(final SuggestedWords suggestedWords, final int countInStrip) {
mTexts.clear();
final int count = Math.min(suggestedWords.size(), countInStrip);
for (int pos = 0; pos < count; pos++) {
@@ -447,8 +454,8 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
}
}
- private void layoutPunctuationSuggestions(SuggestedWords suggestedWords,
- ViewGroup stripView) {
+ private void layoutPunctuationSuggestions(final SuggestedWords suggestedWords,
+ final ViewGroup stripView) {
final int countInStrip = Math.min(suggestedWords.size(), PUNCTUATIONS_IN_STRIP);
for (int index = 0; index < countInStrip; index++) {
if (index != 0) {
@@ -459,7 +466,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
final TextView word = mWords.get(index);
word.setEnabled(true);
word.setTextColor(mColorAutoCorrect);
- final CharSequence text = suggestedWords.getWord(index);
+ final String text = suggestedWords.getWord(index);
word.setText(text);
word.setTextScaleX(1.0f);
word.setCompoundDrawables(null, null, null, null);
@@ -469,8 +476,8 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
mMoreSuggestionsAvailable = false;
}
- public void layoutAddToDictionaryHint(CharSequence word, ViewGroup stripView,
- int stripWidth, CharSequence hintText, OnClickListener listener) {
+ public void layoutAddToDictionaryHint(final String word, final ViewGroup stripView,
+ final int stripWidth, final CharSequence hintText, final OnClickListener listener) {
final int width = stripWidth - mDividerWidth - mPadding * 2;
final TextView wordView = mWordToSaveView;
@@ -511,11 +518,11 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
return (CharSequence)mWordToSaveView.getTag();
}
- public boolean isAddToDictionaryShowing(View v) {
+ public boolean isAddToDictionaryShowing(final View v) {
return v == mWordToSaveView || v == mHintToSaveView || v == mLeftwardsArrowView;
}
- private static void setLayoutWeight(View v, float weight, int height) {
+ private static void setLayoutWeight(final View v, final float weight, final int height) {
final ViewGroup.LayoutParams lp = v.getLayoutParams();
if (lp instanceof LinearLayout.LayoutParams) {
final LinearLayout.LayoutParams llp = (LinearLayout.LayoutParams)lp;
@@ -525,7 +532,8 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
}
}
- private static float getTextScaleX(CharSequence text, int maxWidth, TextPaint paint) {
+ private static float getTextScaleX(final CharSequence text, final int maxWidth,
+ final TextPaint paint) {
paint.setTextScaleX(1.0f);
final int width = getTextWidth(text, paint);
if (width <= maxWidth) {
@@ -534,8 +542,8 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
return maxWidth / (float)width;
}
- private static CharSequence getEllipsizedText(CharSequence text, int maxWidth,
- TextPaint paint) {
+ private static CharSequence getEllipsizedText(final CharSequence text, final int maxWidth,
+ final TextPaint paint) {
if (text == null) return null;
paint.setTextScaleX(1.0f);
final int width = getTextWidth(text, paint);
@@ -556,7 +564,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
return ellipsized;
}
- private static int getTextWidth(CharSequence text, TextPaint paint) {
+ private static int getTextWidth(final CharSequence text, final TextPaint paint) {
if (TextUtils.isEmpty(text)) return 0;
final Typeface savedTypeface = paint.getTypeface();
paint.setTypeface(getTextTypeface(text));
@@ -571,7 +579,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
return width;
}
- private static Typeface getTextTypeface(CharSequence text) {
+ private static Typeface getTextTypeface(final CharSequence text) {
if (!(text instanceof SpannableString))
return Typeface.DEFAULT;
@@ -593,11 +601,12 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
* @param context
* @param attrs
*/
- public SuggestionStripView(Context context, AttributeSet attrs) {
+ public SuggestionStripView(final Context context, final AttributeSet attrs) {
this(context, attrs, R.attr.suggestionStripViewStyle);
}
- public SuggestionStripView(Context context, AttributeSet attrs, int defStyle) {
+ public SuggestionStripView(final Context context, final AttributeSet attrs,
+ final int defStyle) {
super(context, attrs, defStyle);
final LayoutInflater inflater = LayoutInflater.from(context);
@@ -658,15 +667,12 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
* A connection back to the input method.
* @param listener
*/
- public void setListener(Listener listener, View inputView) {
+ public void setListener(final Listener listener, final View inputView) {
mListener = listener;
mKeyboardView = (KeyboardView)inputView.findViewById(R.id.keyboard_view);
}
- public void setSuggestions(SuggestedWords suggestedWords) {
- if (suggestedWords == null)
- return;
-
+ public void setSuggestions(final SuggestedWords suggestedWords) {
clear();
mSuggestedWords = suggestedWords;
mParams.layout(mSuggestedWords, mSuggestionsStrip, this, getWidth());
@@ -675,7 +681,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
}
}
- public int setMoreSuggestionsHeight(int remainingHeight) {
+ public int setMoreSuggestionsHeight(final int remainingHeight) {
return mParams.setMoreSuggestionsHeight(remainingHeight);
}
@@ -684,7 +690,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
&& mParams.isAddToDictionaryShowing(mSuggestionsStrip.getChildAt(0));
}
- public void showAddToDictionaryHint(CharSequence word, CharSequence hintText) {
+ public void showAddToDictionaryHint(final String word, final CharSequence hintText) {
clear();
mParams.layoutAddToDictionaryHint(word, mSuggestionsStrip, getWidth(), hintText, this);
}
@@ -708,16 +714,16 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
dismissMoreSuggestions();
}
- private void hidePreview() {
+ void hidePreview() {
mPreviewPopup.dismiss();
}
private final KeyboardActionListener mMoreSuggestionsListener =
new KeyboardActionListener.Adapter() {
@Override
- public boolean onCustomRequest(int requestCode) {
+ public boolean onCustomRequest(final int requestCode) {
final int index = requestCode;
- final CharSequence word = mSuggestedWords.getWord(index);
+ final String word = mSuggestedWords.getWord(index);
mListener.pickSuggestionManually(index, word);
dismissMoreSuggestions();
return true;
@@ -737,7 +743,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
}
};
- private boolean dismissMoreSuggestions() {
+ boolean dismissMoreSuggestions() {
if (mMoreSuggestionsWindow.isShowing()) {
mMoreSuggestionsWindow.dismiss();
return true;
@@ -746,41 +752,43 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
}
@Override
- public boolean onLongClick(View view) {
+ public boolean onLongClick(final View view) {
+ KeyboardSwitcher.getInstance().hapticAndAudioFeedback(Constants.NOT_A_CODE);
return showMoreSuggestions();
}
- private boolean showMoreSuggestions() {
+ boolean showMoreSuggestions() {
+ final Keyboard parentKeyboard = KeyboardSwitcher.getInstance().getKeyboard();
+ if (parentKeyboard == null) {
+ return false;
+ }
final SuggestionStripViewParams params = mParams;
- if (params.mMoreSuggestionsAvailable) {
- final int stripWidth = getWidth();
- final View container = mMoreSuggestionsContainer;
- final int maxWidth = stripWidth - container.getPaddingLeft()
- - container.getPaddingRight();
- final MoreSuggestions.Builder builder = mMoreSuggestionsBuilder;
- builder.layout(mSuggestedWords, params.mSuggestionsCountInStrip, maxWidth,
- (int)(maxWidth * params.mMinMoreSuggestionsWidth),
- params.getMaxMoreSuggestionsRow());
- mMoreSuggestionsView.setKeyboard(builder.build());
- container.measure(
- ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
-
- final MoreKeysPanel moreKeysPanel = mMoreSuggestionsView;
- final int pointX = stripWidth / 2;
- final int pointY = -params.mMoreSuggestionsBottomGap;
- moreKeysPanel.showMoreKeysPanel(
- this, mMoreSuggestionsController, pointX, pointY,
- mMoreSuggestionsWindow, mMoreSuggestionsListener);
- mMoreSuggestionsMode = MORE_SUGGESTIONS_CHECKING_MODAL_OR_SLIDING;
- mOriginX = mLastX;
- mOriginY = mLastY;
- mKeyboardView.dimEntireKeyboard(true);
- for (int i = 0; i < params.mSuggestionsCountInStrip; i++) {
- mWords.get(i).setPressed(false);
- }
- return true;
+ if (!params.mMoreSuggestionsAvailable) {
+ return false;
}
- return false;
+ final int stripWidth = getWidth();
+ final View container = mMoreSuggestionsContainer;
+ final int maxWidth = stripWidth - container.getPaddingLeft() - container.getPaddingRight();
+ final MoreSuggestions.Builder builder = mMoreSuggestionsBuilder;
+ builder.layout(mSuggestedWords, params.mSuggestionsCountInStrip, maxWidth,
+ (int)(maxWidth * params.mMinMoreSuggestionsWidth),
+ params.getMaxMoreSuggestionsRow(), parentKeyboard);
+ mMoreSuggestionsView.setKeyboard(builder.build());
+ container.measure(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+
+ final MoreKeysPanel moreKeysPanel = mMoreSuggestionsView;
+ final int pointX = stripWidth / 2;
+ final int pointY = -params.mMoreSuggestionsBottomGap;
+ moreKeysPanel.showMoreKeysPanel(this, mMoreSuggestionsController, pointX, pointY,
+ mMoreSuggestionsWindow, mMoreSuggestionsListener);
+ mMoreSuggestionsMode = MORE_SUGGESTIONS_CHECKING_MODAL_OR_SLIDING;
+ mOriginX = mLastX;
+ mOriginY = mLastY;
+ mKeyboardView.dimEntireKeyboard(true);
+ for (int i = 0; i < params.mSuggestionsCountInStrip; i++) {
+ mWords.get(i).setPressed(false);
+ }
+ return true;
}
// Working variables for onLongClick and dispatchTouchEvent.
@@ -807,7 +815,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
};
@Override
- public boolean dispatchTouchEvent(MotionEvent me) {
+ public boolean dispatchTouchEvent(final MotionEvent me) {
if (!mMoreSuggestionsWindow.isShowing()
|| mMoreSuggestionsMode == MORE_SUGGESTIONS_IN_MODAL_MODE) {
mLastX = (int)me.getX();
@@ -849,7 +857,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
}
@Override
- public void onClick(View view) {
+ public void onClick(final View view) {
if (mParams.isAddToDictionaryShowing(view)) {
mListener.addWordToUserDictionary(mParams.getAddToDictionaryWord().toString());
clear();
@@ -863,7 +871,7 @@ public class SuggestionStripView extends RelativeLayout implements OnClickListen
if (index >= mSuggestedWords.size())
return;
- final CharSequence word = mSuggestedWords.getWord(index);
+ final String word = mSuggestedWords.getWord(index);
mListener.pickSuggestionManually(index, word);
}
diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java
index 763fd6e00..6295abe8c 100644
--- a/java/src/com/android/inputmethod/research/ResearchLogger.java
+++ b/java/src/com/android/inputmethod/research/ResearchLogger.java
@@ -870,7 +870,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
final long time = SystemClock.uptimeMillis();
final ResearchLogger researchLogger = getInstance();
final Object[] values = {
- Keyboard.printableCode(scrubDigitFromCodePoint(code)), x, y
+ Constants.printableCode(scrubDigitFromCodePoint(code)), x, y
};
researchLogger.enqueuePotentiallyPrivateEvent(EVENTKEYS_LATINIME_ONCODEINPUT, values);
if (Character.isDigit(code)) {
@@ -1006,7 +1006,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
};
public static void latinIME_sendKeyCodePoint(final int code) {
final Object[] values = {
- Keyboard.printableCode(scrubDigitFromCodePoint(code))
+ Constants.printableCode(scrubDigitFromCodePoint(code))
};
final ResearchLogger researchLogger = getInstance();
researchLogger.enqueuePotentiallyPrivateEvent(EVENTKEYS_LATINIME_SENDKEYCODEPOINT, values);
@@ -1092,7 +1092,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
if (key != null) {
String outputText = key.getOutputText();
final Object[] values = {
- Keyboard.printableCode(scrubDigitFromCodePoint(code)), outputText == null ? null
+ Constants.printableCode(scrubDigitFromCodePoint(code)), outputText == null ? null
: scrubDigitsFromString(outputText.toString()),
x, y, ignoreModifierKey, altersCode, key.isEnabled()
};
@@ -1109,7 +1109,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
final boolean withSliding, final boolean ignoreModifierKey) {
if (key != null) {
final Object[] values = {
- Keyboard.printableCode(scrubDigitFromCodePoint(primaryCode)), withSliding,
+ Constants.printableCode(scrubDigitFromCodePoint(primaryCode)), withSliding,
ignoreModifierKey, key.isEnabled()
};
getInstance().enqueuePotentiallyPrivateEvent(
diff --git a/java/src/com/android/inputmethod/research/Statistics.java b/java/src/com/android/inputmethod/research/Statistics.java
index eab465aa2..98491bd23 100644
--- a/java/src/com/android/inputmethod/research/Statistics.java
+++ b/java/src/com/android/inputmethod/research/Statistics.java
@@ -16,7 +16,7 @@
package com.android.inputmethod.research;
-import com.android.inputmethod.keyboard.Keyboard;
+import com.android.inputmethod.latin.Constants;
public class Statistics {
// Number of characters entered during a typing session
@@ -104,7 +104,7 @@ public class Statistics {
public void recordChar(int codePoint, long time) {
final long delta = time - mLastTapTime;
- if (codePoint == Keyboard.CODE_DELETE) {
+ if (codePoint == Constants.CODE_DELETE) {
mDeleteKeyCount++;
if (delta < MIN_DELETION_INTERMISSION) {
if (mIsLastKeyDeleteKey) {