diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 5f64379..745cdac 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -63,6 +63,8 @@
     <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 (8206774143334512268) -->
+    <skip />
     <string name="tip_long_press">"Podržením klávesy zobrazíte diakritiku (ž, á atd.)"</string>
     <string name="tip_dismiss">"Stisknutím klávesy Zpět ↶ můžete klávesnici kdykoli zavřít"</string>
     <string name="tip_access_symbols">"Přístup k číslům a symbolům"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 84f24a6..243292c 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -17,7 +17,7 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="english_ime_name">"Android-Tastatur"</string>
     <string name="english_ime_settings">"Android-Tastatureinstellungen"</string>
-    <string name="vibrate_on_keypress">"Vibrieren bei Tastendruck"</string>
+    <string name="vibrate_on_keypress">"Vibrieren auf Tastendruck"</string>
     <string name="sound_on_keypress">"Sound bei Tastendruck"</string>
     <string name="hit_correction">"Eingabefehler korrigieren"</string>
     <string name="hit_correction_summary">"Korrektur von Eingabefehlern aktivieren"</string>
@@ -28,7 +28,7 @@
     <string name="prediction">"Wortvorschläge"</string>
     <string name="prediction_category">"Einstellungen für Wortvorschläge"</string>
     <string name="prediction_summary">"Automatische Vervollständigung während der Eingabe aktivieren"</string>
-    <string name="auto_complete_dialog_title">"Autom. vervollständigen"</string>
+    <string name="auto_complete_dialog_title">"Automatische Vervollständigung"</string>
     <string name="prediction_landscape">"Textfeld vergrößern"</string>
     <string name="prediction_landscape_summary">"Wortvorschläge in Querformat ausblenden"</string>
     <string name="auto_cap">"Automatische Groß-/Kleinschreibung"</string>
@@ -40,8 +40,8 @@
     <string name="quick_fixes_summary">"Korrigiert gängige Tippfehler"</string>
     <string name="show_suggestions">"Vorschläge anzeigen"</string>
     <string name="show_suggestions_summary">"Vorgeschlagene Wörter während des Tippens anzeigen"</string>
-    <string name="auto_complete">"Autom. vervollständigen"</string>
-    <string name="auto_complete_summary">"Leertaste und Interpunktion fügen autom. ein markiertes Wort ein"</string>
+    <string name="auto_complete">"Automatische Vervollständigung"</string>
+    <string name="auto_complete_summary">"Leertaste und Interpunktion fügen automatisch ein hervorgehobenes Wort ein"</string>
   <string-array name="prediction_modes">
     <item>"Keine"</item>
     <item>"Standard"</item>
@@ -54,18 +54,16 @@
     <!-- no translation found for prediction_modes_values:1 (7214414132844804570) -->
     <!-- no translation found for prediction_modes_values:2 (6678546276084314171) -->
     <string name="added_word">"<xliff:g id="WORD">%s</xliff:g> : Gespeichert"</string>
-    <string name="alternates_for_a">"ä"</string>
-    <!-- no translation found for alternates_for_e (3900510936875547555) -->
-    <skip />
-    <!-- no translation found for alternates_for_i (7097915268629342242) -->
-    <skip />
-    <string name="alternates_for_o">"ö"</string>
-    <string name="alternates_for_u">"ü"</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>
-    <!-- no translation found for alternates_for_c (151699780720639892) -->
-    <skip />
-    <!-- no translation found for alternates_for_y (1722776806607271199) -->
+    <string name="alternates_for_c">"ç"</string>
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (8206774143334512268) -->
     <skip />
     <string name="tip_long_press">"Zur Anzeige von Umlauten (ä, ö usw.) Taste gedrückt halten"</string>
     <string name="tip_dismiss">"Zum Schließen der Tastatur ↶ drücken"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..864e812
