diff --git a/res/drawable-land/keyboard_suggest_strip_divider.png b/res/drawable-land/keyboard_suggest_strip_divider.png
new file mode 100644
index 0000000..e54c5b0
--- /dev/null
+++ b/res/drawable-land/keyboard_suggest_strip_divider.png
Binary files differ
diff --git a/res/drawable/candidate_feedback_background.9.png b/res/drawable/candidate_feedback_background.9.png
new file mode 100644
index 0000000..2a80f09
--- /dev/null
+++ b/res/drawable/candidate_feedback_background.9.png
Binary files differ
diff --git a/res/drawable/dialog_bubble_step02.9.png b/res/drawable/dialog_bubble_step02.9.png
new file mode 100755
index 0000000..d77f85f
--- /dev/null
+++ b/res/drawable/dialog_bubble_step02.9.png
Binary files differ
diff --git a/res/drawable/dialog_bubble_step03.9.png b/res/drawable/dialog_bubble_step03.9.png
new file mode 100755
index 0000000..16b4d02
--- /dev/null
+++ b/res/drawable/dialog_bubble_step03.9.png
Binary files differ
diff --git a/res/drawable/dialog_bubble_step04.9.png b/res/drawable/dialog_bubble_step04.9.png
new file mode 100755
index 0000000..a24012d
--- /dev/null
+++ b/res/drawable/dialog_bubble_step04.9.png
Binary files differ
diff --git a/res/drawable/highlight_pressed.png b/res/drawable/highlight_pressed.png
new file mode 100644
index 0000000..d27f106
--- /dev/null
+++ b/res/drawable/highlight_pressed.png
Binary files differ
diff --git a/res/drawable/ic_dialog_keyboard.png b/res/drawable/ic_dialog_keyboard.png
new file mode 100644
index 0000000..9a5aada
--- /dev/null
+++ b/res/drawable/ic_dialog_keyboard.png
Binary files differ
diff --git a/res/drawable/ic_suggest_scroll_background.xml b/res/drawable/ic_suggest_scroll_background.xml
new file mode 100644
index 0000000..9d246e4
--- /dev/null
+++ b/res/drawable/ic_suggest_scroll_background.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:state_pressed="false"
+        android:drawable="@android:color/transparent" />
+
+    <item android:state_pressed="true"
+        android:drawable="@drawable/highlight_pressed" />
+
+</selector>
\ No newline at end of file
diff --git a/res/drawable/ic_suggest_strip_scroll_left_arrow.png b/res/drawable/ic_suggest_strip_scroll_left_arrow.png
new file mode 100644
index 0000000..a9adef2
--- /dev/null
+++ b/res/drawable/ic_suggest_strip_scroll_left_arrow.png
Binary files differ
diff --git a/res/drawable/ic_suggest_strip_scroll_right_arrow.png b/res/drawable/ic_suggest_strip_scroll_right_arrow.png
new file mode 100644
index 0000000..639a287
--- /dev/null
+++ b/res/drawable/ic_suggest_strip_scroll_right_arrow.png
Binary files differ
diff --git a/res/drawable/keyboard_suggest_strip.9.png b/res/drawable/keyboard_suggest_strip.9.png
new file mode 100644
index 0000000..71bf5e8
--- /dev/null
+++ b/res/drawable/keyboard_suggest_strip.9.png
Binary files differ
diff --git a/res/drawable/keyboard_suggest_strip_divider.png b/res/drawable/keyboard_suggest_strip_divider.png
new file mode 100644
index 0000000..e54c5b0
--- /dev/null
+++ b/res/drawable/keyboard_suggest_strip_divider.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_delete.png b/res/drawable/sym_keyboard_delete.png
new file mode 100644
index 0000000..f1f7c58
--- /dev/null
+++ b/res/drawable/sym_keyboard_delete.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_done.png b/res/drawable/sym_keyboard_done.png
new file mode 100755
index 0000000..c0d6d13
--- /dev/null
+++ b/res/drawable/sym_keyboard_done.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_feedback_delete.png b/res/drawable/sym_keyboard_feedback_delete.png
new file mode 100644
index 0000000..3c90839
--- /dev/null
+++ b/res/drawable/sym_keyboard_feedback_delete.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_feedback_done.png b/res/drawable/sym_keyboard_feedback_done.png
new file mode 100755
index 0000000..0d7ebd4
--- /dev/null
+++ b/res/drawable/sym_keyboard_feedback_done.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_feedback_numalt.png b/res/drawable/sym_keyboard_feedback_numalt.png
new file mode 100644
index 0000000..aac7376
--- /dev/null
+++ b/res/drawable/sym_keyboard_feedback_numalt.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_feedback_numpound.png b/res/drawable/sym_keyboard_feedback_numpound.png
new file mode 100644
index 0000000..6b6561e
--- /dev/null
+++ b/res/drawable/sym_keyboard_feedback_numpound.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_feedback_numstar.png b/res/drawable/sym_keyboard_feedback_numstar.png
new file mode 100644
index 0000000..05f7b4f
--- /dev/null
+++ b/res/drawable/sym_keyboard_feedback_numstar.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_feedback_return.png b/res/drawable/sym_keyboard_feedback_return.png
new file mode 100644
index 0000000..03d9c9b
--- /dev/null
+++ b/res/drawable/sym_keyboard_feedback_return.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_feedback_search.png b/res/drawable/sym_keyboard_feedback_search.png
new file mode 100755
index 0000000..f4af341
--- /dev/null
+++ b/res/drawable/sym_keyboard_feedback_search.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_feedback_shift.png b/res/drawable/sym_keyboard_feedback_shift.png
new file mode 100644
index 0000000..97f4661
--- /dev/null
+++ b/res/drawable/sym_keyboard_feedback_shift.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_feedback_shift_locked.png b/res/drawable/sym_keyboard_feedback_shift_locked.png
new file mode 100755
index 0000000..7194b30
--- /dev/null
+++ b/res/drawable/sym_keyboard_feedback_shift_locked.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_feedback_space.png b/res/drawable/sym_keyboard_feedback_space.png
new file mode 100644
index 0000000..739db68
--- /dev/null
+++ b/res/drawable/sym_keyboard_feedback_space.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_num0.png b/res/drawable/sym_keyboard_num0.png
new file mode 100644
index 0000000..e7007c8
--- /dev/null
+++ b/res/drawable/sym_keyboard_num0.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_num1.png b/res/drawable/sym_keyboard_num1.png
new file mode 100644
index 0000000..aaac11b
--- /dev/null
+++ b/res/drawable/sym_keyboard_num1.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_num2.png b/res/drawable/sym_keyboard_num2.png
new file mode 100644
index 0000000..4372eb8
--- /dev/null
+++ b/res/drawable/sym_keyboard_num2.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_num3.png b/res/drawable/sym_keyboard_num3.png
new file mode 100644
index 0000000..6f54c85
--- /dev/null
+++ b/res/drawable/sym_keyboard_num3.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_num4.png b/res/drawable/sym_keyboard_num4.png
new file mode 100644
index 0000000..3e50bb9
--- /dev/null
+++ b/res/drawable/sym_keyboard_num4.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_num5.png b/res/drawable/sym_keyboard_num5.png
new file mode 100644
index 0000000..c39ef44
--- /dev/null
+++ b/res/drawable/sym_keyboard_num5.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_num6.png b/res/drawable/sym_keyboard_num6.png
new file mode 100644
index 0000000..ea88ceb
--- /dev/null
+++ b/res/drawable/sym_keyboard_num6.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_num7.png b/res/drawable/sym_keyboard_num7.png
new file mode 100644
index 0000000..4d75583
--- /dev/null
+++ b/res/drawable/sym_keyboard_num7.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_num8.png b/res/drawable/sym_keyboard_num8.png
new file mode 100644
index 0000000..1a8ff94
--- /dev/null
+++ b/res/drawable/sym_keyboard_num8.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_num9.png b/res/drawable/sym_keyboard_num9.png
new file mode 100644
index 0000000..8b344c0
--- /dev/null
+++ b/res/drawable/sym_keyboard_num9.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_numalt.png b/res/drawable/sym_keyboard_numalt.png
new file mode 100644
index 0000000..32a2cf3
--- /dev/null
+++ b/res/drawable/sym_keyboard_numalt.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_numpound.png b/res/drawable/sym_keyboard_numpound.png
new file mode 100644
index 0000000..b2419d9
--- /dev/null
+++ b/res/drawable/sym_keyboard_numpound.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_numstar.png b/res/drawable/sym_keyboard_numstar.png
new file mode 100644
index 0000000..cb66f96
--- /dev/null
+++ b/res/drawable/sym_keyboard_numstar.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_return.png b/res/drawable/sym_keyboard_return.png
new file mode 100644
index 0000000..17f2574
--- /dev/null
+++ b/res/drawable/sym_keyboard_return.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_search.png b/res/drawable/sym_keyboard_search.png
new file mode 100755
index 0000000..127755d
--- /dev/null
+++ b/res/drawable/sym_keyboard_search.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_shift.png b/res/drawable/sym_keyboard_shift.png
new file mode 100644
index 0000000..0566e5a
--- /dev/null
+++ b/res/drawable/sym_keyboard_shift.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_shift_locked.png b/res/drawable/sym_keyboard_shift_locked.png
new file mode 100755
index 0000000..ccaf05d
--- /dev/null
+++ b/res/drawable/sym_keyboard_shift_locked.png
Binary files differ
diff --git a/res/drawable/sym_keyboard_space.png b/res/drawable/sym_keyboard_space.png
new file mode 100644
index 0000000..4e6273b
--- /dev/null
+++ b/res/drawable/sym_keyboard_space.png
Binary files differ
diff --git a/res/layout/bubble_text.xml b/res/layout/bubble_text.xml
new file mode 100644
index 0000000..af8abce
--- /dev/null
+++ b/res/layout/bubble_text.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content" 
+    android:layout_height="wrap_content"
+    android:textSize="14sp"
+    android:textColor="?android:attr/textColorPrimary"
+    android:minWidth="32dip"
+    />
diff --git a/res/layout/candidate_preview.xml b/res/layout/candidate_preview.xml
new file mode 100755
index 0000000..fe2002d
--- /dev/null
+++ b/res/layout/candidate_preview.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content" 
+    android:layout_height="wrap_content"
+    android:textSize="18sp"
+    android:textColor="?android:attr/textColorPrimaryInverse"
+    android:minWidth="32dip"
+    android:gravity="center"
+    android:background="@drawable/candidate_feedback_background"
+    />
diff --git a/res/layout/candidates.xml b/res/layout/candidates.xml
new file mode 100755
index 0000000..edd779a
--- /dev/null
+++ b/res/layout/candidates.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<com.android.inputmethod.latin.CandidateViewContainer
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:orientation="horizontal"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/keyboard_suggest_strip"
+        >
+
+    <LinearLayout
+            android:id="@+id/candidate_left_parent"
+            android:layout_width="wrap_content"
+            android:layout_height="fill_parent"
+            android:orientation="horizontal">
+        <ImageButton
+            android:id="@+id/candidate_left"
+            android:background="@drawable/ic_suggest_scroll_background"
+            android:src="@drawable/ic_suggest_strip_scroll_left_arrow" 
+            android:layout_width="36dp"
+            android:layout_height="fill_parent"
+            android:clickable="true"
+            />
+        
+        <ImageView
+            android:src="@drawable/keyboard_suggest_strip_divider"
+            android:layout_width="wrap_content"
+            android:layout_height="fill_parent"
+            />
+    </LinearLayout>
+    
+    <com.android.inputmethod.latin.CandidateView
+        android:id="@+id/candidates"
+        android:layout_width="wrap_content"
+        android:layout_height="38dp"
+        android:layout_weight="1"
+        />
+        
+    <LinearLayout
+            android:id="@+id/candidate_right_parent"
+            android:layout_width="wrap_content"
+            android:layout_height="fill_parent"
+            android:clickable="true"
+            android:orientation="horizontal">
+        <ImageView
+            android:src="@drawable/keyboard_suggest_strip_divider"
+            android:layout_width="wrap_content"
+            android:layout_height="fill_parent"
+            />
+        
+        <ImageButton
+            android:id="@+id/candidate_right"
+            android:background="@drawable/ic_suggest_scroll_background"
+            android:src="@drawable/ic_suggest_strip_scroll_right_arrow" 
+            android:layout_width="36dp"
+            android:layout_height="fill_parent"
+            android:clickable="true"
+            />
+    </LinearLayout>        
+    
+</com.android.inputmethod.latin.CandidateViewContainer>
\ No newline at end of file
diff --git a/res/layout/input.xml b/res/layout/input.xml
new file mode 100755
index 0000000..c4bcc91
--- /dev/null
+++ b/res/layout/input.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<com.android.inputmethod.latin.LatinKeyboardView
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@android:id/keyboardView"
+        android:layout_alignParentBottom="true"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        />
diff --git a/res/raw/main.dict b/res/raw/main.dict
new file mode 100755
index 0000000..2b473be
--- /dev/null
+++ b/res/raw/main.dict
Binary files differ
diff --git a/res/raw/type3.ogg b/res/raw/type3.ogg
new file mode 100755
index 0000000..20e6708
--- /dev/null
+++ b/res/raw/type3.ogg
Binary files differ
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
new file mode 100644
index 0000000..4080385
--- /dev/null
+++ b/res/values-cs/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"Při stisku klávesy vibrovat"</string>
+    <string name="sound_on_keypress">"Zvuk při stisku klávesy"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"Automatická interpunkce"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g> : Uloženo"</string>
+    <string name="alternates_for_a">"áàâãäåæ"</string>
+    <string name="alternates_for_e">"éěèêë"</string>
+    <string name="alternates_for_i">"íìîï"</string>
+    <string name="alternates_for_o">"óòôõöœø"</string>
+    <string name="alternates_for_u">"ůúùûü"</string>
+    <string name="alternates_for_s">"š§ß"</string>
+    <string name="alternates_for_n">"ňñ"</string>
+    <string name="alternates_for_c">"čç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
new file mode 100644
index 0000000..4c99208
--- /dev/null
+++ b/res/values-de/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"Vibrieren auf Tastendruck"</string>
+    <string name="sound_on_keypress">"Sound bei Tastendruck"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"Autom. Zeichensetzung"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g> : Gespeichert"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-en/bools.xml b/res/values-en/bools.xml
new file mode 100644
index 0000000..897f4b3
--- /dev/null
+++ b/res/values-en/bools.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+<resources>
+	<bool name="im_is_default">true</bool>
+</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
new file mode 100644
index 0000000..08815ee
--- /dev/null
+++ b/res/values-es/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"Vibrar al pulsar tecla"</string>
+    <string name="sound_on_keypress">"Sonido al pulsar una tecla"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"Puntuación automática"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g> : Guardada"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-fr/donottranslate.xml b/res/values-fr/donottranslate.xml
new file mode 100644
index 0000000..527f15e
--- /dev/null
+++ b/res/values-fr/donottranslate.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Symbols that are commonly considered word separators in this language -->
+    <string name="word_separators">.\u0020,;:!?\'\n()[]*&amp;@{}/&lt;&gt;_+=|\u0022</string>
+    <!-- Symbols that are sentence separators, for purposes of making it hug the last sentence. -->
+    <string name="sentence_separators">.,</string>
+</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
new file mode 100644
index 0000000..767004d
--- /dev/null
+++ b/res/values-fr/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"Vibrer à chaque touche enfoncée"</string>
+    <string name="sound_on_keypress">"Son à chaque touche enfoncée"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"Ponctuation automatique"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g> : enregistré"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-it/donottranslate.xml b/res/values-it/donottranslate.xml
new file mode 100644
index 0000000..5cb72ad
--- /dev/null
+++ b/res/values-it/donottranslate.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Symbols that are commonly considered word separators in this language -->
+    <string name="word_separators">.\u0020,;:!?\'\n()[]*&amp;@{}/&lt;&gt;_+=|\u0022</string>
+</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
new file mode 100644
index 0000000..9fd770a
--- /dev/null
+++ b/res/values-it/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"Vibra quando premi un tasto"</string>
+    <string name="sound_on_keypress">"Suona quando premi un tasto"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"Punteggiatura automatica"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g> : parola salvata"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
new file mode 100644
index 0000000..8a6c76f
--- /dev/null
+++ b/res/values-ja/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"キーのバイブレーション"</string>
+    <string name="sound_on_keypress">"キーを押したときの音"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"句読点を自動入力"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g>:保存しました"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
new file mode 100644
index 0000000..96d9295
--- /dev/null
+++ b/res/values-ko/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"키를 누를 때 진동 발생"</string>
+    <string name="sound_on_keypress">"버튼을 누를 때 소리 발생"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"자동 구두점 입력"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g> : 저장됨"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
new file mode 100644
index 0000000..c5c828e
--- /dev/null
+++ b/res/values-land/dimens.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<resources>
+    <dimen name="key_height">47dip</dimen>
+</resources>
\ No newline at end of file
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
new file mode 100644
index 0000000..a010318
--- /dev/null
+++ b/res/values-nb/strings.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"Vibrer ved tastetrykk"</string>
+    <string name="sound_on_keypress">"Lyd ved tastetrykk"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <string name="auto_correction_summary">"Autokorriger forrige ord ved mellomrom eller linjeskift"</string>
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <string name="auto_cap">"Stor forbokstav"</string>
+    <string name="auto_cap_summary">"Start automatisk setninger med stor bokstav"</string>
+    <string name="auto_punctuate">"Automatisk punktum"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g>: Lagret"</string>
+    <string name="alternates_for_a">"åæáàâãä"</string>
+    <string name="alternates_for_e">"éèêë"</string>
+    <string name="alternates_for_i">"íìîï"</string>
+    <string name="alternates_for_o">"ôóòöõœø"</string>
+    <string name="alternates_for_u">"üùúû"</string>
+    <string name="alternates_for_s">"ß§"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <string name="tip_add_to_dictionary">"Trykk lenge på ordet lengst til venstre for å legge det til i ordlisten"</string>
+    <string name="label_go_key">"Gå"</string>
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <string name="label_symbol_key">"?123"</string>
+    <string name="label_phone_key">"123"</string>
+    <string name="label_alpha_key">"ABC"</string>
+    <string name="label_alt_key">"ALT"</string>
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
new file mode 100644
index 0000000..b172def
--- /dev/null
+++ b/res/values-nl/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"Trillen bij druk op een toets"</string>
+    <string name="sound_on_keypress">"Geluid bij druk op een toets"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"Automatische interpunctie"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g> : Opgeslagen"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
new file mode 100644
index 0000000..eb1a128
--- /dev/null
+++ b/res/values-pl/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"Wibruj przy naciśnięciu klawisza"</string>
+    <string name="sound_on_keypress">"Dźwięk przy naciśnięciu klawisza"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"Automatyczna interpunkcja"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g> : Zapisano"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
new file mode 100644
index 0000000..7ca302b
--- /dev/null
+++ b/res/values-ru/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"Вибрация при нажатии клавиш"</string>
+    <string name="sound_on_keypress">"Звук при нажатии клавиш"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"Автоматическая пунктуация"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g> : сохранено"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..3525a48
--- /dev/null
+++ b/res/values-zh-rCN/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"按键时振动"</string>
+    <string name="sound_on_keypress">"按键时发出声音"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"自动加标点"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g>：已保存"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..f880fd7
--- /dev/null
+++ b/res/values-zh-rTW/strings.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for english_ime_name (5849054103817924472) -->
+    <skip />
+    <!-- no translation found for english_ime_settings (8408735206364332137) -->
+    <skip />
+    <string name="vibrate_on_keypress">"按下按鍵時震動"</string>
+    <string name="sound_on_keypress">"按下按鍵時播放音效"</string>
+    <!-- no translation found for hit_correction (4855351009261318389) -->
+    <skip />
+    <!-- no translation found for hit_correction_summary (8761701873008070796) -->
+    <skip />
+    <!-- no translation found for hit_correction_land (2567691684825205448) -->
+    <skip />
+    <!-- no translation found for hit_correction_land_summary (4076803842198368328) -->
+    <skip />
+    <!-- no translation found for auto_correction (7911639788808958255) -->
+    <skip />
+    <!-- no translation found for auto_correction_summary (6881047311475758267) -->
+    <skip />
+    <!-- no translation found for prediction (466220283138359837) -->
+    <skip />
+    <!-- no translation found for prediction_category (7027100625580696660) -->
+    <skip />
+    <!-- no translation found for prediction_summary (459788228830873110) -->
+    <skip />
+    <!-- no translation found for auto_complete_dialog_title (2172048590607201920) -->
+    <skip />
+    <!-- no translation found for prediction_landscape (4874601565593216183) -->
+    <skip />
+    <!-- no translation found for prediction_landscape_summary (6736551095997839472) -->
+    <skip />
+    <!-- no translation found for auto_cap (1719746674854628252) -->
+    <skip />
+    <!-- no translation found for auto_cap_summary (3260681697600786825) -->
+    <skip />
+    <string name="auto_punctuate">"自動標點"</string>
+    <!-- no translation found for auto_punctuate_summary (7849876837879793721) -->
+    <skip />
+    <!-- no translation found for prediction_modes:0 (4870266572388153286) -->
+    <!-- no translation found for prediction_modes:1 (1669461741568287396) -->
+    <!-- no translation found for prediction_modes:2 (4894328801530136615) -->
+    <!-- no translation found for prediction_none (2472795101338047944) -->
+    <skip />
+    <!-- no translation found for prediction_basic (8407291081834155558) -->
+    <skip />
+    <!-- no translation found for prediction_full (3765102052052510268) -->
+    <skip />
+    <!-- no translation found for prediction_modes_values:0 (1346378763221728910) -->
+    <!-- no translation found for prediction_modes_values:1 (7980848218230433021) -->
+    <!-- no translation found for prediction_modes_values:2 (7444980361469942622) -->
+    <string name="added_word">"<xliff:g id="WORD">%s</xliff:g>：已儲存"</string>
+    <string name="alternates_for_a">"àáâãäåæ"</string>
+    <string name="alternates_for_e">"èéêë"</string>
+    <string name="alternates_for_i">"ìíîï"</string>
+    <string name="alternates_for_o">"òóôõöœø"</string>
+    <string name="alternates_for_u">"ùúûü"</string>
+    <string name="alternates_for_s">"§ß"</string>
+    <string name="alternates_for_n">"ñ"</string>
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (243837378542028049) -->
+    <skip />
+    <!-- no translation found for tip_long_press (6101270866284343344) -->
+    <skip />
+    <!-- no translation found for tip_dismiss (7585579046862204381) -->
+    <skip />
+    <!-- no translation found for tip_access_symbols (6344098517525531652) -->
+    <skip />
+    <!-- no translation found for tip_add_to_dictionary (1487293888469227817) -->
+    <skip />
+    <!-- no translation found for label_go_key (1635148082137219148) -->
+    <skip />
+    <!-- no translation found for label_next_key (362972844525672568) -->
+    <skip />
+    <!-- no translation found for label_send_key (2815056534433717444) -->
+    <skip />
+    <!-- no translation found for label_symbol_key (6175820506864489453) -->
+    <skip />
+    <!-- no translation found for label_phone_key (4275497665515080551) -->
+    <skip />
+    <!-- no translation found for label_alpha_key (8864943487292437456) -->
+    <skip />
+    <!-- no translation found for label_alt_key (2846315350346694811) -->
+    <skip />
+</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
new file mode 100644
index 0000000..c90d9f6
--- /dev/null
+++ b/res/values/colors.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+<resources>
+    <color name="candidate_normal">#FF000000</color>
+    <color name="candidate_recommended">#FFE35900</color>
+    <color name="candidate_other">#ff808080</color>
+</resources>
\ No newline at end of file
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
new file mode 100644
index 0000000..d757f09
--- /dev/null
+++ b/res/values/dimens.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<resources>
+    <dimen name="key_height">50dip</dimen>
+    <dimen name="bubble_pointer_offset">22dip</dimen>
+</resources>
\ No newline at end of file
diff --git a/res/values/donottranslate.xml b/res/values/donottranslate.xml
new file mode 100644
index 0000000..8a879bd
--- /dev/null
+++ b/res/values/donottranslate.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Symbols that are commonly considered word separators in this language -->
+    <string name="word_separators">.\u0020,;:!?\n()[]*&amp;@{}/&lt;&gt;_+=|\u0022</string>
+    <!-- Symbols that are sentence separators, for purposes of making it hug the last sentence. -->
+    <string name="sentence_separators">.,;:!?</string>
+</resources>
diff --git a/res/values/durations.xml b/res/values/durations.xml
new file mode 100644
index 0000000..92af68e
--- /dev/null
+++ b/res/values/durations.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<resources>
+    <!-- Vibration duration in milliseconds, for key presses in the IME. This can be hardware
+        dependent and may require overriding with a device specific overlay. -->
+    <integer name="vibrate_duration_ms">40</integer>
+</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
new file mode 100644
index 0000000..41809c1
--- /dev/null
+++ b/res/values/strings.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Title for Latin keyboard  -->
+    <string name="english_ime_name">Android keyboard</string>
+    <!-- Title for Latin keyboard settings activity / dialog -->
+    <string name="english_ime_settings">Android keyboard settings</string>
+
+    <!-- Option to provide vibrate/haptic feedback on keypress -->
+    <string name="vibrate_on_keypress">Vibrate on keypress</string>
+    <!-- Option to play back sound on keypress in soft keyboard -->
+    <string name="sound_on_keypress">Sound on keypress</string>
+    
+    <!-- Option to enable using nearby keys when correcting/predicting -->
+    <string name="hit_correction">Correct typing errors</string>
+    
+    <!-- Description for hit_correction  -->
+    <string name="hit_correction_summary">Enable input error correction</string>
+    
+    <!-- Option to enable using nearby keys when correcting/predicting in landscape-->
+    <string name="hit_correction_land">Landscape input errors</string>
+    
+    <!-- Description for hit_correction in landscape -->
+    <string name="hit_correction_land_summary">Enable input error correction</string>
+    
+    <!-- Option to automatically correct word on hitting space -->
+    <string name="auto_correction">Word suggestions</string> 
+    
+    <!-- Description for auto_correction -->
+    <string name="auto_correction_summary">Automatically correct the previous word</string>
+	
+    <!-- Option to enable text prediction -->
+    <string name="prediction">Word suggestions</string>
+    <!-- Category title for text prediction -->
+    <string name="prediction_category">Word suggestion settings</string>
+    <!-- Description for text prediction -->
+    <string name="prediction_summary">Enable auto completion while typing</string>
+	
+    <!-- Dialog title for auto complete choices -->
+    <string name="auto_complete_dialog_title">Auto completion</string>
+    
+    <!-- Option to enable text prediction in landscape -->
+    <string name="prediction_landscape">Increase text field size</string> 
+    <!-- Description for text prediction -->
+    <string name="prediction_landscape_summary">Hide word suggestions in landscape view</string>
+	
+    <!-- Option to enable auto capitalization of sentences -->
+    <string name="auto_cap">Auto-capitalization</string> 
+    <!-- Description for auto cap -->
+    <string name="auto_cap_summary">Capitalize the start of a sentence</string>
+    <!-- Option to enable auto punctuate -->
+    <string name="auto_punctuate">Auto-punctuate</string> 
+    <!-- Description for auto punctuate -->
+    <string name="auto_punctuate_summary"></string>
+    
+    <!-- Array of prediction modes -->
+    <string-array name="prediction_modes">
+        <item>None</item>
+        <item>Basic</item>
+        <item>Advanced</item>
+    </string-array>
+    
+    <!-- Don't translate -->
+    <string name="prediction_none" >0</string>
+    <!-- Don't translate -->
+    <string name="prediction_basic">1</string>
+    <!-- Don't translate -->
+    <string name="prediction_full" >2</string>
+
+    <string-array name="prediction_modes_values">
+        <item>@string/prediction_none</item>
+        <item>@string/prediction_basic</item>
+        <item>@string/prediction_full</item>
+    </string-array>
+
+    <!-- Indicates that a word has been added to the dictionary -->
+    <string name="added_word"><xliff:g id="word">%s</xliff:g> : Saved</string>
+    <!-- Accented forms of "a" -->
+    <string name="alternates_for_a">àáâãäåæ</string>
+    <!-- Accented forms of "e" -->
+    <string name="alternates_for_e">èéêë</string>
+    <!-- Accented forms of "i" -->
+    <string name="alternates_for_i">ìíîï</string>
+    <!-- Accented forms of "o" -->
+    <string name="alternates_for_o">òóôõöœø</string>
+    <!-- Accented forms of "u" -->
+    <string name="alternates_for_u">ùúûü</string>
+    <!-- Letters associated with "s" -->
+    <string name="alternates_for_s">§ß</string>
+    <!-- Accented forms of "n" -->
+    <string name="alternates_for_n">ñ</string>
+    <!-- Accented forms of "c" -->
+    <string name="alternates_for_c">ç</string>
+    <!-- Accented forms of "y" -->
+    <string name="alternates_for_y">ýÿ</string>
+    <!-- Accented forms of "z" -->
+    <string name="alternates_for_z"></string>
+    
+    <!-- Tip to long press on keys -->
+    <string name="tip_long_press">Hold a key down to see accents (ø, ö, etc.)</string>
+    <!-- Tip to dismiss keyboard -->
+    <string name="tip_dismiss">Press the back key \u21B6 to close the keyboard at any point</string>
+    <!-- Tip to press ?123 to access numbers and symbols -->
+    <string name="tip_access_symbols">Access numbers and symbols</string>    
+    <!-- Tip to long press on typed word to add to dictionary -->
+    <string name="tip_add_to_dictionary">Press and hold the left-most word to add it to the dictionary
+        </string>
+
+    <!-- Label for soft enter key when it performs GO action.  Must be short to fit on key! -->
+    <string name="label_go_key">Go</string>
+    <!-- Label for soft enter key when it performs NEXT action.  Must be short to fit on key! -->
+    <string name="label_next_key">Next</string>
+    <!-- Label for soft enter key when it performs DONE action.  Must be short to fit on key! -->
+    <string name="label_done_key">Done</string>
+    <!-- Label for soft enter key when it performs SEND action.  Must be short to fit on key! -->
+    <string name="label_send_key">Send</string>
+    <!-- Label for "switch to symbols" key.  Must be short to fit on key! -->
+    <string name="label_symbol_key">\?123</string>
+    <!-- Label for "switch to numeric" key.  Must be short to fit on key! -->
+    <string name="label_phone_key">123</string>
+    <!-- Label for "switch to alphabetic" key.  Must be short to fit on key! -->
+    <string name="label_alpha_key">ABC</string>
+    <!-- Label for ALT modifier key.  Must be short to fit on key! -->
+    <string name="label_alt_key">ALT</string>
+</resources>
diff --git a/res/xml-de/kbd_qwerty.xml b/res/xml-de/kbd_qwerty.xml
new file mode 100755
index 0000000..763492d
--- /dev/null
+++ b/res/xml-de/kbd_qwerty.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row>
+        <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/>
+        <Key android:codes="119" android:keyLabel="w"/>
+        <Key android:codes="101" android:keyLabel="e"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_e"
+        />
+        <Key android:codes="114" android:keyLabel="r"/>
+        <Key android:codes="116" android:keyLabel="t"/>
+        <Key android:codes="122" android:keyLabel="z" />
+        <Key android:codes="117" android:keyLabel="u"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_u"
+        />
+        <Key android:codes="105" android:keyLabel="i"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_i"
+        />
+        <Key android:codes="111" android:keyLabel="o"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_o"
+        />
+        <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%p" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_a"
+                android:keyEdgeFlags="left"/>
+        <Key android:codes="115" android:keyLabel="s"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_s"
+        />
+        <Key android:codes="100" android:keyLabel="d"/>
+        <Key android:codes="102" android:keyLabel="f"/>
+        <Key android:codes="103" android:keyLabel="g"/>
+        <Key android:codes="104" android:keyLabel="h"/>
+        <Key android:codes="106" android:keyLabel="j"/>
+        <Key android:codes="107" android:keyLabel="k"/>
+        <Key android:codes="108" android:keyLabel="l" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" 
+                android:keyWidth="15%p" android:isModifier="true"
+                android:iconPreview="@drawable/sym_keyboard_feedback_shift"
+                android:isSticky="true" android:keyEdgeFlags="left"/>
+        <Key android:codes="121" android:keyLabel="y"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_y"
+        />
+        <Key android:codes="120" android:keyLabel="x"/>
+        <Key android:codes="99" android:keyLabel="c"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_c"
+        />
+        <Key android:codes="118" android:keyLabel="v"/>
+        <Key android:codes="98" android:keyLabel="b"/>
+        <Key android:codes="110" android:keyLabel="n"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_n"
+        />
+        <Key android:codes="109" android:keyLabel="m"/>
+        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" 
+                android:keyWidth="15%p" android:keyEdgeFlags="right" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_delete"
+                android:isRepeatable="true"/>
+    </Row>
+    
+    <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="," android:keyWidth="15%p" />
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="30%p" android:isRepeatable="true"/>
+        <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel=".com" android:keyOutputText=".com"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="15%p"/>
+        <Key android:keyLabel="/" android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="15%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="," android:keyWidth="15%p" />
+        <Key android:keyLabel="\@" android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="15%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="," android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="30%p" android:isRepeatable="true"/>
+        <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:keyLabel=":-)" android:keyOutputText=":-) "
+                android:popupKeyboard="@xml/popup_smileys"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+
+    </Row>
+</Keyboard>
+    
\ No newline at end of file
diff --git a/res/xml-fr/kbd_qwerty.xml b/res/xml-fr/kbd_qwerty.xml
new file mode 100644
index 0000000..573f08a
--- /dev/null
+++ b/res/xml-fr/kbd_qwerty.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row>
+        <Key android:codes="97" android:keyLabel="a" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_a"
+                android:keyEdgeFlags="left"/>
+        <Key android:codes="122" android:keyLabel="z"/>
+        <Key android:codes="101" android:keyLabel="e"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_e"
+        />
+        <Key android:codes="114" android:keyLabel="r"/>
+        <Key android:codes="116" android:keyLabel="t"/>
+        <Key android:codes="121" android:keyLabel="y"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_y"
+        />
+        <Key android:codes="117" android:keyLabel="u"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_u"
+        />
+        <Key android:codes="105" android:keyLabel="i"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_i"
+        />
+        <Key android:codes="111" android:keyLabel="o"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_o"
+        />
+        <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/>
+        <Key android:codes="115" android:keyLabel="s"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_s"
+        />
+        <Key android:codes="100" android:keyLabel="d"/>
+        <Key android:codes="102" android:keyLabel="f"/>
+        <Key android:codes="103" android:keyLabel="g"/>
+        <Key android:codes="104" android:keyLabel="h"/>
+        <Key android:codes="106" android:keyLabel="j"/>
+        <Key android:codes="107" android:keyLabel="k"/>
+        <Key android:codes="108" android:keyLabel="l"/>
+        <Key android:codes="109" android:keyLabel="m" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row>
+        <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" 
+                android:keyWidth="15%p" android:isModifier="true"
+                android:iconPreview="@drawable/sym_keyboard_feedback_shift"
+                android:isSticky="true" android:keyEdgeFlags="left"/>
+        <Key android:codes="119" android:keyLabel="w"/>
+        <Key android:codes="120" android:keyLabel="x"/>
+        <Key android:codes="99" android:keyLabel="c"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_c"
+        />
+        <Key android:codes="118" android:keyLabel="v"/>
+        <Key android:codes="98" android:keyLabel="b"/>
+        <Key android:codes="110" android:keyLabel="n"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_n"
+        />
+        <!--Key android:codes="233,224,232,234" android:keyLabel="é"/-->
+        <Key android:keyLabel="\'"/>
+        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" 
+                android:keyWidth="15%p" android:keyEdgeFlags="right" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_delete"
+                android:isRepeatable="true"/>
+    </Row>
+    
+    <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="," android:keyWidth="15%p" />
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="30%p" android:isRepeatable="true"/>
+        <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel=".com" android:keyOutputText=".com"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="15%p"/>
+        <Key android:keyLabel="/" android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="15%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="," android:keyWidth="15%p" />
+        <Key android:keyLabel="\@" android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="15%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="," android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="30%p" android:isRepeatable="true"/>
+        <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:keyLabel=":-)" android:keyOutputText=":-) "
+                android:popupKeyboard="@xml/popup_smileys"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+</Keyboard>
+    
\ No newline at end of file
diff --git a/res/xml/azerty.xml b/res/xml/azerty.xml
new file mode 100644
index 0000000..614aa49
--- /dev/null
+++ b/res/xml/azerty.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row>
+        <Key android:codes="97" android:keyLabel="a" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_a"
+                android:keyEdgeFlags="left"/>
+        <Key android:codes="122" android:keyLabel="z"/>
+        <Key android:codes="101" android:keyLabel="e"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_e"
+        />
+        <Key android:codes="114" android:keyLabel="r"/>
+        <Key android:codes="116" android:keyLabel="t"/>
+        <Key android:codes="121" android:keyLabel="y"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_y"
+        />
+        <Key android:codes="117" android:keyLabel="u"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_u"
+        />
+        <Key android:codes="105" android:keyLabel="i"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_i"
+        />
+        <Key android:codes="111" android:keyLabel="o"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_o"
+        />
+        <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/>
+        <Key android:codes="115" android:keyLabel="s"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_s"
+        />
+        <Key android:codes="100" android:keyLabel="d"/>
+        <Key android:codes="102" android:keyLabel="f"/>
+        <Key android:codes="103" android:keyLabel="g"/>
+        <Key android:codes="104" android:keyLabel="h"/>
+        <Key android:codes="106" android:keyLabel="j"/>
+        <Key android:codes="107" android:keyLabel="k"/>
+        <Key android:codes="108" android:keyLabel="l"/>
+        <Key android:codes="109" android:keyLabel="m" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" 
+                android:keyWidth="15%p" android:isModifier="true"
+                android:iconPreview="@drawable/sym_keyboard_feedback_shift"
+                android:isSticky="true" android:keyEdgeFlags="left"/>
+        <Key android:codes="119" android:keyLabel="w"/>
+        <Key android:codes="120" android:keyLabel="x"/>
+        <Key android:codes="99" android:keyLabel="c"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_c"
+        />
+        <Key android:codes="118" android:keyLabel="v"/>
+        <Key android:codes="98" android:keyLabel="b"/>
+        <Key android:codes="110" android:keyLabel="n"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_n"
+        />
+        <Key android:codes="233,224,232,234" android:keyLabel="é"/>
+        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" 
+                android:keyWidth="15%p" android:keyEdgeFlags="right" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_delete"
+                android:isRepeatable="true"/>
+    </Row>
+    
+    <Row android:rowEdgeFlags="bottom">
+        <Key android:codes="-3" android:keyIcon="@drawable/sym_keyboard_done" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_done" 
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="-2" android:keyLabel="123" android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="30%p" android:isRepeatable="true"/>
+        <Key android:codes="46,44" android:keyLabel=". ," 
+                android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+</Keyboard>
+    
\ No newline at end of file
diff --git a/res/xml/kbd_alpha.xml b/res/xml/kbd_alpha.xml
new file mode 100644
index 0000000..4e8af33
--- /dev/null
+++ b/res/xml/kbd_alpha.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row>
+        <Key android:keyLabel="a" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_a"
+                android:keyEdgeFlags="left" />
+        <Key android:keyLabel="b" />
+        <Key android:keyLabel="c" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_c" />
+        <Key android:keyLabel="d" />
+        <Key android:keyLabel="e" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_e" />
+        <Key android:keyLabel="f" />
+        <Key android:keyLabel="g" />
+        <Key android:keyLabel="h" />
+        <Key android:keyLabel="i"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_i" />
+        <Key android:keyLabel="j" android:keyEdgeFlags="right" />
+    </Row>
+    <Row>
+        <Key android:keyLabel="k" android:keyEdgeFlags="left" />
+        <Key android:keyLabel="l" />
+        <Key android:keyLabel="m" />
+        <Key android:keyLabel="n"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_n" />
+        <Key android:keyLabel="o"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_o" />
+        <Key android:keyLabel="p" />
+        <Key android:keyLabel="q" />
+        <Key android:keyLabel="r" />
+        <Key android:keyLabel="s"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_s" />
+        <Key android:keyLabel="t" android:keyEdgeFlags="right" />
+    </Row>
+
+    <Row>
+        <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" 
+                android:keyWidth="15%p" android:isModifier="true"
+                android:iconPreview="@drawable/sym_keyboard_feedback_shift"
+                android:isSticky="true" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="u"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_u" />
+        <Key android:keyLabel="v"/>
+        <Key android:keyLabel="w"/>
+        <Key android:keyLabel="x"/>
+        <Key android:keyLabel="y"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_y"
+        />
+        <Key android:keyLabel="z"/>
+        <Key android:keyLabel=","/>
+        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" 
+                android:keyWidth="15%p" android:keyEdgeFlags="right" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_delete"
+                android:isRepeatable="true"/>
+    </Row>
+
+    <Row android:rowEdgeFlags="bottom">
+        <Key android:codes="-3" android:keyIcon="@drawable/sym_keyboard_done" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_done" 
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="-2" android:keyLabel="123" android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="30%p" android:isRepeatable="true"/>
+        <Key android:codes="46" android:keyLabel="." 
+                android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+</Keyboard>
\ No newline at end of file
diff --git a/res/xml/kbd_phone.xml b/res/xml/kbd_phone.xml
new file mode 100755
index 0000000..880d961
--- /dev/null
+++ b/res/xml/kbd_phone.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="26.67%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row>
+        <Key android:codes="49" android:keyIcon="@drawable/sym_keyboard_num1" android:keyEdgeFlags="left"/>
+        <Key android:codes="50" android:keyIcon="@drawable/sym_keyboard_num2"/>
+        <Key android:codes="51" android:keyIcon="@drawable/sym_keyboard_num3"/>
+        <Key android:keyLabel="-" android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row>
+        <Key android:codes="52" android:keyIcon="@drawable/sym_keyboard_num4" android:keyEdgeFlags="left"/>
+        <Key android:codes="53" android:keyIcon="@drawable/sym_keyboard_num5"/>
+        <Key android:codes="54" android:keyIcon="@drawable/sym_keyboard_num6"/>
+        <Key android:keyLabel="." android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="55" android:keyIcon="@drawable/sym_keyboard_num7" android:keyEdgeFlags="left"/>
+        <Key android:codes="56" android:keyIcon="@drawable/sym_keyboard_num8"/>
+        <Key android:codes="57" android:keyIcon="@drawable/sym_keyboard_num9"/>
+        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_delete"
+                android:keyWidth="20%p"
+                android:isRepeatable="true" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyIcon="@drawable/sym_keyboard_numalt"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:iconPreview="@drawable/sym_keyboard_feedback_numalt"/>
+
+        <Key android:codes="48" android:keyIcon="@drawable/sym_keyboard_num0"/>
+
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:isRepeatable="true"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
+                android:keyWidth="20%p"
+                android:keyEdgeFlags="right"/>
+    </Row>
+    
+</Keyboard>
\ No newline at end of file
diff --git a/res/xml/kbd_phone_symbols.xml b/res/xml/kbd_phone_symbols.xml
new file mode 100755
index 0000000..9ce7a1a
--- /dev/null
+++ b/res/xml/kbd_phone_symbols.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="26.67%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row>
+        <Key android:keyLabel="(" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="/"/>
+        <Key android:keyLabel=")"/>
+        <Key android:keyLabel="-" android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row>
+        <Key android:keyLabel="N" android:keyEdgeFlags="left"/>
+        <!-- Pause is a comma. 
+                Check PhoneNumberUtils.java to see if this has changed. -->
+        <Key android:codes="44" android:keyLabel="Pause"/>
+        <Key android:keyLabel=","/>
+        <Key android:keyLabel="." android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="42" android:keyIcon="@drawable/sym_keyboard_numstar"
+                android:keyEdgeFlags="left"/>
+        <!-- Wait is w -->
+        <Key android:codes="w" android:keyLabel="Wait"/>
+        <Key android:codes="35" android:keyIcon="@drawable/sym_keyboard_numpound"/>
+        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_delete"
+                android:keyWidth="20%p"
+                android:isRepeatable="true" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_phone_key" 
+                android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="+"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:isRepeatable="true"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
+                android:keyWidth="20%p"
+                android:keyEdgeFlags="right"/>
+    </Row>
+    
+</Keyboard>
\ No newline at end of file
diff --git a/res/xml/kbd_popup_template.xml b/res/xml/kbd_popup_template.xml
new file mode 100644
index 0000000..aca4693
--- /dev/null
+++ b/res/xml/kbd_popup_template.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+</Keyboard>
diff --git a/res/xml/kbd_qwerty.xml b/res/xml/kbd_qwerty.xml
new file mode 100755
index 0000000..34e9912
--- /dev/null
+++ b/res/xml/kbd_qwerty.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row>
+        <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/>
+        <Key android:codes="119" android:keyLabel="w"/>
+        <Key android:codes="101" android:keyLabel="e"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_e"
+        />
+        <Key android:codes="114" android:keyLabel="r"/>
+        <Key android:codes="116" android:keyLabel="t"/>
+        <Key android:codes="121" android:keyLabel="y"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_y"
+        />
+        <Key android:codes="117" android:keyLabel="u"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_u"
+        />
+        <Key android:codes="105" android:keyLabel="i"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_i"
+        />
+        <Key android:codes="111" android:keyLabel="o"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_o"
+        />
+        <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%p" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_a"
+                android:keyEdgeFlags="left"/>
+        <Key android:codes="115" android:keyLabel="s"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_s"
+        />
+        <Key android:codes="100" android:keyLabel="d"/>
+        <Key android:codes="102" android:keyLabel="f"/>
+        <Key android:codes="103" android:keyLabel="g"/>
+        <Key android:codes="104" android:keyLabel="h"/>
+        <Key android:codes="106" android:keyLabel="j"/>
+        <Key android:codes="107" android:keyLabel="k"/>
+        <Key android:codes="108" android:keyLabel="l" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" 
+                android:keyWidth="15%p" android:isModifier="true"
+                android:iconPreview="@drawable/sym_keyboard_feedback_shift"
+                android:isSticky="true" android:keyEdgeFlags="left"/>
+        <Key android:codes="122" android:keyLabel="z"/>
+        <Key android:codes="120" android:keyLabel="x"/>
+        <Key android:codes="99" android:keyLabel="c"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_c"
+        />
+        <Key android:codes="118" android:keyLabel="v"/>
+        <Key android:codes="98" android:keyLabel="b"/>
+        <Key android:codes="110" android:keyLabel="n"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_n"
+        />
+        <Key android:codes="109" android:keyLabel="m"/>
+        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" 
+                android:keyWidth="15%p" android:keyEdgeFlags="right" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_delete"
+                android:isRepeatable="true"/>
+    </Row>
+
+    <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="," android:keyWidth="15%p" />
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="30%p" android:isRepeatable="true"/>
+        <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel=".com" android:keyOutputText=".com"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="15%p"/>
+        <Key android:keyLabel="/" android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="15%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="," android:keyWidth="15%p" />
+        <Key android:keyLabel="\@" android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="15%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+
+    <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="," android:keyWidth="15%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="30%p" android:isRepeatable="true"/>
+        <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="15%p"/>
+        <Key android:keyLabel=":-)" android:keyOutputText=":-) "
+                android:popupKeyboard="@xml/popup_smileys"
+                android:keyWidth="20%p" android:keyEdgeFlags="right"/>
+    </Row>
+</Keyboard>
+    
\ No newline at end of file
diff --git a/res/xml/kbd_symbols.xml b/res/xml/kbd_symbols.xml
new file mode 100755
index 0000000..2a15039
--- /dev/null
+++ b/res/xml/kbd_symbols.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row>
+        <Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="¹½⅓¼⅛"
+        />
+        <Key android:codes="50" android:keyLabel="2"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="²⅔"
+        />
+        <Key android:codes="51" android:keyLabel="3"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="³¾⅜"
+        />
+        <Key android:codes="52" android:keyLabel="4"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="⁴"
+        />
+        <Key android:codes="53" android:keyLabel="5"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="⅝"
+        />
+        <Key android:codes="54" android:keyLabel="6"/>
+        <Key android:codes="55" android:keyLabel="7"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="⅞"
+        />
+        <Key android:codes="56" android:keyLabel="8"/>
+        <Key android:codes="57" android:keyLabel="9"/>
+        <Key android:codes="48" android:keyLabel="0" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="ⁿ∅"        
+                android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="64" android:keyLabel="\@" android:keyEdgeFlags="left"/>
+        <Key android:codes="35" android:keyLabel="\#"/>
+        <Key android:codes="36" android:keyLabel="$"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="¢£€¥₣₤₱"
+        />        
+        <Key android:codes="37" android:keyLabel="%"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="‰"
+        />
+        <Key android:codes="38" android:keyLabel="&amp;"/>
+        <Key android:codes="42" android:keyLabel="*"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="†‡"
+        />
+        <Key android:codes="45" android:keyLabel="-"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="–—"
+        />
+        <Key android:keyLabel="+"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="±"
+        />
+        <Key android:codes="40" android:keyLabel="("
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="[{&lt;"
+        />
+        <Key android:codes="41" android:keyLabel=")" android:keyEdgeFlags="right"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="]}&gt;"
+        />
+    </Row>
+    
+    <Row>
+        <Key android:codes="-1" android:keyLabel="@string/label_alt_key" 
+                android:keyWidth="15%p" android:isModifier="true" 
+                android:isSticky="true" android:keyEdgeFlags="left"/>
+        <Key android:codes="33" android:keyLabel="!" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="¡"
+        />
+        <Key android:codes="34" android:keyLabel="&quot;"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="“”«»˝"
+        />
+        <Key android:codes="39" android:keyLabel="\'"/>
+        <Key android:codes="58" android:keyLabel=":"/>
+        <Key android:codes="59" android:keyLabel=";"/>
+        <Key android:codes="47" android:keyLabel="/" />
+        <Key android:codes="63" android:keyLabel="\?"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="¿"
+        />
+        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" android:keyWidth="15%p" android:keyEdgeFlags="right"
+                android:iconPreview="@drawable/sym_keyboard_feedback_delete"
+                android:isRepeatable="true"/>
+    </Row>
+    
+    <Row  android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_alpha_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="," android:keyWidth="15%p" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="‚„"
+        />
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:keyWidth="30%p" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:isRepeatable="true"/>
+        <Key android:keyLabel="." android:keyWidth="15%p" />
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" android:keyWidth="20%p" android:keyEdgeFlags="right"
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                />
+    </Row>
+</Keyboard>
\ No newline at end of file
diff --git a/res/xml/kbd_symbols_shift.xml b/res/xml/kbd_symbols_shift.xml
new file mode 100755
index 0000000..6a472a4
--- /dev/null
+++ b/res/xml/kbd_symbols_shift.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row>
+        <Key android:keyLabel="~" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="`"/>
+        <Key android:keyLabel="|"/>
+        <Key android:keyLabel="•"/>
+        <Key android:keyLabel="√"/>
+        <Key android:keyLabel="π"/>
+        <Key android:keyLabel="÷"/>
+        <Key android:keyLabel="×"/>
+        <Key android:keyLabel="{"/>
+        <Key android:keyLabel="}" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:keyLabel="¥" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="£"/>
+        <Key android:keyLabel="¢"/>
+        <Key android:keyLabel="€"/>
+        <Key android:keyLabel="°"/>
+        <Key android:keyLabel="^"/>
+        <Key android:keyLabel="_"/>
+        <Key android:keyLabel="="
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="≠≈∞"
+        />
+        <Key android:keyLabel="["/>
+        <Key android:keyLabel="]" android:keyEdgeFlags="right"/>
+    </Row>
+    
+    <Row>
+        <Key android:codes="-1" android:keyLabel="@string/label_alt_key" 
+                android:keyWidth="15%p" android:isModifier="true"
+                android:isSticky="true" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="™"/>
+        <Key android:keyLabel="®"/>
+        <Key android:keyLabel="©"/>
+        <Key android:keyLabel="¶"/>
+        <Key android:keyLabel="\\"/>
+        <Key android:keyLabel="&lt;" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="≤«‹"
+        />
+        <Key android:keyLabel="&gt;"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="≥»›"
+        />
+        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" android:keyWidth="15%p" android:keyEdgeFlags="right"
+                android:iconPreview="@drawable/sym_keyboard_feedback_delete"
+                android:isRepeatable="true"/>
+    </Row>
+    
+    <Row android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_alpha_key" android:keyWidth="20%p"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters=""
+                android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="„" android:keyWidth="15%p" />
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:keyWidth="30%p" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:isRepeatable="true"/>
+        <Key android:keyLabel="…" android:keyWidth="15%p" />
+        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" android:keyWidth="20%p" android:keyEdgeFlags="right"
+                android:iconPreview="@drawable/sym_keyboard_feedback_return"
+                />
+    </Row>
+</Keyboard>
diff --git a/res/xml/method.xml b/res/xml/method.xml
new file mode 100644
index 0000000..e5654e9
--- /dev/null
+++ b/res/xml/method.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (c) 2008, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); 
+ * you may not use this file except in compliance with the License. 
+ * You may obtain a copy of the License at 
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0 
+ *
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+-->
+
+<!-- The attributes in this XML file provide configuration information -->
+<!-- for the Input Method Manager. -->
+
+<input-method xmlns:android="http://schemas.android.com/apk/res/android"
+        android:settingsActivity="com.android.inputmethod.latin.LatinIMESettings"
+        android:isDefault="@bool/im_is_default"
+/>
diff --git a/res/xml/popup_domains.xml b/res/xml/popup_domains.xml
new file mode 100644
index 0000000..5c86386
--- /dev/null
+++ b/res/xml/popup_domains.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="15%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row android:rowEdgeFlags="top|bottom">
+        <Key android:keyLabel=".net" android:keyOutputText=".net" android:keyEdgeFlags="left" />
+        <Key android:keyLabel=".org" android:keyOutputText=".org"/>
+        <Key android:keyLabel=".gov" android:keyOutputText=".gov"/>
+        <Key android:keyLabel=".tv" android:keyOutputText=".tv" android:keyEdgeFlags="right" />
+    </Row>
+</Keyboard>
diff --git a/res/xml/popup_punctuation.xml b/res/xml/popup_punctuation.xml
new file mode 100644
index 0000000..9d4575d
--- /dev/null
+++ b/res/xml/popup_punctuation.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row android:rowEdgeFlags="top|bottom">
+        <Key android:codes="58" android:keyLabel=":" android:keyEdgeFlags="left" />
+        <Key android:codes="47" android:keyLabel="/" />
+        <Key android:codes="64" android:keyLabel="\@" />
+        <Key android:codes="39" android:keyLabel="\'" />
+        <Key android:codes="34" android:keyLabel="&quot;" />
+        <Key android:codes="63" android:keyLabel="\?" />
+        <Key android:codes="33" android:keyLabel="!" android:keyEdgeFlags="right" />
+    </Row>
+</Keyboard>
diff --git a/res/xml/popup_smileys.xml b/res/xml/popup_smileys.xml
new file mode 100644
index 0000000..5663fef
--- /dev/null
+++ b/res/xml/popup_smileys.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* 
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+
+<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="15%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/key_height"
+    >
+
+    <Row android:rowEdgeFlags="top">
+        <Key android:keyLabel=":-)" android:keyOutputText=":-) " android:keyEdgeFlags="left" />
+        <Key android:keyLabel=":-(" android:keyOutputText=":-( "/>
+        <Key android:keyLabel=";-)" android:keyOutputText=";-) "/>
+        <Key android:keyLabel=":-P" android:keyOutputText=":-P "/>
+        <Key android:keyLabel="=-O" android:keyOutputText="=-O " android:keyEdgeFlags="right" />
+    </Row>
+    <Row>
+        <Key android:keyLabel=":-*" android:keyOutputText=":-* " android:keyEdgeFlags="left" />
+        <Key android:keyLabel=":O" android:keyOutputText=":O "/>
+        <Key android:keyLabel="B-)" android:keyOutputText="B-) "/>
+        <Key android:keyLabel=":-$" android:keyOutputText=":-$ "/>
+        <Key android:keyLabel=":-!" android:keyOutputText=":-! " android:keyEdgeFlags="right" />
+    </Row>
+    <Row android:rowEdgeFlags="bottom">
+        <Key android:keyLabel=":-[" android:keyOutputText=":-[ " android:keyEdgeFlags="left" />
+        <Key android:keyLabel="O:-)" android:keyOutputText="O:-) "/>
+        <Key android:keyLabel=":-\\" android:keyOutputText=":-\\ "/>
+        <Key android:keyLabel=":'(" android:keyOutputText=":'( "/>
+        <Key android:keyLabel=":-D" android:keyOutputText=":-D " android:keyEdgeFlags="right" />
+    </Row>
+</Keyboard>
diff --git a/res/xml/prefs.xml b/res/xml/prefs.xml
new file mode 100644
index 0000000..1721384
--- /dev/null
+++ b/res/xml/prefs.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+        android:title="@string/english_ime_settings"
+        android:key="english_ime_settings">
+
+    <CheckBoxPreference
+            android:key="vibrate_on"
+            android:title="@string/vibrate_on_keypress"
+            android:defaultValue="true"
+            android:persistent="true"
+            />
+
+    <CheckBoxPreference
+            android:key="sound_on"
+            android:title="@string/sound_on_keypress"
+            android:persistent="true" 
+            />
+
+    <CheckBoxPreference
+            android:key="auto_cap"
+            android:title="@string/auto_cap"
+            android:persistent="true"
+            android:defaultValue="true"
+            />
+
+    <!--CheckBoxPreference
+            android:key="auto_punctuate"
+            android:title="@string/auto_punctuate"
+            android:persistent="true"
+            android:defaultValue="true"
+            android:visible="false"
+            /-->
+
+    <ListPreference
+            android:key="prediction_mode"
+            android:title="@string/prediction"
+            android:dialogTitle="@string/auto_complete_dialog_title"
+            android:summary="@string/prediction_summary"
+            android:persistent="true" 
+            android:entries="@array/prediction_modes"
+            android:entryValues="@array/prediction_modes_values"
+            android:defaultValue="@string/prediction_basic"
+            />
+
+    <PreferenceCategory
+            android:title="@string/prediction_category"
+            android:key="prediction_settings">
+            
+        <CheckBoxPreference
+            android:key="hit_correction"
+            android:title="@string/hit_correction"
+            android:summary="@string/hit_correction_summary"
+            android:persistent="true" 
+            android:defaultValue="true"
+            />
+
+        <CheckBoxPreference
+            android:key="prediction_landscape"
+            android:title="@string/prediction_landscape"
+            android:summary="@string/prediction_landscape_summary"
+            android:persistent="true" 
+            android:defaultValue="false"
+            />
+            
+    </PreferenceCategory>            
+</PreferenceScreen>
\ No newline at end of file
