aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values-cs/strings.xml2
-rw-r--r--res/values-de/strings.xml26
-rw-r--r--res/values-es-rUS/strings.xml102
-rw-r--r--res/values-es/strings.xml22
-rw-r--r--res/values-fr/strings.xml14
-rw-r--r--res/values-it/strings.xml26
-rw-r--r--res/values-ja/strings.xml14
-rw-r--r--res/values-ko/strings.xml2
-rw-r--r--res/values-nb/strings.xml47
-rw-r--r--res/values-nl/strings.xml4
-rw-r--r--res/values-pl/strings.xml40
-rw-r--r--res/values-ru/strings.xml2
-rw-r--r--res/values-zh-rCN/strings.xml2
-rw-r--r--res/values-zh-rTW/strings.xml2
-rw-r--r--src/com/android/inputmethod/latin/KeyboardSwitcher.java243
15 files changed, 338 insertions, 210 deletions
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 5f6437984..745cdac3f 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 84f24a67c..243292c43 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 000000000..864e812d6
--- /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 e561db920..aa65ef198 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 282f9a768..ce0903f4c 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 112acc198..8a814cb17 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 53bc60f25..67c9a5e37 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 32d5d157e..654a1f04b 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 28df4d45a..87273dd2f 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 73d5e3fd4..467fdbc21 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 a10731c1d..2cbf13173 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 672aa77c1..644909929 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 ac6c6d96b..789656d42 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 23054b3ff..058445742 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 b3fcbda6f..92b7cd4a1 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 class KeyboardSwitcher {
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 @@ public class KeyboardSwitcher {
// 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;
+ }
+
+ 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);
}
- // 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;
}
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);
+ 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) {
- if (mQwertyKeyboard == null) {
- mQwertyKeyboard = new LatinKeyboard(mContext, R.xml.kbd_qwerty,
- KEYBOARDMODE_NORMAL);
- mQwertyKeyboard.enableShiftLock();
- }
- keyboard = mQwertyKeyboard;
+ return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_NORMAL, true);
} else if (mTextMode == MODE_TEXT_ALPHA) {
- if (mAlphaKeyboard == null) {
- mAlphaKeyboard = new LatinKeyboard(mContext, R.xml.kbd_alpha,
- KEYBOARDMODE_NORMAL);
- mAlphaKeyboard.enableShiftLock();
- }
- keyboard = mAlphaKeyboard;
+ return new KeyboardId(R.xml.kbd_alpha, KEYBOARDMODE_NORMAL, true);
}
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;
+ return new KeyboardId(R.xml.kbd_symbols);
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;
+ return new KeyboardId(R.xml.kbd_phone);
case MODE_URL:
- if (mUrlKeyboard == null) {
- mUrlKeyboard = new LatinKeyboard(mContext, R.xml.kbd_qwerty, KEYBOARDMODE_URL);
- mUrlKeyboard.enableShiftLock();
- }
- keyboard = mUrlKeyboard;
- break;
+ return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_URL, true);
case MODE_EMAIL:
- if (mEmailKeyboard == null) {
- mEmailKeyboard = new LatinKeyboard(mContext, R.xml.kbd_qwerty, KEYBOARDMODE_EMAIL);
- mEmailKeyboard.enableShiftLock();
- }
- keyboard = mEmailKeyboard;
- break;
+ return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_EMAIL, true);
case MODE_IM:
- if (mIMKeyboard == null) {
- mIMKeyboard = new LatinKeyboard(mContext, R.xml.kbd_qwerty, KEYBOARDMODE_IM);
- mIMKeyboard.enableShiftLock();
- }
- keyboard = mIMKeyboard;
- break;
+ return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_IM, true);
}
- mInputView.setKeyboard(keyboard);
- keyboard.setShifted(false);
- keyboard.setShiftLocked(keyboard.isShiftLocked());
- keyboard.setImeOptions(mContext.getResources(), mMode, imeOptions);
+ return null;
}
int getKeyboardMode() {
@@ -186,56 +199,34 @@ public class KeyboardSwitcher {
}
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);
}
}