--- /dev/null
+++ b/res/values-es-rUS/strings.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="english_ime_name">"Teclado de Android"</string>
+    <string name="english_ime_settings">"Configuración de teclado de Android"</string>
+    <string name="vibrate_on_keypress">"Vibrar al pulsar las teclas"</string>
+    <string name="sound_on_keypress">"Sonar al pulsar las teclas"</string>
+    <string name="hit_correction">"Corregir errores de escritura"</string>
+    <string name="hit_correction_summary">"Habilitar corrección de error de entrada"</string>
+    <string name="hit_correction_land">"Errores de entrada apaisada"</string>
+    <string name="hit_correction_land_summary">"Habilitar corrección de error de entrada"</string>
+    <string name="auto_correction">"Sugerencias de palabras"</string>
+    <string name="auto_correction_summary">"Corregir automáticamente la palabra anterior"</string>
+    <string name="prediction">"Sugerencias de palabras"</string>
+    <string name="prediction_category">"Configuración de sugerencia de palabra"</string>
+    <string name="prediction_summary">"Habilitar finalización automática al escribir"</string>
+    <string name="auto_complete_dialog_title">"Finalización automática"</string>
+    <string name="prediction_landscape">"Aumentar el tamaño del campo de texto"</string>
+    <string name="prediction_landscape_summary">"Ocultar sugerencias de palabras en vista apaisada"</string>
+    <string name="auto_cap">"Mayúsculas automáticas"</string>
+    <string name="auto_cap_summary">"Poner en mayúscula el inicio de una oración"</string>
+    <string name="auto_punctuate">"Puntuación automática"</string>
+    <!-- no translation found for auto_punctuate_summary (6589441565817502132) -->
+    <skip />
+    <!-- no translation found for quick_fixes (5353213327680897927) -->
+    <skip />
+    <!-- no translation found for quick_fixes_summary (3405028402510332373) -->
+    <skip />
+    <!-- no translation found for show_suggestions (507074425254289133) -->
+    <skip />
+    <!-- no translation found for show_suggestions_summary (1989672863935759654) -->
+    <skip />
+    <!-- no translation found for auto_complete (1103196318775486023) -->
+    <skip />
+    <!-- no translation found for auto_complete_summary (6113149638718274624) -->
+    <skip />
+  <string-array name="prediction_modes">
+    <item>"Ninguno"</item>
+    <item>"Básico"</item>
+    <item>"Avanzado"</item>
+  </string-array>
+    <string name="prediction_none">"0"</string>
+    <string name="prediction_basic">"1"</string>
+    <string name="prediction_full">"2"</string>
+    <!-- no translation found for prediction_modes_values:0 (579944677836100459) -->
+    <!-- no translation found for prediction_modes_values:1 (7214414132844804570) -->
+    <!-- no translation found for prediction_modes_values:2 (6678546276084314171) -->
+    <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 (8206774143334512268) -->
+    <skip />
+    <string name="tip_long_press">"Mantén una tecla presionada para ver los acentos (ø, ö, etc.)"</string>
+    <string name="tip_dismiss">"Pulsa la tecla hacia atrás ↶ para cerrar el teclado en cualquier momento"</string>
+    <string name="tip_access_symbols">"Acceder a números y símbolos"</string>
+    <string name="tip_add_to_dictionary">"Presiona y mantén presionada la palabra de la izquierda para agregarla al diccionario"</string>
+    <!-- no translation found for touch_to_continue (7869803257948414531) -->
+    <skip />
+    <!-- no translation found for touch_to_finish (7990196086480585789) -->
+    <skip />
+    <!-- no translation found for tip_to_open_keyboard (6821200275486950452) -->
+    <skip />
+    <!-- no translation found for tip_to_view_accents (5433158573693308501) -->
+    <skip />
+    <!-- no translation found for tip_to_open_symbols (7345139325622444880) -->
+    <skip />
+    <!-- no translation found for tip_to_close_symbols (5227724217206927185) -->
+    <skip />
+    <!-- no translation found for tip_to_launch_settings (8402961128983196128) -->
+    <skip />
+    <!-- no translation found for tip_to_start_typing (7213843601369174313) -->
+    <skip />
+    <string name="label_go_key">"Ir"</string>
+    <string name="label_next_key">"Siguiente"</string>
+    <string name="label_done_key">"Finalizado"</string>
+    <string name="label_send_key">"Enviar"</string>
+    <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-es/strings.xml b/res/values-es/strings.xml
index e561db9..aa65ef1 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -18,7 +18,7 @@
     <string name="english_ime_name">"Teclado de Android"</string>
     <string name="english_ime_settings">"Configuración del teclado de Android"</string>
     <string name="vibrate_on_keypress">"Vibrar al pulsar tecla"</string>
-    <string name="sound_on_keypress">"Sonido al pulsar tecla"</string>
+    <string name="sound_on_keypress">"Sonido al pulsar una tecla"</string>
     <string name="hit_correction">"Corregir errores de escritura"</string>
     <string name="hit_correction_summary">"Habilitar la introducción de corrección de errores"</string>
     <string name="hit_correction_land">"Errores de introducción de datos en vista horizontal"</string>
@@ -31,7 +31,7 @@
     <string name="auto_complete_dialog_title">"Autocompletar"</string>
     <string name="prediction_landscape">"Aumentar el tamaño del campo de texto"</string>
     <string name="prediction_landscape_summary">"Ocultar sugerencias de palabras en la vista horizontal"</string>
-    <string name="auto_cap">"Uso de mayúsculas auto."</string>
+    <string name="auto_cap">"Uso de mayúsculas automático"</string>
     <string name="auto_cap_summary">"Escribir en mayúscula el principio de la frase"</string>
     <string name="auto_punctuate">"Puntuación automática"</string>
     <!-- no translation found for auto_punctuate_summary (6589441565817502132) -->
@@ -54,16 +54,16 @@
     <!-- no translation found for prediction_modes_values:1 (7214414132844804570) -->
     <!-- no translation found for prediction_modes_values:2 (6678546276084314171) -->
     <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>
-    <!-- no translation found for alternates_for_s (348762530927662188) -->
-    <skip />
+    <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>
-    <!-- no translation found for alternates_for_y (1722776806607271199) -->
+    <string name="alternates_for_y">"ýÿ"</string>
+    <!-- no translation found for alternates_for_z (8206774143334512268) -->
     <skip />
     <string name="tip_long_press">"Mantén pulsada una tecla para ver los caracteres acentuados (ø, ö, etc.)."</string>
     <string name="tip_dismiss">"Pulsa la tecla \"Atrás\" ↶ para cerrar el teclado en cualquier momento."</string>
@@ -78,7 +78,7 @@
     <string name="tip_to_launch_settings"><b>"Mantén pulsada esta tecla para cambiar la configuración del teclado como, por ejemplo, la opción de autocompletar"</b>"."</string>
     <string name="tip_to_start_typing"><b>"¡Pruébalo!"</b></string>
     <string name="label_go_key">"Ir"</string>
-    <string name="label_next_key">"Sig."</string>
+    <string name="label_next_key">"Siguiente"</string>
     <string name="label_done_key">"Hecho"</string>
     <string name="label_send_key">"Enviar"</string>
     <string name="label_symbol_key">"?123"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 282f9a7..ce0903f 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -31,7 +31,7 @@
     <string name="auto_complete_dialog_title">"Saisie semi-automatique"</string>
     <string name="prediction_landscape">"Agrandir le champ de texte"</string>
     <string name="prediction_landscape_summary">"Masquer la saisie prédictive en mode paysage"</string>
-    <string name="auto_cap">"Majuscules auto"</string>
+    <string name="auto_cap">"Majuscules automatiques"</string>
     <string name="auto_cap_summary">"Mettre en majuscule la première lettre de chaque phrase"</string>
     <string name="auto_punctuate">"Ponctuation automatique"</string>
     <!-- no translation found for auto_punctuate_summary (6589441565817502132) -->
