aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/values-be/strings.xml24
-rw-r--r--java/res/values-bg/strings.xml24
-rw-r--r--java/res/values-cs/strings.xml24
-rw-r--r--java/res/values-en-rGB/strings.xml24
-rw-r--r--java/res/values-hr/strings.xml24
-rw-r--r--java/res/values-in/strings.xml24
-rw-r--r--java/res/values-iw/strings.xml24
-rw-r--r--java/res/values-ko/strings.xml24
-rw-r--r--java/res/values-lt/strings.xml24
-rw-r--r--java/res/values-lv/strings.xml24
-rw-r--r--java/res/values-pt/strings.xml24
-rw-r--r--java/res/values-ro/strings.xml24
-rw-r--r--java/res/values-ru/strings.xml24
-rw-r--r--java/res/values-sk/strings.xml24
-rw-r--r--java/res/values-sl/strings.xml24
-rw-r--r--java/res/values-sr/strings.xml24
-rw-r--r--java/res/values-sv/strings.xml24
-rw-r--r--java/res/values-sw/strings.xml24
-rw-r--r--java/res/values-th/strings.xml24
-rw-r--r--java/res/values-tl/strings.xml24
-rw-r--r--java/res/values-tr/strings.xml24
-rw-r--r--java/res/values-zh-rCN/strings.xml24
-rw-r--r--java/res/values-zh-rTW/strings.xml24
-rw-r--r--java/res/values/donottranslate.xml3
-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_pcqwerty5.xml71
-rw-r--r--java/res/xml-sw600dp/rowkeys_pcqwerty1.xml113
-rw-r--r--java/res/xml-sw600dp/rows_pcqwerty.xml72
-rw-r--r--java/res/xml-sw600dp/rows_pcqwerty_symbols.xml71
-rw-r--r--java/res/xml-sw768dp/row_pcqwerty5.xml59
-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/kbd_pcqwerty.xml29
-rw-r--r--java/res/xml/kbd_pcqwerty_symbols.xml29
-rw-r--r--java/res/xml/key_styles_common.xml4
-rw-r--r--java/res/xml/keyboard_layout_set_pcqwerty.xml42
-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/row_pcqwerty5.xml75
-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/rows_pcqwerty.xml65
-rw-r--r--java/res/xml/rows_pcqwerty_symbols.xml60
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java11
-rw-r--r--java/src/com/android/inputmethod/latin/AdditionalSubtype.java17
-rw-r--r--java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java186
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java5
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeLocale.java5
57 files changed, 1944 insertions, 456 deletions
diff --git a/java/res/values-be/strings.xml b/java/res/values-be/strings.xml
index c218edacf..0106f0978 100644
--- a/java/res/values-be/strings.xml
+++ b/java/res/values-be/strings.xml
@@ -118,23 +118,15 @@
<string name="keyboard_layout" msgid="8451164783510487501">"Тэма клавіятуры"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"Англійская (ЗК)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Англійская (ЗША)"</string>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Мова не выбрана"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Мова не выбрана (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml
index e2ea926cc..312d9df0f 100644
--- a/java/res/values-bg/strings.xml
+++ b/java/res/values-bg/strings.xml
@@ -118,23 +118,15 @@
<string name="keyboard_layout" msgid="8451164783510487501">"Тема на клавиатурата"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"английски (Великобритания)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"английски (САЩ)"</string>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Без език"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Без език („QWERTY“)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
index ab00c4e6b..51c5b0f84 100644
--- a/java/res/values-cs/strings.xml
+++ b/java/res/values-cs/strings.xml
@@ -118,23 +118,15 @@
<string name="keyboard_layout" msgid="8451164783510487501">"Motiv klávesnice"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"angličtina (Spojené království)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"angličtina (USA)"</string>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Žádný jazyk"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Žádný jazyk (QWERTY)"</string>
- <!-- 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 />
+ <string name="custom_input_styles_title" msgid="8429952441821251512">"Vlastní styly vstupu"</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="prefs_usability_study_mode" msgid="1261130555134595254">"Režim studie použitelnosti"</string>
<string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Nastavení trvání vibrace při stisku klávesy"</string>
<string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Nastavení hlasitosti zvuku při stisknutí klávesy"</string>
diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml
index b27089e8a..7931ba32b 100644
--- a/java/res/values-en-rGB/strings.xml
+++ b/java/res/values-en-rGB/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"No language"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"No language (QWERTY)"</string>
- <!-- 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 />
+ <string name="custom_input_styles_title" msgid="8429952441821251512">"Customised 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="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>
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
index c0fbd812c..54869db24 100644
--- a/java/res/values-hr/strings.xml
+++ b/java/res/values-hr/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Nema jezika"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nema jezika (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index b5d97adea..22c7ab72a 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Tidak ada bahasa"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Tanpa bahasa (QWERTY)"</string>
- <!-- 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 />
+ <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="prefs_usability_study_mode" msgid="1261130555134595254">"Modus 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>
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
index f08c03f28..c6176de93 100644
--- a/java/res/values-iw/strings.xml
+++ b/java/res/values-iw/strings.xml
@@ -118,23 +118,15 @@
<string name="keyboard_layout" msgid="8451164783510487501">"עיצוב מקלדת"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"אנגלית (בריטניה)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"אנגלית (ארה\"ב)"</string>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"ללא שפה"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"אין שפה (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
index 15744c9be..568741069 100644
--- a/java/res/values-ko/strings.xml
+++ b/java/res/values-ko/strings.xml
@@ -118,23 +118,15 @@
<string name="keyboard_layout" msgid="8451164783510487501">"키보드 테마"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"영어(영국)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"영어(미국)"</string>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"언어가 없음"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"언어가 없음(QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml
index 43a3f6c64..245fc4bea 100644
--- a/java/res/values-lt/strings.xml
+++ b/java/res/values-lt/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Kalbos nėra"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nėra kalbos (QWERTY)"</string>
- <!-- 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 />
+ <string name="custom_input_styles_title" msgid="8429952441821251512">"Tinkinti įv. stiliai"</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="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>
diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml
index 7f5ee14cb..7b06150c2 100644
--- a/java/res/values-lv/strings.xml
+++ b/java/res/values-lv/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Nav valodas"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nav valodas (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml
index 3c31ab219..f28b8a375 100644
--- a/java/res/values-pt/strings.xml
+++ b/java/res/values-pt/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Sem idioma"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nenhum idioma (QWERTY)"</string>
- <!-- 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 />
+ <string name="custom_input_styles_title" msgid="8429952441821251512">"Estilos entrad. 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">"Salvar"</string>
+ <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string>
+ <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</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">"Configurações do volume ao tocar a tecla"</string>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index 8dead1713..ad81bddaa 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Nicio limbă"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Nicio limbă (QWERTY)"</string>
- <!-- 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 />
+ <string name="custom_input_styles_title" msgid="8429952441821251512">"Stiluri introd. pers."</string>
+ <string name="add_style" msgid="6163126614514489951">"Adăug. 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="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>
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
index 00bdabba0..c56b01190 100644
--- a/java/res/values-ru/strings.xml
+++ b/java/res/values-ru/strings.xml
@@ -118,23 +118,15 @@
<string name="keyboard_layout" msgid="8451164783510487501">"Тема клавиатуры"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"английский (Великобритания)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"английский (США)"</string>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Язык не указан"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Язык не указан (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
index eba3efa7d..543fbb77f 100644
--- a/java/res/values-sk/strings.xml
+++ b/java/res/values-sk/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Žiadny jazyk"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Žiadny jazyk (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml
index 6d2dc0713..d5e2dbcaa 100644
--- a/java/res/values-sl/strings.xml
+++ b/java/res/values-sl/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Ni jezika"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Ni jezika (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml
index 6fa75aeb7..1dc3b4ea6 100644
--- a/java/res/values-sr/strings.xml
+++ b/java/res/values-sr/strings.xml
@@ -118,23 +118,15 @@
<string name="keyboard_layout" msgid="8451164783510487501">"Тема тастатуре"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"енглески (УК)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"енглески (САД)"</string>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Без језика"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Нема језика (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml
index 302ded480..417efe1b6 100644
--- a/java/res/values-sv/strings.xml
+++ b/java/res/values-sv/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Inget språk"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Inget språk (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index 8739edb3d..a71829754 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Hakuna lugha"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Hakuna lugha (QWERTY)"</string>
- <!-- 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 />
+ <string name="custom_input_styles_title" msgid="8429952441821251512">"Mitindo maalum ya kuingiza"</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="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>
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index 13c513aea..c56b01c98 100644
--- a/java/res/values-th/strings.xml
+++ b/java/res/values-th/strings.xml
@@ -118,23 +118,15 @@
<string name="keyboard_layout" msgid="8451164783510487501">"ชุดรูปแบบแป้นพิมพ์"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"อังกฤษ (สหราชอาณาจักร)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"อังกฤษ (อเมริกัน)"</string>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"ไม่มีภาษา"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"ไม่มีภาษา (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
index 381cf1b69..93ae1ee23 100644
--- a/java/res/values-tl/strings.xml
+++ b/java/res/values-tl/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Walang wika"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Walang wika (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
index cbe4622a7..e6dd111f3 100644
--- a/java/res/values-tr/strings.xml
+++ b/java/res/values-tr/strings.xml
@@ -118,23 +118,15 @@
<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>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"Dil yok"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Dil yok (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml
index 9a468d546..9426cb55c 100644
--- a/java/res/values-zh-rCN/strings.xml
+++ b/java/res/values-zh-rCN/strings.xml
@@ -118,23 +118,15 @@
<string name="keyboard_layout" msgid="8451164783510487501">"键盘主题"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"英语(英国)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"英语(美国)"</string>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"无语言"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"无语言(QWERTY 键盘)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml
index eafd43ac9..7a5f2c989 100644
--- a/java/res/values-zh-rTW/strings.xml
+++ b/java/res/values-zh-rTW/strings.xml
@@ -118,23 +118,15 @@
<string name="keyboard_layout" msgid="8451164783510487501">"鍵盤主題"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"英文 (英式)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"英文 (美式)"</string>
- <!-- no translation found for subtype_no_language (141420857808801746) -->
- <skip />
+ <string name="subtype_no_language" msgid="141420857808801746">"無語言"</string>
<string name="subtype_no_language_qwerty" msgid="2956121451616633133">"無語言 (QWERTY)"</string>
- <!-- 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 />
+ <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="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>
diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml
index 37f073675..0be886015 100644
--- a/java/res/values/donottranslate.xml
+++ b/java/res/values/donottranslate.xml
@@ -154,6 +154,7 @@
<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">
@@ -162,6 +163,7 @@
<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>". -->
@@ -170,6 +172,7 @@
<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>
<!-- dictionary pack package name /settings activity (for shared prefs and settings) -->
<string name="dictionary_pack_package_name">com.google.android.inputmethod.latin.dictionarypack</string>
diff --git a/java/res/xml-sw600dp/keys_pcqwerty2_right3.xml b/java/res/xml-sw600dp/keys_pcqwerty2_right3.xml
new file mode 100644
index 000000000..0a27ca70c
--- /dev/null
+++ b/java/res/xml-sw600dp/keys_pcqwerty2_right3.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..a0e5cbb92
--- /dev/null
+++ b/java/res/xml-sw600dp/keys_pcqwerty3_right2.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..ee5271abe
--- /dev/null
+++ b/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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_pcqwerty5.xml b/java/res/xml-sw600dp/row_pcqwerty5.xml
new file mode 100644
index 000000000..83bc83e69
--- /dev/null
+++ b/java/res/xml-sw600dp/row_pcqwerty5.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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: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>
+ <switch>
+ <case
+ latin:languageSwitchKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="languageSwitchKeyStyle" />
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="42.0%p" />
+ </case>
+ <!-- languageSwitchKeyEnabled="false" -->
+ <default>
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="49.0%p" />
+ </default>
+ </switch>
+ <include
+ latin:keyXPos="-9.0%p"
+ latin:keyWidth="fillRight"
+ latin:keyboardLayout="@xml/key_shortcut" />
+ </Row>
+</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml b/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml
new file mode 100644
index 000000000..d486b9df0
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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/rows_pcqwerty.xml b/java/res/xml-sw600dp/rows_pcqwerty.xml
new file mode 100644
index 000000000..ff2f785ea
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_pcqwerty.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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="fillBoth" />
+ </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="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty4" />
+ <include
+ latin:keyboardLayout="@xml/key_smiley"
+ latin:keyXPos="-9.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
new file mode 100644
index 000000000..046bce909
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_pcqwerty_symbols.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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="fillBoth" />
+ </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="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty4"
+ latin:keyXPos="15.0%p" />
+ <include
+ latin:keyboardLayout="@xml/key_smiley"
+ latin:keyXPos="-9.0%p"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_pcqwerty5" />
+</merge>
diff --git a/java/res/xml-sw768dp/row_pcqwerty5.xml b/java/res/xml-sw768dp/row_pcqwerty5.xml
new file mode 100644
index 000000000..e27ec878b
--- /dev/null
+++ b/java/res/xml-sw768dp/row_pcqwerty5.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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/rows_pcqwerty.xml b/java/res/xml-sw768dp/rows_pcqwerty.xml
new file mode 100644
index 000000000..c14fb12fe
--- /dev/null
+++ b/java/res/xml-sw768dp/rows_pcqwerty.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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="fillBoth" />
+ </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="fillBoth" />
+ </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="fillBoth" />
+ </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
new file mode 100644
index 000000000..faa9d8a2c
--- /dev/null
+++ b/java/res/xml-sw768dp/rows_pcqwerty_symbols.xml
@@ -0,0 +1,67 @@
+<?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="fillBoth" />
+ </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="fillBoth" />
+ </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/kbd_pcqwerty.xml b/java/res/xml/kbd_pcqwerty.xml
new file mode 100644
index 000000000..cebca4ff7
--- /dev/null
+++ b/java/res/xml/kbd_pcqwerty.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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="3.20%p"
+ 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
new file mode 100644
index 000000000..fd64e5bf4
--- /dev/null
+++ b/java/res/xml/kbd_pcqwerty_symbols.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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="3.20%p"
+ latin:touchPositionCorrectionData="@null"
+>
+ <include
+ latin:keyboardLayout="@xml/rows_pcqwerty_symbols" />
+</Keyboard>
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index 4341b7903..f0e9170e1 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -147,8 +147,8 @@
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
- iconToSymbolKeyWithShortcutKey here. -->
+ 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"
diff --git a/java/res/xml/keyboard_layout_set_pcqwerty.xml b/java/res/xml/keyboard_layout_set_pcqwerty.xml
new file mode 100644
index 000000000..9367ed00c
--- /dev/null
+++ b/java/res/xml/keyboard_layout_set_pcqwerty.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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/keys_pcqwerty2_right3.xml b/java/res/xml/keys_pcqwerty2_right3.xml
new file mode 100644
index 000000000..2065e6b46
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty2_right3.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..fd9d3b8b0
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty3_right2.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..7795b3d8b
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty4_right3.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..bf48b1f17
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty_symbols1.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..d0ea984e8
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty_symbols2.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..35279deaf
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty_symbols3.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..3c628f0e0
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty_symbols4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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/row_pcqwerty5.xml b/java/res/xml/row_pcqwerty5.xml
new file mode 100644
index 000000000..c9ee32c04
--- /dev/null
+++ b/java/res/xml/row_pcqwerty5.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+ </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/rowkeys_pcqwerty1.xml b/java/res/xml/rowkeys_pcqwerty1.xml
new file mode 100644
index 000000000..0ecda3550
--- /dev/null
+++ b/java/res/xml/rowkeys_pcqwerty1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..cedf47559
--- /dev/null
+++ b/java/res/xml/rowkeys_pcqwerty2.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..5044e5feb
--- /dev/null
+++ b/java/res/xml/rowkeys_pcqwerty3.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..4071e8c09
--- /dev/null
+++ b/java/res/xml/rowkeys_pcqwerty4.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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/rows_pcqwerty.xml b/java/res/xml/rows_pcqwerty.xml
new file mode 100644
index 000000000..a5ed74518
--- /dev/null
+++ b/java/res/xml/rows_pcqwerty.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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
new file mode 100644
index 000000000..107a4ad1f
--- /dev/null
+++ b/java/res/xml/rows_pcqwerty_symbols.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index 9dc1786c7..1b516755f 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -234,6 +234,7 @@ public final class KeyboardTextsSet {
/* 118 */ "label_to_phone_symbols_key",
/* 119 */ "label_time_am",
/* 120 */ "label_time_pm",
+ /* 121 */ "label_to_symbol_key_pcqwerty",
};
private static final String EMPTY = "";
@@ -381,6 +382,8 @@ public final class KeyboardTextsSet {
/* 119 */ "AM",
// Key label for "post meridiem"
/* 120 */ "PM",
+ // Label for "switch to symbols" key on PC QWERTY layout
+ /* 121 */ "Sym",
};
/* Language ar: Arabic */
@@ -427,8 +430,6 @@ public final class KeyboardTextsSet {
// http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
// U+FD3E: "﴾" ORNATE LEFT PARENTHESIS
// U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS
- // TODO: DroidSansArabic lacks the glyph of U+FD3E ORNATE LEFT PARENTHESIS
- // TODO: DroidSansArabic lacks the glyph of U+FD3F ORNATE RIGHT PARENTHESIS
/* 53 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]",
/* 54 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[",
// U+2264: "≤" LESS-THAN OR EQUAL TO
@@ -495,7 +496,7 @@ public final class KeyboardTextsSet {
/* 94 */ "?",
/* 95 */ ";",
// U+2030: "‰" PER MILLE SIGN
- /* 96 */ "%,\u2030",
+ /* 96 */ "\\%,\u2030",
/* 97~ */
null, null, null, null, null,
/* ~101 */
@@ -1031,8 +1032,6 @@ public final class KeyboardTextsSet {
// http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
// U+FD3E: "﴾" ORNATE LEFT PARENTHESIS
// U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS
- // TODO: DroidSansArabic lacks the glyph of U+FD3E ORNATE LEFT PARENTHESIS
- // TODO: DroidSansArabic lacks the glyph of U+FD3F ORNATE RIGHT PARENTHESIS
/* 53 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]",
/* 54 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[",
// U+2264: "≤" LESS-THAN OR EQUAL TO
@@ -1099,7 +1098,7 @@ public final class KeyboardTextsSet {
/* 94 */ "?",
/* 95 */ ";",
// U+2030: "‰" PER MILLE SIGN
- /* 96 */ "%,\u2030",
+ /* 96 */ "\\%,\u2030",
// U+060C: "،" ARABIC COMMA
// U+061B: "؛" ARABIC SEMICOLON
// U+061F: "؟" ARABIC QUESTION MARK
diff --git a/java/src/com/android/inputmethod/latin/AdditionalSubtype.java b/java/src/com/android/inputmethod/latin/AdditionalSubtype.java
index 458d9ee14..b9023aef9 100644
--- a/java/src/com/android/inputmethod/latin/AdditionalSubtype.java
+++ b/java/src/com/android/inputmethod/latin/AdditionalSubtype.java
@@ -22,6 +22,7 @@ import static com.android.inputmethod.latin.Constants.Subtype.ExtraValue.KEYBOAR
import android.view.inputmethod.InputMethodSubtype;
+import java.util.ArrayList;
public class AdditionalSubtype {
@@ -41,9 +42,8 @@ public class AdditionalSubtype {
final String layoutExtraValue = KEYBOARD_LAYOUT_SET + "=" + keyboardLayoutSetName;
final String filteredExtraValue = StringUtils.appendToCsvIfNotExists(
IS_ADDITIONAL_SUBTYPE, extraValue);
- Integer nameId = SubtypeLocale.getSubtypeNameIdFromKeyboardLayoutName(
+ final int nameId = SubtypeLocale.getSubtypeNameIdFromKeyboardLayoutName(
keyboardLayoutSetName);
- if (nameId == null) nameId = R.string.subtype_generic;
return new InputMethodSubtype(nameId, R.drawable.ic_subtype_keyboard,
localeString, KEYBOARD_MODE,
layoutExtraValue + "," + filteredExtraValue, false, false);
@@ -74,10 +74,17 @@ public class AdditionalSubtype {
public static InputMethodSubtype[] createAdditionalSubtypesArray(String prefSubtypes) {
final String[] prefSubtypeArray = prefSubtypes.split(PREF_SUBTYPE_SEPARATOR);
- final InputMethodSubtype[] subtypesArray = new InputMethodSubtype[prefSubtypeArray.length];
+ final ArrayList<InputMethodSubtype> subtypesList =
+ new ArrayList<InputMethodSubtype>(prefSubtypeArray.length);
for (int i = 0; i < prefSubtypeArray.length; i++) {
- subtypesArray[i] = createAdditionalSubtype(prefSubtypeArray[i]);
+ final InputMethodSubtype subtype = createAdditionalSubtype(prefSubtypeArray[i]);
+ if (subtype.getNameResId() == SubtypeLocale.UNKNOWN_KEYBOARD_LAYOUT) {
+ // Skip unknown keyboard layout subtype. This may happen when predefined keyboard
+ // layout has been removed.
+ continue;
+ }
+ subtypesList.add(subtype);
}
- return subtypesArray;
+ return subtypesList.toArray(new InputMethodSubtype[subtypesList.size()]);
}
}
diff --git a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java
index 994b917a7..8ce91fd2d 100644
--- a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java
+++ b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java
@@ -19,6 +19,7 @@ package com.android.inputmethod.latin;
import static com.android.inputmethod.latin.Constants.Subtype.ExtraValue.ASCII_CAPABLE;
import android.app.AlertDialog;
+import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
@@ -29,9 +30,7 @@ import android.preference.DialogPreference;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceGroup;
-import android.preference.PreferenceScreen;
import android.util.Pair;
-import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -50,9 +49,10 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
private SubtypeLocaleAdapter mSubtypeLocaleAdapter;
private KeyboardLayoutSetAdapter mKeyboardLayoutSetAdapter;
- private PreferenceGroup mSubtypePrefGroup;
+ private boolean mIsAddingNewSubtype;
private static final int MENU_ADD_SUBTYPE = Menu.FIRST;
+ private static final String SAVE_IS_ADDING_NEW_SUBTYPE = "is_adding_new_subtype";
static class SubtypeLocaleItem extends Pair<String, String>
implements Comparable<SubtypeLocaleItem> {
@@ -141,16 +141,26 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
public KeyboardLayoutSetAdapter getKeyboardLayoutSetAdapter();
}
- static class SubtypePreference extends DialogPreference {
+ static class SubtypePreference extends DialogPreference
+ implements DialogInterface.OnCancelListener {
+ private static final String KEY_PREFIX = "subtype_pref_";
+ private static final String KEY_NEW_SUBTYPE = KEY_PREFIX + "new";
+
private InputMethodSubtype mSubtype;
private final SubtypeDialogProxy mProxy;
private Spinner mSubtypeLocaleSpinner;
private Spinner mKeyboardLayoutSetSpinner;
+ public static SubtypePreference newIncompleteSubtypePreference(
+ Context context, SubtypeDialogProxy proxy) {
+ return new SubtypePreference(context, null, proxy);
+ }
+
public SubtypePreference(Context context, InputMethodSubtype subtype,
- SubtypeDialogProxy proxy) {
+ SubtypeDialogProxy proxy) {
super(context, null);
+ setDialogLayoutResource(R.layout.additional_subtype_dialog);
setPersistent(false);
mProxy = proxy;
setSubtype(subtype);
@@ -160,34 +170,44 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
showDialog(null);
}
+ public final boolean isIncomplete() {
+ return mSubtype == null;
+ }
+
public InputMethodSubtype getSubtype() {
return mSubtype;
}
public void setSubtype(InputMethodSubtype subtype) {
mSubtype = subtype;
- if (subtype == null) {
+ if (isIncomplete()) {
setTitle(null);
setDialogTitle(R.string.add_style);
+ setKey(KEY_NEW_SUBTYPE);
} else {
final String displayName = SubtypeLocale.getFullDisplayName(subtype);
setTitle(displayName);
setDialogTitle(displayName);
+ setKey(KEY_PREFIX + subtype.getLocale() + "_"
+ + SubtypeLocale.getKeyboardLayoutSetName(subtype));
}
}
@Override
- protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
- final Context context = builder.getContext();
- final View v = LayoutInflater.from(context).inflate(
- R.layout.additional_subtype_dialog, null);
- builder.setView(v);
+ protected View onCreateDialogView() {
+ final View v = super.onCreateDialogView();
mSubtypeLocaleSpinner = (Spinner) v.findViewById(R.id.subtype_locale_spinner);
mSubtypeLocaleSpinner.setAdapter(mProxy.getSubtypeLocaleAdapter());
mKeyboardLayoutSetSpinner = (Spinner) v.findViewById(R.id.keyboard_layout_set_spinner);
mKeyboardLayoutSetSpinner.setAdapter(mProxy.getKeyboardLayoutSetAdapter());
+ return v;
+ }
- if (mSubtype == null) {
+ @Override
+ protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
+ final Context context = builder.getContext();
+ builder.setCancelable(true).setOnCancelListener(this);
+ if (isIncomplete()) {
builder.setPositiveButton(R.string.add, this)
.setNegativeButton(android.R.string.cancel, this);
} else {
@@ -215,6 +235,13 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
}
@Override
+ public void onCancel(DialogInterface dialog) {
+ if (isIncomplete()) {
+ mProxy.onRemovePressed(this);
+ }
+ }
+
+ @Override
public void onClick(DialogInterface dialog, int which) {
super.onClick(dialog, which);
switch (which) {
@@ -237,28 +264,49 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
}
}
+ private static int getSpinnerPosition(Spinner spinner) {
+ if (spinner == null) return -1;
+ return spinner.getSelectedItemPosition();
+ }
+
+ private static void setSpinnerPosition(Spinner spinner, int position) {
+ if (spinner == null || position < 0) return;
+ spinner.setSelection(position);
+ }
+
@Override
protected Parcelable onSaveInstanceState() {
- final SavedState myState = new SavedState(super.onSaveInstanceState());
+ final Parcelable superState = super.onSaveInstanceState();
+ final Dialog dialog = getDialog();
+ if (dialog == null || !dialog.isShowing()) {
+ return superState;
+ }
+
+ final SavedState myState = new SavedState(superState);
myState.mSubtype = mSubtype;
+ myState.mSubtypeLocaleSelectedPos = getSpinnerPosition(mSubtypeLocaleSpinner);
+ myState.mKeyboardLayoutSetSelectedPos = getSpinnerPosition(mKeyboardLayoutSetSpinner);
return myState;
}
@Override
protected void onRestoreInstanceState(Parcelable state) {
- if (state instanceof SavedState) {
- final SavedState myState = (SavedState) state;
- super.onRestoreInstanceState(state);
- setSubtype(myState.mSubtype);
- } else {
+ if (!(state instanceof SavedState)) {
super.onRestoreInstanceState(state);
+ return;
}
+
+ final SavedState myState = (SavedState) state;
+ super.onRestoreInstanceState(myState.getSuperState());
+ setSpinnerPosition(mSubtypeLocaleSpinner, myState.mSubtypeLocaleSelectedPos);
+ setSpinnerPosition(mKeyboardLayoutSetSpinner, myState.mKeyboardLayoutSetSelectedPos);
+ setSubtype(myState.mSubtype);
}
static class SavedState extends Preference.BaseSavedState {
InputMethodSubtype mSubtype;
- private static final byte VALID = 1;
- private static final byte INVALID = 0;
+ int mSubtypeLocaleSelectedPos;
+ int mKeyboardLayoutSetSelectedPos;
public SavedState(Parcelable superState) {
super(superState);
@@ -267,23 +315,19 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
- if (mSubtype != null) {
- dest.writeByte(VALID);
- mSubtype.writeToParcel(dest, 0);
- } else {
- dest.writeByte(INVALID);
- }
+ dest.writeInt(mSubtypeLocaleSelectedPos);
+ dest.writeInt(mKeyboardLayoutSetSelectedPos);
+ dest.writeParcelable(mSubtype, 0);
}
public SavedState(Parcel source) {
super(source);
- if (source.readByte() == VALID) {
- mSubtype = source.readParcelable(null);
- } else {
- mSubtype = null;
- }
+ mSubtypeLocaleSelectedPos = source.readInt();
+ mKeyboardLayoutSetSelectedPos = source.readInt();
+ mSubtype = (InputMethodSubtype)source.readParcelable(null);
}
+ @SuppressWarnings("hiding")
public static final Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
@Override
@@ -309,26 +353,43 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
addPreferencesFromResource(R.xml.additional_subtype_settings);
setHasOptionsMenu(true);
- mSubtypePrefGroup = getPreferenceScreen();
mPrefs = getPreferenceManager().getSharedPreferences();
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
-
final Context context = getActivity();
mSubtypeLocaleAdapter = new SubtypeLocaleAdapter(context);
mKeyboardLayoutSetAdapter = new KeyboardLayoutSetAdapter(context);
- // TODO: Restore editing dialog if any.
+ final String prefSubtypes =
+ SettingsValues.getPrefAdditionalSubtypes(mPrefs, getResources());
+ setPrefSubtypes(prefSubtypes, context);
+
+ mIsAddingNewSubtype = (savedInstanceState != null)
+ && savedInstanceState.containsKey(SAVE_IS_ADDING_NEW_SUBTYPE);
+ if (mIsAddingNewSubtype) {
+ getPreferenceScreen().addPreference(
+ SubtypePreference.newIncompleteSubtypePreference(context, mSubtypeProxy));
+ }
+
+ super.onActivityCreated(savedInstanceState);
+ }
+
+ @Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ if (mIsAddingNewSubtype) {
+ outState.putBoolean(SAVE_IS_ADDING_NEW_SUBTYPE, true);
+ }
}
private final SubtypeDialogProxy mSubtypeProxy = new SubtypeDialogProxy() {
@Override
public void onRemovePressed(SubtypePreference subtypePref) {
- final PreferenceGroup group = mSubtypePrefGroup;
+ mIsAddingNewSubtype = false;
+ final PreferenceGroup group = getPreferenceScreen();
if (group != null) {
group.removePreference(subtypePref);
}
@@ -346,13 +407,11 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
};
private void setPrefSubtypes(String prefSubtypes, Context context) {
- final PreferenceGroup group = mSubtypePrefGroup;
+ final PreferenceGroup group = getPreferenceScreen();
group.removeAll();
- final String[] prefSubtypeArray = prefSubtypes.split(
- AdditionalSubtype.PREF_SUBTYPE_SEPARATOR);
- for (final String prefSubtype : prefSubtypeArray) {
- final InputMethodSubtype subtype =
- AdditionalSubtype.createAdditionalSubtype(prefSubtype);
+ final InputMethodSubtype[] subtypesArray =
+ AdditionalSubtype.createAdditionalSubtypesArray(prefSubtypes);
+ for (final InputMethodSubtype subtype : subtypesArray) {
final SubtypePreference pref = new SubtypePreference(
context, subtype, mSubtypeProxy);
group.addPreference(pref);
@@ -360,13 +419,16 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
}
private String getPrefSubtypes() {
+ final PreferenceGroup group = getPreferenceScreen();
final StringBuilder sb = new StringBuilder();
- final int count = mSubtypePrefGroup.getPreferenceCount();
+ final int count = group.getPreferenceCount();
for (int i = 0; i < count; i++) {
- final Preference pref = mSubtypePrefGroup.getPreference(i);
+ final Preference pref = group.getPreference(i);
if (pref instanceof SubtypePreference) {
- final InputMethodSubtype subtype = ((SubtypePreference)pref).getSubtype();
- if (subtype == null) continue;
+ final SubtypePreference subtypePref = (SubtypePreference)pref;
+ // We should not save newly adding subtype to preference because it is incomplete.
+ if (subtypePref.isIncomplete()) continue;
+ final InputMethodSubtype subtype = subtypePref.getSubtype();
if (sb.length() > 0) {
sb.append(AdditionalSubtype.PREF_SUBTYPE_SEPARATOR);
}
@@ -377,15 +439,6 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
}
@Override
- public void onResume() {
- super.onResume();
-
- final String prefSubtypes =
- SettingsValues.getPrefAdditionalSubtypes(mPrefs, getResources());
- setPrefSubtypes(prefSubtypes, getActivity());
- }
-
- @Override
public void onPause() {
super.onPause();
final String oldSubtypes = SettingsValues.getPrefAdditionalSubtypes(mPrefs, getResources());
@@ -406,20 +459,6 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
}
@Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- // TODO: save editing dialog state.
- }
-
- @Override
- public boolean onPreferenceTreeClick(PreferenceScreen prefScreen, Preference pref) {
- if (pref instanceof SubtypePreference) {
- return true;
- }
- return super.onPreferenceTreeClick(prefScreen, pref);
- }
-
- @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
final MenuItem addSubtypeMenu = menu.add(0, MENU_ADD_SUBTYPE, 0, R.string.add_style);
addSubtypeMenu.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
@@ -429,10 +468,11 @@ public class AdditionalSubtypeSettings extends PreferenceFragment {
public boolean onOptionsItemSelected(MenuItem item) {
final int itemId = item.getItemId();
if (itemId == MENU_ADD_SUBTYPE) {
- final SubtypePreference subtypePref = new SubtypePreference(
- getActivity(), null, mSubtypeProxy);
- mSubtypePrefGroup.addPreference(subtypePref);
- subtypePref.show();
+ final SubtypePreference newSubtype =
+ SubtypePreference.newIncompleteSubtypePreference(getActivity(), mSubtypeProxy);
+ getPreferenceScreen().addPreference(newSubtype);
+ newSubtype.show();
+ mIsAddingNewSubtype = true;
return true;
}
return super.onOptionsItemSelected(item);
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index 7d2ccdf5f..9dcffd4e2 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -288,13 +288,16 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
loadDictionaryAsync();
+ final String tempFileName = mFilename + ".temp";
final File file = new File(mContext.getFilesDir(), mFilename);
+ final File tempFile = new File(mContext.getFilesDir(), tempFileName);
FileOutputStream out = null;
try {
- out = new FileOutputStream(file);
+ out = new FileOutputStream(tempFile);
BinaryDictInputOutput.writeDictionaryBinary(out, mFusionDictionary, 1);
out.flush();
out.close();
+ tempFile.renameTo(file);
clearFusionDictionary();
} catch (IOException e) {
Log.e(TAG, "IO exception while writing file: " + e);
diff --git a/java/src/com/android/inputmethod/latin/SubtypeLocale.java b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
index 33ad23a60..88d3c3f4f 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeLocale.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
@@ -36,6 +36,8 @@ public class SubtypeLocale {
public static final String QWERTY = "qwerty";
+ public static final int UNKNOWN_KEYBOARD_LAYOUT = R.string.subtype_generic;
+
private static String[] sPredefinedKeyboardLayoutSet;
// Keyboard layout to its display name map.
private static final HashMap<String, String> sKeyboardKayoutToDisplayNameMap =
@@ -81,7 +83,8 @@ public class SubtypeLocale {
}
public static int getSubtypeNameIdFromKeyboardLayoutName(String keyboardLayoutName) {
- return sKeyboardLayoutToNameIdsMap.get(keyboardLayoutName);
+ final Integer nameId = sKeyboardLayoutToNameIdsMap.get(keyboardLayoutName);
+ return nameId == null ? UNKNOWN_KEYBOARD_LAYOUT : nameId;
}
// Get InputMethodSubtype's display name in its locale.