@@ -41,7 +41,7 @@
     <string name="show_suggestions">"Afficher les suggestions"</string>
     <string name="show_suggestions_summary">"Afficher les suggestions de terme lors de la saisie"</string>
     <string name="auto_complete">"Saisie semi-automatique"</string>
-    <string name="auto_complete_summary">"La barre d\'espace/ponctuation insèrent auto. le terme surligné."</string>
+    <string name="auto_complete_summary">"La barre d\'espace et la ponctuation insèrent automatiquement les termes en surbrillance."</string>
   <string-array name="prediction_modes">
     <item>"Aucun"</item>
     <item>"Simple"</item>
@@ -63,13 +63,15 @@
     <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 (8206774143334512268) -->
+    <skip />
     <string name="tip_long_press">"Maintenir une touche enfoncée pour afficher les accents (à, é, etc.)"</string>
     <string name="tip_dismiss">"Appuyez sur la touche Retour ↶ pour fermer le clavier à tout moment."</string>
     <string name="tip_access_symbols">"Accéder aux chiffres et symboles"</string>
     <string name="tip_add_to_dictionary">"Appuyer et maintenir le doigt sur le mot le plus à gauche pour l\'ajouter au dictionnaire"</string>
-    <string name="touch_to_continue">"Touchez ce conseil pour continuer »"</string>
-    <string name="touch_to_finish">"Touchez ici pour fermer ce conseil et commencer à saisir votre texte."</string>
-    <string name="tip_to_open_keyboard"><b>"Le clavier s\'affiche à chaque fois que vous touchez une zone de texte."</b></string>
+    <string name="touch_to_continue">"Appuyez sur ce conseil pour continuer »"</string>
+    <string name="touch_to_finish">"Appuyez ici pour fermer ce conseil et commencer à saisir votre texte."</string>
+    <string name="tip_to_open_keyboard"><b>"Le clavier s\'affiche à chaque fois que vous appuyez sur une zone de texte."</b></string>
     <string name="tip_to_view_accents"><b>"Maintenez une touche enfoncée pour afficher les accents"\n"(ø, ö, ô, ó, etc.)"</b></string>
     <string name="tip_to_open_symbols"><b>"Appuyez sur cette touche pour basculer vers les chiffres et les symboles."</b></string>
     <string name="tip_to_close_symbols"><b>"Retourner au clavier en appuyant de nouveau sur cette touche"</b></string>
@@ -77,7 +79,7 @@
     <string name="tip_to_start_typing"><b>"Essayez !"</b></string>
     <string name="label_go_key">"OK"</string>
     <string name="label_next_key">"Suivant"</string>
-    <string name="label_done_key">"OK"</string>
+    <string name="label_done_key">"Terminé"</string>
     <string name="label_send_key">"Envoyer"</string>
     <string name="label_symbol_key">"?123"</string>
     <string name="label_phone_key">"123"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 112acc1..8a814cb 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -17,8 +17,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="english_ime_name">"Tastiera Android"</string>
     <string name="english_ime_settings">"Impostazioni tastiera Android"</string>
-    <string name="vibrate_on_keypress">"Vibra se premi un tasto"</string>
-    <string name="sound_on_keypress">"Suona se premi un tasto"</string>
+    <string name="vibrate_on_keypress">"Vibra quando premi un tasto"</string>
+    <string name="sound_on_keypress">"Suona quando premi un tasto"</string>
     <string name="hit_correction">"Correggi errori di digitazione"</string>
     <string name="hit_correction_summary">"Attiva la correzione degli errori di inserimento"</string>
     <string name="hit_correction_land">"Errori di inserimento in visualizzazione orizzontale"</string>
@@ -33,15 +33,15 @@
     <string name="prediction_landscape_summary">"Nascondi i suggerimenti delle parole in visualizzazione orizzontale"</string>
     <string name="auto_cap">"Maiuscole automatiche"</string>
     <string name="auto_cap_summary">"Rendi maiuscole le iniziali delle frasi"</string>
-    <string name="auto_punctuate">"Punteggiatura automat."</string>
+    <string name="auto_punctuate">"Punteggiatura automatica"</string>
     <!-- no translation found for auto_punctuate_summary (6589441565817502132) -->
     <skip />
     <string name="quick_fixes">"Correzioni veloci"</string>
     <string name="quick_fixes_summary">"Corregge gli errori di digitazione più comuni"</string>
     <string name="show_suggestions">"Mostra suggerimenti"</string>
     <string name="show_suggestions_summary">"Visualizza le parole suggerite durante la digitazione"</string>
-    <string name="auto_complete">"Completamento autom."</string>
-    <string name="auto_complete_summary">"Barra spaziatrice e punteggiatura inseriscono la parola evidenziata"</string>
+    <string name="auto_complete">"Completamento automatico"</string>
+    <string name="auto_complete_summary">"La barra spaziatrice e la punteggiatura inseriscono automaticamente la parola evidenziata"</string>
   <string-array name="prediction_modes">
     <item>"Nessuna"</item>
     <item>"Base"</item>
@@ -54,17 +54,19 @@
     <!-- no translation found for prediction_modes_values:1 (7214414132844804570) -->
     <!-- no translation found for prediction_modes_values:2 (6678546276084314171) -->
     <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_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 (8206774143334512268) -->
+    <skip />
     <string name="tip_long_press">"Tieni premuto un tasto per vedere le lettere con segni diacritici (ø, ö etc.)"</string>
-    <string name="tip_dismiss">"Premi il tasto Indietro ↶ per chiudere la tastiera"</string>
+    <string name="tip_dismiss">"Premi il tasto Indietro ↶ per chiudere la tastiera in qualsiasi punto"</string>
     <string name="tip_access_symbols">"Accedi a numeri e simboli"</string>
     <string name="tip_add_to_dictionary">"Tieni premuto sulla parola all\'estrema sinistra per aggiungerla al dizionario"</string>
     <string name="touch_to_continue">"Tocca questo suggerimento per continuare »"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 53bc60f..67c9a5e 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -17,10 +17,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="english_ime_name">"Androidキーボード"</string>
     <string name="english_ime_settings">"Androidキーボードの設定"</string>
-    <string name="vibrate_on_keypress">"キー操作バイブ"</string>
+    <string name="vibrate_on_keypress">"キーのバイブレーション"</string>
     <string name="sound_on_keypress">"キー操作音"</string>
-    <string name="hit_correction">"入力ミス補正"</string>
-    <string name="hit_correction_summary">"入力間違いを自動修正する"</string>
+    <string name="hit_correction">"入力エラー修正"</string>
+    <string name="hit_correction_summary">"入力エラーを推測修正する"</string>
     <string name="hit_correction_land">"横表示での入力修正"</string>
     <string name="hit_correction_land_summary">"入力間違いを自動修正する"</string>
     <string name="auto_correction">"入力候補表示"</string>
@@ -32,7 +32,7 @@
     <string name="prediction_landscape">"入力作業スペースを広げる"</string>
     <string name="prediction_landscape_summary">"横表示では入力候補を表示しない"</string>
     <string name="auto_cap">"自動大文字変換"</string>
-    <string name="auto_cap_summary">"英字入力で文頭文字を大文字にする"</string>
+    <string name="auto_cap_summary">"先頭文字を大文字に変換する"</string>
     <string name="auto_punctuate">"句読点を自動入力"</string>
     <!-- no translation found for auto_punctuate_summary (6589441565817502132) -->
     <skip />
@@ -41,7 +41,7 @@
     <string name="show_suggestions">"入力候補を表示"</string>
     <string name="show_suggestions_summary">"入力時に入力候補を表示します"</string>
     <string name="auto_complete">"オートコンプリート"</string>
-    <string name="auto_complete_summary">"スペースまたは句読点キーで反転表示されている変換候補を挿入する"</string>
+    <string name="auto_complete_summary">"スペースまたは句読点キーを押すと、ハイライトされたキーワードが自動入力されます"</string>
   <string-array name="prediction_modes">
     <item>"なし"</item>
     <item>"基本"</item>
@@ -63,10 +63,12 @@
     <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 (8206774143334512268) -->
+    <skip />
     <string name="tip_long_press">"キー長押しでアクセント文字を表示（ø、öなど）"</string>
     <string name="tip_dismiss">"戻るキーでキーボードを閉じます"</string>
     <string name="tip_access_symbols">"数字と記号"</string>
-    <string name="tip_add_to_dictionary">"一番左の単語を長押しすると辞書に追加されます"</string>
+    <string name="tip_add_to_dictionary">"一番左の語句を長押しすると辞書に追加されます"</string>
     <string name="touch_to_continue">"続けるにはヒントをタッチ &gt;&gt;"</string>
     <string name="touch_to_finish">"タッチしてこのヒントを終了し、入力を開始してください。"</string>
     <string name="tip_to_open_keyboard"><b>"テキストフィールドを選択するとキーボードが表示されます"</b></string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 32d5d15..654a1f0 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -63,6 +63,8 @@
     <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 (8206774143334512268) -->
+    <skip />
     <string name="tip_long_press">"키를 길게 누르면 악센트(ø, ö 등)가 표시됩니다."</string>
     <string name="tip_dismiss">"키보드를 닫으려면 언제든지 뒤로 키(↶)를 누르세요."</string>
     <string name="tip_access_symbols">"숫자 및 기호 액세스"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 28df4d4..87273dd 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -36,12 +36,18 @@
     <string name="auto_punctuate">"Automatisk punktum"</string>
     <!-- no translation found for auto_punctuate_summary (6589441565817502132) -->
     <skip />
-    <string name="quick_fixes">"Autokorrektur"</string>
-    <string name="quick_fixes_summary">"Retter vanlige stavefeil"</string>
-    <string name="show_suggestions">"Vis forslag"</string>
-    <string name="show_suggestions_summary">"Vis foreslåtte ord under skriving"</string>
-    <string name="auto_complete">"Autokomplettering"</string>
-    <string name="auto_complete_summary">"Mellomrom og punktum setter automatisk inn valgt ord"</string>
+    <!-- no translation found for quick_fixes (5353213327680897927) -->
+    <skip />
+    <!-- no translation found for quick_fixes_summary (3405028402510332373) -->
+    <skip />
+    <!-- no translation found for show_suggestions (507074425254289133) -->
+    <skip />
+    <!-- no translation found for show_suggestions_summary (1989672863935759654) -->
+    <skip />
+    <!-- no translation found for auto_complete (1103196318775486023) -->
+    <skip />
+    <!-- no translation found for auto_complete_summary (6113149638718274624) -->
+    <skip />
   <string-array name="prediction_modes">
     <item>"Ingen"</item>
     <item>"Grunnleggende"</item>
@@ -66,22 +72,33 @@
     <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 (8206774143334512268) -->
+    <skip />
     <string name="tip_long_press">"Hold en tast nede for å se aksenterte tegn (ø, ö, osv.)"</string>
     <string name="tip_dismiss">"Trykk tilbakeknappen, ↶, for å lukke tastaturet"</string>
     <string name="tip_access_symbols">"Få tilgang til tall og symboler"</string>
     <string name="tip_add_to_dictionary">"Trykk lenge på ordet lengst til venstre for å legge det til i ordlisten"</string>
-    <string name="touch_to_continue">"Trykk på dette hintet for å forsette »"</string>
-    <string name="touch_to_finish">"Trykk her for å lukke dette hintet og begynne å skrive!"</string>
-    <string name="tip_to_open_keyboard"><b>"Tastaturet åpnes når du tar på et tekstfelt"</b></string>
-    <string name="tip_to_view_accents"><b>"Trykk på og hold nede en tast for å se aksenter"\n"(ø, ö, ô, ó, osv.)"</b></string>
-    <string name="tip_to_open_symbols"><b>"Bytt til tall og symboler ved å trykke på denne tasten"</b></string>
-    <string name="tip_to_close_symbols"><b>"Gå tilbake til bokstaver igjen ved å trykke på denne tasten"</b></string>
-    <string name="tip_to_launch_settings"><b>"Trykk på og hold nede denne tasten for å endre tastaturinnstillinger, som autofullføring"</b></string>
-    <string name="tip_to_start_typing"><b>"Prøv det!"</b></string>
+    <!-- no translation found for touch_to_continue (7869803257948414531) -->
+    <skip />
+    <!-- no translation found for touch_to_finish (7990196086480585789) -->
+    <skip />
+    <!-- no translation found for tip_to_open_keyboard (6821200275486950452) -->
+    <skip />
+    <!-- no translation found for tip_to_view_accents (5433158573693308501) -->
+    <skip />
+    <!-- no translation found for tip_to_open_symbols (7345139325622444880) -->
+    <skip />
+    <!-- no translation found for tip_to_close_symbols (5227724217206927185) -->
+    <skip />
+    <!-- no translation found for tip_to_launch_settings (8402961128983196128) -->
+    <skip />
+    <!-- no translation found for tip_to_start_typing (7213843601369174313) -->
+    <skip />
     <string name="label_go_key">"Gå"</string>
     <string name="label_next_key">"Neste"</string>
     <string name="label_done_key">"Utfør"</string>
-    <string name="label_send_key">"Send"</string>
+    <!-- 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>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 73d5e3f..467fdbc 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -63,6 +63,8 @@
     <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 (8206774143334512268) -->
+    <skip />
     <string name="tip_long_press">"Houd een toets ingedrukt om diakritische tekens weer te geven (ø, ö, enzovoort)"</string>
     <string name="tip_dismiss">"Druk op elk gewenst moment op de toets Terug ↶ om het toetsenbord te sluiten"</string>
     <string name="tip_access_symbols">"Toegang tot cijfers en symbolen"</string>
@@ -70,7 +72,7 @@
     <string name="touch_to_continue">"Raak deze tip aan om door te gaan »"</string>
     <string name="touch_to_finish">"Raak dit punt aan om deze tip te sluiten en te beginnen met typen."</string>
     <string name="tip_to_open_keyboard"><b>"Het toetsenbord wordt geopend wanneer u een tekstveld aanraakt"</b></string>
-    <string name="tip_to_view_accents"><b>"Blijf een toets aanraken om diakritische tekens weer te geven"\n"(ø, ö, ô, ó, enzovoort)"</b></string>
+    <string name="tip_to_view_accents"><b>"Blijf een toets aanraken om diakritische tekens weer te geven"\n" (ø, ö, ô, ó, enzovoort)"</b></string>
     <string name="tip_to_open_symbols"><b>"Schakel over naar cijfers en symbolen door deze toets aan te raken"</b></string>
     <string name="tip_to_close_symbols"><b>"Ga terug naar letters door deze toets nogmaals aan te raken"</b></string>
     <string name="tip_to_launch_settings"><b>"Blijf deze toets aanraken om toetsenbordinstellingen te wijzigen, zoals auto-aanvullen"</b></string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index a10731c..2cbf131 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -17,8 +17,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="english_ime_name">"Klawiatura Android"</string>
     <string name="english_ime_settings">"Ustawienia klawiatury Android"</string>
-    <string name="vibrate_on_keypress">"Wibracja przy naciśnięciu"</string>
-    <string name="sound_on_keypress">"Dźwięk przy naciśnięciu"</string>
+    <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>
     <string name="hit_correction">"Popraw błędy pisowni"</string>
     <string name="hit_correction_summary">"Włącz poprawianie błędów wprowadzania"</string>
     <string name="hit_correction_land">"Błędy wprowadzania w orientacji poziomej"</string>
@@ -31,7 +31,7 @@
     <string name="auto_complete_dialog_title">"Autouzupełnianie"</string>
     <string name="prediction_landscape">"Zwiększ rozmiar pola tekstowego"</string>
     <string name="prediction_landscape_summary">"Wyłącz propozycje słów w orientacji poziomej"</string>
-    <string name="auto_cap">"Wstawiaj wielkie litery"</string>
+    <string name="auto_cap">"Automatyczna zamiana na wielkie litery"</string>
     <string name="auto_cap_summary">"Zamieniaj na wielką pierwszą literę zdania"</string>
     <string name="auto_punctuate">"Automatyczna interpunkcja"</string>
     <!-- no translation found for auto_punctuate_summary (6589441565817502132) -->
@@ -41,7 +41,7 @@
     <string name="show_suggestions">"Pokaż sugestie"</string>
     <string name="show_suggestions_summary">"Wyświetl sugerowane słowa podczas wpisywania"</string>
     <string name="auto_complete">"Autouzupełnianie"</string>
-    <string name="auto_complete_summary">"Spacja i znaki przestankowe wstawiają wyróżnione słowo"</string>
+    <string name="auto_complete_summary">"Spacja i znaki przestankowe automatycznie wstawiają wyróżnione słowo"</string>
   <string-array name="prediction_modes">
     <item>"Brak"</item>
     <item>"Podstawowy"</item>
@@ -54,26 +54,28 @@
     <!-- no translation found for prediction_modes_values:1 (7214414132844804570) -->
     <!-- no translation found for prediction_modes_values:2 (6678546276084314171) -->
     <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>
-    <string name="tip_long_press">"Przytrzymaj klawisz, aby wyświetlić znaki akcentowane (ą, ó itp.)"</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 (8206774143334512268) -->
+    <skip />
+    <string name="tip_long_press">"Przytrzymaj klawisz, aby wyświetlić znaki akcentowane (ø, ö itp.)"</string>
     <string name="tip_dismiss">"Naciśnij klawisz cofania ↶, aby zamknąć klawiaturę w dowolnym momencie"</string>
     <string name="tip_access_symbols">"Przejdź do cyfr i symboli"</string>
     <string name="tip_add_to_dictionary">"Naciśnij i przytrzymaj słowo po lewej stronie w celu dodania go do słownika"</string>
     <string name="touch_to_continue">"Dotknij tej podpowiedzi, aby kontynuować »"</string>
     <string name="touch_to_finish">"Dotknij tutaj, aby zamknąć tę podpowiedź i zacząć pisać!"</string>
-    <string name="tip_to_open_keyboard"><b>"Klawiatura jest otwierana po każdym dotknięciu pola tekstowego."</b></string>
-    <string name="tip_to_view_accents"><b>"Dotknij i przytrzymaj klawisz, aby wyświetlić znaki akcentowane"\n"(ą, ę, ł, ó itd.)."</b></string>
-    <string name="tip_to_open_symbols"><b>"Przełącz na cyfry i symbole, dotykając tego klawisza."</b></string>
-    <string name="tip_to_close_symbols"><b>"Wróć do trybu liter, dotykając ponownie tego klawisza."</b></string>
-    <string name="tip_to_launch_settings"><b>"Dotknij i przytrzymaj ten klawisz, aby zmienić ustawienia klawiatury, takie jak autouzupełnianie."</b></string>
+    <string name="tip_to_open_keyboard"><b>"Klawiatura jest otwierana po każdym dotknięciu pola tekstowego"</b></string>
+    <string name="tip_to_view_accents"><b>"Dotknij i przytrzymaj klawisz, aby wyświetlić znaki akcentowane"\n"(ø, ö, ô, ó itd.)"</b></string>
+    <string name="tip_to_open_symbols"><b>"Przełącz na cyfry i symbole, dotykając tego klawisza"</b></string>
+    <string name="tip_to_close_symbols"><b>"Wróć do trybu liter, dotykając ponownie tego klawisza"</b></string>
+    <string name="tip_to_launch_settings"><b>"Dotknij i przytrzymaj ten klawisz, aby zmienić ustawienia klawiatury, takie jak autouzupełnianie"</b></string>
     <string name="tip_to_start_typing"><b>"Wypróbuj!"</b></string>
     <string name="label_go_key">"Przejdź"</string>
     <string name="label_next_key">"Dalej"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 672aa77..6449099 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -63,6 +63,8 @@
     <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 (8206774143334512268) -->
+    <skip />
     <string name="tip_long_press">"Удерживайте клавишу, чтобы увидеть варианты с диакритическими знаками (ø, ö и т.д.)"</string>
     <string name="tip_dismiss">"Нажмите клавишу \"Назад\" ↶, чтобы закрыть клавиатуру в любой момент"</string>
     <string name="tip_access_symbols">"Открыть цифры и символы"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index ac6c6d9..789656d 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -69,6 +69,8 @@
     <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 (8206774143334512268) -->
+    <skip />
     <string name="tip_long_press">"按住某个键可以查看重音符号（ø、ö 等）"</string>
     <string name="tip_dismiss">"随时可以通过按后退键 ↶ 关闭键盘"</string>
     <string name="tip_access_symbols">"访问数字和符号"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 5d5baca..a7a2bd4 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -63,6 +63,8 @@
     <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 (8206774143334512268) -->
+    <skip />
     <string name="tip_long_press">"按住按鍵可查看重音符號 (ø、ö 等)"</string>
     <string name="tip_dismiss">"隨時可以透過按後退鍵 ↶ 關閉鍵盤"</string>
     <string name="tip_access_symbols">"使用數字和符號"</string>
diff --git a/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/src/com/android/inputmethod/latin/KeyboardSwitcher.java
index b3fcbda..92b7cd4 100644
--- a/src/com/android/inputmethod/latin/KeyboardSwitcher.java
+++ b/src/com/android/inputmethod/latin/KeyboardSwitcher.java
@@ -16,9 +16,8 @@
 
 package com.android.inputmethod.latin;
 
-import android.inputmethodservice.Keyboard;
-
-import java.util.List;
+import java.util.HashMap;
+import java.util.Map;
 
 public class KeyboardSwitcher {
 
@@ -37,31 +36,28 @@
     public static final int KEYBOARDMODE_URL = R.id.mode_url;
     public static final int KEYBOARDMODE_EMAIL = R.id.mode_email;
     public static final int KEYBOARDMODE_IM = R.id.mode_im;
-    
 
     LatinKeyboardView mInputView;
     LatinIME mContext;
     
-    private LatinKeyboard mPhoneKeyboard;
-    private LatinKeyboard mPhoneSymbolsKeyboard;
-    private LatinKeyboard mSymbolsKeyboard;
-    private LatinKeyboard mSymbolsShiftedKeyboard;
-    private LatinKeyboard mQwertyKeyboard;
-    private LatinKeyboard mAlphaKeyboard;
-    private LatinKeyboard mUrlKeyboard;
-    private LatinKeyboard mEmailKeyboard;
-    private LatinKeyboard mIMKeyboard;
-    
-    List<Keyboard> mKeyboards;
+    private KeyboardId mSymbolsId;
+    private KeyboardId mSymbolsShiftedId;
+
+    private KeyboardId mCurrentId;
+    private Map<KeyboardId, LatinKeyboard> mKeyboards;
     
     private int mMode;
     private int mImeOptions;
     private int mTextMode = MODE_TEXT_QWERTY;
+    private boolean mIsSymbols;
 
     private int mLastDisplayWidth;
 
     KeyboardSwitcher(LatinIME context) {
         mContext = context;
+        mKeyboards = new HashMap<KeyboardId, LatinKeyboard>();
+        mSymbolsId = new KeyboardId(R.xml.kbd_symbols);
+        mSymbolsShiftedId = new KeyboardId(R.xml.kbd_symbols_shift);
     }
 
     void setInputView(LatinKeyboardView inputView) {
@@ -72,92 +68,109 @@
         // Configuration change is coming after the keyboard gets recreated. So don't rely on that.
         // If keyboards have already been made, check if we have a screen width change and 
         // create the keyboard layouts again at the correct orientation
-        if (mKeyboards != null) {
-            int displayWidth = mContext.getMaxWidth();
-            if (displayWidth == mLastDisplayWidth) return;
-            mLastDisplayWidth = displayWidth;
+        int displayWidth = mContext.getMaxWidth();
+        if (displayWidth == mLastDisplayWidth) return;
+        mLastDisplayWidth = displayWidth;
+        mKeyboards.clear();
+        mSymbolsId = new KeyboardId(R.xml.kbd_symbols);
+        mSymbolsShiftedId = new KeyboardId(R.xml.kbd_symbols_shift);
+    }
+
+    /**
+     * Represents the parameters necessary to construct a new LatinKeyboard,
+     * which also serve as a unique identifier for each keyboard type.
+     */
+    private static class KeyboardId {
+        public int mXml;
+        public int mMode;
+        public boolean mEnableShiftLock;
+
+        public KeyboardId(int xml, int mode, boolean enableShiftLock) {
+            this.mXml = xml;
+            this.mMode = mode;
+            this.mEnableShiftLock = enableShiftLock;
         }
-        // Delayed creation when keyboard mode is set.
-        mQwertyKeyboard = null;
-        mAlphaKeyboard = null;
-        mUrlKeyboard = null;
-        mEmailKeyboard = null;
-        mIMKeyboard = null;
-        mPhoneKeyboard = null;
-        mPhoneSymbolsKeyboard = null;
-        mSymbolsKeyboard = null;
-        mSymbolsShiftedKeyboard = null;
+
+        public KeyboardId(int xml) {
+            this(xml, 0, false);
+        }
+
+        public boolean equals(Object other) {
+            return other instanceof KeyboardId && equals((KeyboardId) other);
+        }
+
+        public boolean equals(KeyboardId other) {
+            return other.mXml == this.mXml && other.mMode == this.mMode;
+        }
+
+        public int hashCode() {
+            return (mXml + 1) * (mMode + 1) * (mEnableShiftLock ? 2 : 1);
+        }
     }
 
     void setKeyboardMode(int mode, int imeOptions) {
+        setKeyboardMode(mode, imeOptions, false);
+    }
+
+    void setKeyboardMode(int mode, int imeOptions, boolean isSymbols) {
         mMode = mode;
         mImeOptions = imeOptions;
-        LatinKeyboard keyboard = (LatinKeyboard) mInputView.getKeyboard();
+        mIsSymbols = isSymbols;
         mInputView.setPreviewEnabled(true);
-        switch (mode) {
-            case MODE_TEXT:
-                if (mTextMode == MODE_TEXT_QWERTY) {
-                    if (mQwertyKeyboard == null) {
-                        mQwertyKeyboard = new LatinKeyboard(mContext, R.xml.kbd_qwerty,
-                                KEYBOARDMODE_NORMAL);
-                        mQwertyKeyboard.enableShiftLock();
-                    }
-                    keyboard = mQwertyKeyboard;
-                } else if (mTextMode == MODE_TEXT_ALPHA) {
-                    if (mAlphaKeyboard == null) {
-                        mAlphaKeyboard = new LatinKeyboard(mContext, R.xml.kbd_alpha,
-                                KEYBOARDMODE_NORMAL);
-                        mAlphaKeyboard.enableShiftLock();
-                    }
-                    keyboard = mAlphaKeyboard;
-                }
-                break;
-            case MODE_SYMBOLS:
-                if (mSymbolsKeyboard == null) {
-                    mSymbolsKeyboard = new LatinKeyboard(mContext, R.xml.kbd_symbols);
-                }
-                if (mSymbolsShiftedKeyboard == null) {
-                    mSymbolsShiftedKeyboard = new LatinKeyboard(mContext, R.xml.kbd_symbols_shift);
-                }
-                keyboard = mSymbolsKeyboard;
-                break;
-            case MODE_PHONE:
-                if (mPhoneKeyboard == null) {
-                    mPhoneKeyboard = new LatinKeyboard(mContext, R.xml.kbd_phone);
-                }
-                mInputView.setPhoneKeyboard(mPhoneKeyboard);
-                if (mPhoneSymbolsKeyboard == null) {
-                    mPhoneSymbolsKeyboard = new LatinKeyboard(mContext, R.xml.kbd_phone_symbols);
-                }
-                keyboard = mPhoneKeyboard;
-                mInputView.setPreviewEnabled(false);
-                break;
-            case MODE_URL:
-                if (mUrlKeyboard == null) {
-                    mUrlKeyboard = new LatinKeyboard(mContext, R.xml.kbd_qwerty, KEYBOARDMODE_URL);
-                    mUrlKeyboard.enableShiftLock();
-                }
-                keyboard = mUrlKeyboard;
-                break;
-            case MODE_EMAIL:
-                if (mEmailKeyboard == null) {
-                    mEmailKeyboard = new LatinKeyboard(mContext, R.xml.kbd_qwerty, KEYBOARDMODE_EMAIL);
-                    mEmailKeyboard.enableShiftLock();
-                }
-                keyboard = mEmailKeyboard;
-                break;
-            case MODE_IM:
-                if (mIMKeyboard == null) {
-                    mIMKeyboard = new LatinKeyboard(mContext, R.xml.kbd_qwerty, KEYBOARDMODE_IM);
-                    mIMKeyboard.enableShiftLock();
-                }
-                keyboard = mIMKeyboard;
-                break;
+        KeyboardId id = getKeyboardId(mode, imeOptions, isSymbols);
+        LatinKeyboard keyboard = getKeyboard(id);
+
+        if (mode == MODE_PHONE) {
+            mInputView.setPhoneKeyboard(keyboard);
+            mInputView.setPreviewEnabled(false);
         }
+
+        mCurrentId = id;
         mInputView.setKeyboard(keyboard);
         keyboard.setShifted(false);
         keyboard.setShiftLocked(keyboard.isShiftLocked());
         keyboard.setImeOptions(mContext.getResources(), mMode, imeOptions);
+
+    }
+
+    private LatinKeyboard getKeyboard(KeyboardId id) {
+        if (!mKeyboards.containsKey(id)) {
+            LatinKeyboard keyboard = new LatinKeyboard(
+                mContext, id.mXml, id.mMode);
+            if (id.mEnableShiftLock) {
+                keyboard.enableShiftLock();
+            }
+            mKeyboards.put(id, keyboard);
+        }
+        return mKeyboards.get(id);
+    }
+
+    private KeyboardId getKeyboardId(int mode, int imeOptions, boolean isSymbols) {
+        if (isSymbols) {
+            return (mode == MODE_PHONE)
+                ? new KeyboardId(R.xml.kbd_phone_symbols) : new KeyboardId(R.xml.kbd_symbols);
+        }
+
+        switch (mode) {
+            case MODE_TEXT:
+                if (mTextMode == MODE_TEXT_QWERTY) {
+                    return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_NORMAL, true);
+                } else if (mTextMode == MODE_TEXT_ALPHA) {
+                    return new KeyboardId(R.xml.kbd_alpha, KEYBOARDMODE_NORMAL, true);
+                }
+                break;
+            case MODE_SYMBOLS:
+                return new KeyboardId(R.xml.kbd_symbols);
+            case MODE_PHONE:
+                return new KeyboardId(R.xml.kbd_phone);
+            case MODE_URL:
+                return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_URL, true);
+            case MODE_EMAIL:
+                return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_EMAIL, true);
+            case MODE_IM:
+                return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_IM, true);
+        }
+        return null;
     }
 
     int getKeyboardMode() {
@@ -186,56 +199,34 @@
     }
 
     boolean isAlphabetMode() {
-        Keyboard current = mInputView.getKeyboard();
-        if (current == mQwertyKeyboard
-                || current == mAlphaKeyboard
-                || current == mUrlKeyboard
-                || current == mIMKeyboard
-                || current == mEmailKeyboard) {
-            return true;
-        }
-        return false;
+        KeyboardId current = mCurrentId;
+        return current.mMode == KEYBOARDMODE_NORMAL
+            || current.mMode == KEYBOARDMODE_URL
+            || current.mMode == KEYBOARDMODE_EMAIL
+            || current.mMode == KEYBOARDMODE_IM;
     }
 
     void toggleShift() {
-        Keyboard currentKeyboard = mInputView.getKeyboard();
-        if (currentKeyboard == mSymbolsKeyboard) {
-            mSymbolsKeyboard.setShifted(true);
-            mInputView.setKeyboard(mSymbolsShiftedKeyboard);
-            mSymbolsShiftedKeyboard.setShifted(true);
-            mSymbolsShiftedKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions);
-        } else if (currentKeyboard == mSymbolsShiftedKeyboard) {
-            mSymbolsShiftedKeyboard.setShifted(false);
-            mInputView.setKeyboard(mSymbolsKeyboard);
-            mSymbolsKeyboard.setShifted(false);
-            mSymbolsKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions);
+        if (mCurrentId.equals(mSymbolsId)) {
+            LatinKeyboard symbolsKeyboard = getKeyboard(mSymbolsId);
+            LatinKeyboard symbolsShiftedKeyboard = getKeyboard(mSymbolsShiftedId);
+            symbolsKeyboard.setShifted(true);
+            mCurrentId = mSymbolsShiftedId;
+            mInputView.setKeyboard(symbolsShiftedKeyboard);
+            symbolsShiftedKeyboard.setShifted(true);
+            symbolsShiftedKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions);
+        } else if (mCurrentId.equals(mSymbolsShiftedId)) {
+            LatinKeyboard symbolsKeyboard = getKeyboard(mSymbolsId);
+            LatinKeyboard symbolsShiftedKeyboard = getKeyboard(mSymbolsShiftedId);
+            symbolsShiftedKeyboard.setShifted(false);
+            mCurrentId = mSymbolsId;
+            mInputView.setKeyboard(getKeyboard(mSymbolsId));
+            symbolsKeyboard.setShifted(false);
+            symbolsKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions);
         }
     }
 
     void toggleSymbols() {
-        Keyboard current = mInputView.getKeyboard();
-        if (mSymbolsKeyboard == null) {
-            mSymbolsKeyboard = new LatinKeyboard(mContext, R.xml.kbd_symbols);
-        }
-        if (mSymbolsShiftedKeyboard == null) {
-            mSymbolsShiftedKeyboard = new LatinKeyboard(mContext, R.xml.kbd_symbols_shift);
-        }
-        if (current == mSymbolsKeyboard || current == mSymbolsShiftedKeyboard) {
-            setKeyboardMode(mMode, mImeOptions); // Could be qwerty, alpha, url, email or im
-            return;
-        } else if (current == mPhoneKeyboard) {
-            current = mPhoneSymbolsKeyboard;
-            mPhoneSymbolsKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions);
-        } else if (current == mPhoneSymbolsKeyboard) {
-            current = mPhoneKeyboard;
-            mPhoneKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions);
-        } else {
-            current = mSymbolsKeyboard;
-            mSymbolsKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions);
-        }
-        mInputView.setKeyboard(current);
-        if (current == mSymbolsKeyboard) {
-            current.setShifted(false);
-        }
+        setKeyboardMode(mMode, mImeOptions, !mIsSymbols);
     }
 }
