diff options
64 files changed, 299 insertions, 381 deletions
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml index 7afc743c2..be692bfdf 100644 --- a/java/res/values-af/strings.xml +++ b/java/res/values-af/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Gebaseer op vorige woord"</string> <string name="gesture_input" msgid="3310827802759290774">"Gebaarinvoer"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Voer \'n woord in deur die letters van \'n woord te trek"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Wys gebaarspoor"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Wys gebaar se woord"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Wys swewende voorskouwoord saam met die gebaar"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Gestoor"</string> <string name="label_go_key" msgid="1635148082137219148">"Gaan"</string> <string name="label_next_key" msgid="362972844525672568">"Volgende"</string> diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml index a0cdd9e82..f4a9de617 100644 --- a/java/res/values-am/strings.xml +++ b/java/res/values-am/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"በቀዳሚው ቃል ላይ የተመሠረተ"</string> <string name="gesture_input" msgid="3310827802759290774">"የእጅ ምልክት ግብዓት"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"የአንድ ቃል ፊደሎችን በመከታተል አንድ ቃል አስገባ"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"ምልክት የሚሄድበት መንገድ አሳይ"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"የምልክት ቃል አሳይ"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"ተንሳፋፊ የቅድመ እይታ ቃል ከምልክት ጋር አሳይ"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : ተቀምጧል"</string> <string name="label_go_key" msgid="1635148082137219148">"ሂድ"</string> <string name="label_next_key" msgid="362972844525672568">"በመቀጠል"</string> diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml index 8d880c533..29d046e76 100644 --- a/java/res/values-ar/strings.xml +++ b/java/res/values-ar/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"استنادًا إلى الكلمة السابقة"</string> <string name="gesture_input" msgid="3310827802759290774">"إدخال الإيماءة"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"يمكنك إدخال كلمة من خلال تتبع أحرف كلمة ما"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"عرض مسار الإيماءة"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"عرض كلمة الإيماءة"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"عرض كلمة معاينة متحركة مع الإيماءة"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : تم الحفظ"</string> <string name="label_go_key" msgid="1635148082137219148">"تنفيذ"</string> <string name="label_next_key" msgid="362972844525672568">"التالي"</string> diff --git a/java/res/values-be/strings.xml b/java/res/values-be/strings.xml index eacb89f0d..30217fb32 100644 --- a/java/res/values-be/strings.xml +++ b/java/res/values-be/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"На аснове папярэдняга слова"</string> <string name="gesture_input" msgid="3310827802759290774">"Уваход жэстам"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Увядзiце слова, адсочваючы лiтары"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Паказаць след жэста"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Паказаць слова жэста"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Паказаць плаваючы прагляд слова з жэстам"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Захаваныя"</string> <string name="label_go_key" msgid="1635148082137219148">"Пачаць"</string> <string name="label_next_key" msgid="362972844525672568">"Далей"</string> diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml index 7f62376f9..dc25205ce 100644 --- a/java/res/values-bg/strings.xml +++ b/java/res/values-bg/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Въз основа на предишната дума"</string> <string name="gesture_input" msgid="3310827802759290774">"Въвеждане чрез жест"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Въвеждане на дума чрез проследяване на буквите й"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Следа на жестовете: Показване"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Показване на дума при жестове"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Показване на дума с плаваща визуализация при жест"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Запазено"</string> <string name="label_go_key" msgid="1635148082137219148">"Старт"</string> <string name="label_next_key" msgid="362972844525672568">"Напред"</string> diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml index a1265bbd0..57b55d310 100644 --- a/java/res/values-ca/strings.xml +++ b/java/res/values-ca/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"En funció de la paraula anterior"</string> <string name="gesture_input" msgid="3310827802759290774">"Entrada de gestos"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Dibuixa les lletres d\'una paraula per escriure-la"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostra el recorregut del gest"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostra paraules en fer gestos"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostra la paraula de visualització prèvia flotant en fer gestos"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: desada"</string> <string name="label_go_key" msgid="1635148082137219148">"Vés"</string> <string name="label_next_key" msgid="362972844525672568">"Següent"</string> diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml index c6b7aa912..930cf13db 100644 --- a/java/res/values-cs/strings.xml +++ b/java/res/values-cs/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Na základě předchozího slova"</string> <string name="gesture_input" msgid="3310827802759290774">"Zadávání gesty"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Napište slovo zadáním jeho písmen."</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Zobrazovat stopu gesta"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Zobrazovat slovo gesta"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Zobrazovat plovoucí náhled slova gesta"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Uloženo"</string> <string name="label_go_key" msgid="1635148082137219148">"Přejít"</string> <string name="label_next_key" msgid="362972844525672568">"Další"</string> diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml index 5c543b182..f04c43d16 100644 --- a/java/res/values-da/strings.xml +++ b/java/res/values-da/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Baseret på tidligere ord"</string> <string name="gesture_input" msgid="3310827802759290774">"Berøringsindtastning"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Indtast et ord ved at skrive bogstaverne for et ord med fingeren"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Vis spor af berøring"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Vis berøringsord"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Vis flydende eksempelord under berøring"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Gemt"</string> <string name="label_go_key" msgid="1635148082137219148">"Gå"</string> <string name="label_next_key" msgid="362972844525672568">"Næste"</string> diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml index a3e03bdf5..59d8e7357 100644 --- a/java/res/values-de/strings.xml +++ b/java/res/values-de/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Auf Grundlage des vorherigen Wortes"</string> <string name="gesture_input" msgid="3310827802759290774">"Bewegungseingabe"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Wort durch Nachzeichnen der Buchstaben eingeben"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Spur der Bewegung anzeigen"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Wort bei Bewegung anzeigen"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Vorgeschlagenes Wort bei Bewegung anzeigen"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: gespeichert"</string> <string name="label_go_key" msgid="1635148082137219148">"Los"</string> <string name="label_next_key" msgid="362972844525672568">"Weiter"</string> diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml index 727699baf..2803ed258 100644 --- a/java/res/values-el/strings.xml +++ b/java/res/values-el/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Βάσει προηγούμενης λέξης"</string> <string name="gesture_input" msgid="3310827802759290774">"Καταχώριση κίνησης"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Καταχώριση μιας λέξης με εντοπισμό των γραμμάτων μιας λέξης"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Εμφάνιση διαδρομής χειρονομίας"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Εμφάνιση λέξης χειρονομίας"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Εμφάνιση κινούμενης προεπισκόπησης λέξης με χειρονομία"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Αποθηκεύτηκε"</string> <string name="label_go_key" msgid="1635148082137219148">"Μετ."</string> <string name="label_next_key" msgid="362972844525672568">"Επόμενο"</string> diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml index 91eb96586..4d960d7d6 100644 --- a/java/res/values-en-rGB/strings.xml +++ b/java/res/values-en-rGB/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Based on previous word"</string> <string name="gesture_input" msgid="3310827802759290774">"Gesture input"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Input a word by tracing the letters of a word"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Show gesture trail"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Show gesture word"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Show floating preview word with gesture"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Saved"</string> <string name="label_go_key" msgid="1635148082137219148">"Go"</string> <string name="label_next_key" msgid="362972844525672568">"Next"</string> diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml index e687cdeb8..42efb2001 100644 --- a/java/res/values-es-rUS/strings.xml +++ b/java/res/values-es-rUS/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Según la palabra anterior"</string> <string name="gesture_input" msgid="3310827802759290774">"Entrada de gestos"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Ingresa una palabra trazando sus letras."</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar recorrido de gesto"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostrar palabra de gesto"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostrar palabra de vista previa flotante al realizar gestos"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string> <string name="label_go_key" msgid="1635148082137219148">"Ir"</string> <string name="label_next_key" msgid="362972844525672568">"Siguiente"</string> diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml index f24d6ce8c..802864547 100644 --- a/java/res/values-es/strings.xml +++ b/java/res/values-es/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Según la palabra anterior"</string> <string name="gesture_input" msgid="3310827802759290774">"Entrada de gestos"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Trazar las letras de una palabra para introducirla"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar recorrido del gesto"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostrar palabra del gesto"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostrar la palabra de vista previa flotante al realizar un gesto"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string> <string name="label_go_key" msgid="1635148082137219148">"Ir"</string> <string name="label_next_key" msgid="362972844525672568">"Sig."</string> diff --git a/java/res/values-et/strings.xml b/java/res/values-et/strings.xml index 8c340a145..152c0300b 100644 --- a/java/res/values-et/strings.xml +++ b/java/res/values-et/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Eelmise sõna põhjal"</string> <string name="gesture_input" msgid="3310827802759290774">"Liigutusega sisest."</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Sisestage sõna, kirjutades sõna tähed sõrmega"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Näita liigutuse jälge"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Näita liigutuse sõna"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Ujuva sõna eelvaate näitamine koos liigutusega"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : salvestatud"</string> <string name="label_go_key" msgid="1635148082137219148">"Mine"</string> <string name="label_next_key" msgid="362972844525672568">"Edasi"</string> diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml index fb1e02510..4b1422984 100644 --- a/java/res/values-fa/strings.xml +++ b/java/res/values-fa/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"بر اساس کلمه قبلی"</string> <string name="gesture_input" msgid="3310827802759290774">"ورودی اشاره"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"با دنبال کردن حروف یک کلمه، کلمه را وارد کنید"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"نمایش نسخه آزمایشی حرکت"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"نمایش کلمه در طول ورودی حرکتی"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"نمایش کلمه پیشنمایش متحرک با حرکت"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : ذخیره شد"</string> <string name="label_go_key" msgid="1635148082137219148">"برو"</string> <string name="label_next_key" msgid="362972844525672568">"بعدی"</string> diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml index ef9393de0..28eeceddd 100644 --- a/java/res/values-fi/strings.xml +++ b/java/res/values-fi/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Perustuu edelliseen sanan"</string> <string name="gesture_input" msgid="3310827802759290774">"Eleiden syöttö"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Syötä sana piirtämällä kirjaimet sormella"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Näytä eleen jälki"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Näytä elesanat"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Näytä eleen yhteydessä kelluva esikatselusana"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Tallennettu"</string> <string name="label_go_key" msgid="1635148082137219148">"Siirry"</string> <string name="label_next_key" msgid="362972844525672568">"Seur."</string> diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml index 47e494db4..a8556e870 100644 --- a/java/res/values-fr/strings.xml +++ b/java/res/values-fr/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Suggestions basées sur le mot précédent"</string> <string name="gesture_input" msgid="3310827802759290774">"Saisie gestuelle"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Saisir un mot en traçant ses lettres avec le doigt"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Afficher le tracé du geste"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Afficher un mot lors du geste"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Afficher un aperçu flottant du mot lors de la saisie gestuelle"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : enregistré"</string> <string name="label_go_key" msgid="1635148082137219148">"OK"</string> <string name="label_next_key" msgid="362972844525672568">"Suiv."</string> diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml index dbc6376f3..254c2d29b 100644 --- a/java/res/values-hi/strings.xml +++ b/java/res/values-hi/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"पिछले शब्द के आधार पर"</string> <string name="gesture_input" msgid="3310827802759290774">"जेस्चर इनपुट"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"किसी शब्द के अक्षरों को ट्रेस करके कोई शब्द इनपुट करें"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"जेस्चर ट्रेल दिखाएं"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"जेस्चर शब्द दिखाएं"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"जेस्चर के साथ फ़्लोटिंग पूर्वावलोकन शब्द दिखाएं"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: सहेजा गया"</string> <string name="label_go_key" msgid="1635148082137219148">"जाएं"</string> <string name="label_next_key" msgid="362972844525672568">"अगला"</string> diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml index 550008a56..cb208804e 100644 --- a/java/res/values-hr/strings.xml +++ b/java/res/values-hr/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Na temelju prethodne riječi"</string> <string name="gesture_input" msgid="3310827802759290774">"Unos pokretom"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Unos riječi ispisivanjem slova riječi"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Prikaži trag pokreta"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Prikaži riječ pokreta"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Prikaži lebdeći pregled riječi uz pokret"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Spremljeno"</string> <string name="label_go_key" msgid="1635148082137219148">"Idi"</string> <string name="label_next_key" msgid="362972844525672568">"Dalje"</string> diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml index e5a00720e..62d1dd187 100644 --- a/java/res/values-hu/strings.xml +++ b/java/res/values-hu/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Az előző szó alapján"</string> <string name="gesture_input" msgid="3310827802759290774">"Kézi bevitel"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Szó beírása a betűk megrajzolásával"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Mozdulat irányának mutatása"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mozdulatot leíró szó mutatása"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mozdulatot leíró szó mutatása lebegő előnézetben"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : mentve"</string> <string name="label_go_key" msgid="1635148082137219148">"Ugrás"</string> <string name="label_next_key" msgid="362972844525672568">"Tovább"</string> diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml index 406d181fc..8273d5483 100644 --- a/java/res/values-in/strings.xml +++ b/java/res/values-in/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Berdasarkan kata sebelumnya"</string> <string name="gesture_input" msgid="3310827802759290774">"Masukan isyarat"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Masukkan kata dengan melacak huruf dari sebuah kata"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Tampilkan jalur isyarat"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Tampilkan kata isyarat"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Tampilkan kata pratinjau melayang dengan isyarat"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Telah disimpan"</string> <string name="label_go_key" msgid="1635148082137219148">"Buka"</string> <string name="label_next_key" msgid="362972844525672568">"Berikutnya"</string> diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml index 2e8ad24c2..d529b8aad 100644 --- a/java/res/values-it/strings.xml +++ b/java/res/values-it/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"In base alla parola precedente"</string> <string name="gesture_input" msgid="3310827802759290774">"Inserimento con gesti"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Inserisci una parola tracciandone le lettere"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostra traccia con gesto"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostra parola con gesto"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostra parola di anteprima floating con gesto"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : parola salvata"</string> <string name="label_go_key" msgid="1635148082137219148">"Vai"</string> <string name="label_next_key" msgid="362972844525672568">"Avanti"</string> diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml index c15a8da34..5c10716ce 100644 --- a/java/res/values-iw/strings.xml +++ b/java/res/values-iw/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"בהתבסס על המילה הקודמת"</string> <string name="gesture_input" msgid="3310827802759290774">"קלט מחווה"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"הזן מילה על ידי החלקת האצבע מאות לאות"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"הצג שובל מחווה"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"הצג מילת מחווה"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"הצג תצוגה מקדימה צפה של המילה בזמן המחווה"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : נשמרה"</string> <string name="label_go_key" msgid="1635148082137219148">"בצע"</string> <string name="label_next_key" msgid="362972844525672568">"הבא"</string> diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml index dfdd74dd8..fae12ab4d 100644 --- a/java/res/values-ja/strings.xml +++ b/java/res/values-ja/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"前の語句に基づいた入力候補表示"</string> <string name="gesture_input" msgid="3310827802759290774">"ジェスチャー入力"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"単語の文字をトレースして単語を入力"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"ジェスチャートレイルを表示"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"ジェスチャーワードを表示"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"ジェスチャーでプレビューワードをフローティング表示できます"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:保存しました"</string> <string name="label_go_key" msgid="1635148082137219148">"実行"</string> <string name="label_next_key" msgid="362972844525672568">"次へ"</string> diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml index 5fac18877..c89d8788a 100644 --- a/java/res/values-ko/strings.xml +++ b/java/res/values-ko/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"이전 단어에 기반한 추천"</string> <string name="gesture_input" msgid="3310827802759290774">"동작 입력"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"한번에 문자를 그려서 단어 입력"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"동작 흔적 표시"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"동작 단어 표시"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"동작과 함께 이동식 단어 미리보기 표시"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: 저장됨"</string> <string name="label_go_key" msgid="1635148082137219148">"이동"</string> <string name="label_next_key" msgid="362972844525672568">"다음"</string> diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml index ca8f533ba..f3b900382 100644 --- a/java/res/values-lt/strings.xml +++ b/java/res/values-lt/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Pagal ankstesnį žodį"</string> <string name="gesture_input" msgid="3310827802759290774">"Įvestis gestais"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Įveskite žodį brėždami jo raides"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Rodyti gestų kelią"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Rodyti gesto žodį"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Rodyti kintantį peržiūros žodį gestu"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: išsaugota"</string> <string name="label_go_key" msgid="1635148082137219148">"Pradėti"</string> <string name="label_next_key" msgid="362972844525672568">"Kitas"</string> diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml index 7e09415ba..55be05218 100644 --- a/java/res/values-lv/strings.xml +++ b/java/res/values-lv/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Pamatojoties uz iepriekšējo vārdu"</string> <string name="gesture_input" msgid="3310827802759290774">"Ievade ar žestu"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Ievadiet vārdu, norādot tā burtus."</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Rādīt žesta pēdas"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Rādīt žesta vārdu"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Rādīt peldošo priekšskatījuma vārdu ar žestu"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: saglabāts"</string> <string name="label_go_key" msgid="1635148082137219148">"Sākt"</string> <string name="label_next_key" msgid="362972844525672568">"Tālāk"</string> diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml index 2fd52c0ae..f603dfaa1 100644 --- a/java/res/values-nb/strings.xml +++ b/java/res/values-nb/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Basert på det forrige ordet"</string> <string name="gesture_input" msgid="3310827802759290774">"Bevegelseskommandoer"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Angi et ord ved å skrive bokstavene på skjermen med fingeren"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Vis bevegelsesspor"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Vis bevegelsesord"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Vis flytende forhåndsvisningsord under bevegelser"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Lagret"</string> <string name="label_go_key" msgid="1635148082137219148">"Utfør"</string> <string name="label_next_key" msgid="362972844525672568">"Neste"</string> diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml index 5c1cf3439..33816f870 100644 --- a/java/res/values-nl/strings.xml +++ b/java/res/values-nl/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Op basis van het vorige woord"</string> <string name="gesture_input" msgid="3310827802759290774">"Invoer met gebaren"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Voer een woord in door de letters van een woord te volgen"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Gebarenspoor weergeven"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Woord met gebaar weergeven"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Zwevend voorbeeldwoord met gebaar weergeven"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: opgeslagen"</string> <string name="label_go_key" msgid="1635148082137219148">"Start"</string> <string name="label_next_key" msgid="362972844525672568">"Verder"</string> diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml index 8d8d58d3a..7e15566ac 100644 --- a/java/res/values-pl/strings.xml +++ b/java/res/values-pl/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Na podstawie poprzedniego słowa"</string> <string name="gesture_input" msgid="3310827802759290774">"Wprowadzanie gestem"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Podaj słowo, pisząc litery palcem"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Pokazuj ślad gestu"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Podpowiadaj przy pisaniu gestem"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Pokazuj pływający podgląd słowa podczas pisania gestem"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Zapisano"</string> <string name="label_go_key" msgid="1635148082137219148">"OK"</string> <string name="label_next_key" msgid="362972844525672568">"Dalej"</string> diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml index 7282ebd1b..fcab817bb 100644 --- a/java/res/values-pt-rPT/strings.xml +++ b/java/res/values-pt-rPT/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Com base na palavra anterior"</string> <string name="gesture_input" msgid="3310827802759290774">"Introd. por gestos"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Introduza uma palavra, desenhando as letras de uma palavra"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar percurso do gesto"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Mostrar palavra gesto"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Mostrar palavra de visualização flutuante com gesto"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string> <string name="label_go_key" msgid="1635148082137219148">"OK"</string> <string name="label_next_key" msgid="362972844525672568">"Avançar"</string> diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml index ca8fbf6e4..e47ed63f4 100644 --- a/java/res/values-ro/strings.xml +++ b/java/res/values-ro/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Bazate pe cuvântul precedent"</string> <string name="gesture_input" msgid="3310827802759290774">"Utilizaţi gesturi"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Introduceţi un cuvânt desenând literele acestuia"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Se afişează urma gestului"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Sugestie cuvinte la gesturi"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Se afişează previzualizarea cuvântului flotant la gesturi"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: salvat"</string> <string name="label_go_key" msgid="1635148082137219148">"OK"</string> <string name="label_next_key" msgid="362972844525672568">"Înainte"</string> diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml index a6c5eecad..f780650ab 100644 --- a/java/res/values-ru/strings.xml +++ b/java/res/values-ru/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Подсказки, основанные на предыдущих словах"</string> <string name="gesture_input" msgid="3310827802759290774">"Ввод жестами"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Перемещайте палец от буквы к букве, чтобы составить слово"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Рисовать линию"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Подсказывать слово"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Показывать подсказку во время ввода"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: сохранено"</string> <string name="label_go_key" msgid="1635148082137219148">"Поиск"</string> <string name="label_next_key" msgid="362972844525672568">"Далее"</string> diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml index d0b043d7e..4aa0c5ce8 100644 --- a/java/res/values-sk/strings.xml +++ b/java/res/values-sk/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Na základe predchádzajúceho slova"</string> <string name="gesture_input" msgid="3310827802759290774">"Zadávanie gestami"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Napíšte slovo zadaním jeho písmen"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Zobrazovať stopu gesta"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Zobrazovať slovo gesta"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Zobrazovať plávajúcu ukážku slova gesta"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Uložené"</string> <string name="label_go_key" msgid="1635148082137219148">"Hľadať"</string> <string name="label_next_key" msgid="362972844525672568">"Ďalej"</string> diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml index 907155df9..3b209b305 100644 --- a/java/res/values-sr/strings.xml +++ b/java/res/values-sr/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"На основу претходне речи"</string> <string name="gesture_input" msgid="3310827802759290774">"Унос покретом"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Унесите реч исписивањем слова речи"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Прикажи траг покрета"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Прикажи реч уз покрет"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Приказ плутајућег прегледа речи уз покрет"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Сачувано"</string> <string name="label_go_key" msgid="1635148082137219148">"Иди"</string> <string name="label_next_key" msgid="362972844525672568">"Следеће"</string> diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml index 690053edf..71ba6204d 100644 --- a/java/res/values-sv/strings.xml +++ b/java/res/values-sv/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Baserat på föregående ord"</string> <string name="gesture_input" msgid="3310827802759290774">"Gestinmatning"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Skriv ett ord för hand genom att rita bokstäverna i ordet"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Visa spår efter rörelse"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Visa svävande ord för rörelse"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Visa förhandsgranskning av svävande ord med rörelse"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: sparat"</string> <string name="label_go_key" msgid="1635148082137219148">"Kör"</string> <string name="label_next_key" msgid="362972844525672568">"Nästa"</string> diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml index d58130a92..ec960bcd4 100644 --- a/java/res/values-sw/strings.xml +++ b/java/res/values-sw/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Kulingana na neno la awali"</string> <string name="gesture_input" msgid="3310827802759290774">"Ingizo la ishara"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Ingiza neno kwa kufuatilia herufi za neno"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Onyesha njia ya ishara"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Onyesha neno la ishara"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Onyesha neno hakiki linaloelea lililo na ishara"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Imehifadhiwa"</string> <string name="label_go_key" msgid="1635148082137219148">"Nenda"</string> <string name="label_next_key" msgid="362972844525672568">"Ifuatayo"</string> @@ -97,7 +94,7 @@ <string name="spoken_description_search" msgid="1247236163755920808">"Tafuta"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Nukta"</string> <string name="spoken_description_language_switch" msgid="5507091328222331316">"Badili lugha"</string> - <string name="spoken_description_action_next" msgid="8636078276664150324">"Ifuatayo"</string> + <string name="spoken_description_action_next" msgid="8636078276664150324">"Inayofuata"</string> <string name="spoken_description_action_previous" msgid="800872415009336208">"Iliyotangulia"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift imewezeshwa"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock imewezeshwa"</string> diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml index 6df83ae57..4e8d2e221 100644 --- a/java/res/values-th/strings.xml +++ b/java/res/values-th/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"ตามคำก่อนหน้า"</string> <string name="gesture_input" msgid="3310827802759290774">"ป้อนท่าทางสัมผัส"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"ป้อนคำโดยลากนิ้วเป็นรูปตัวอักษรที่อยู่ในคำ โดยไม่ยกนิ้วขึ้น"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"แสดงรอยทางเดินของท่าทาง"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"แสดงคำแนะนำท่าทาง"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"แสดงตัวอย่างคำแนะนำพร้อมด้วยท่าทาง"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : บันทึกแล้ว"</string> <string name="label_go_key" msgid="1635148082137219148">"ไป"</string> <string name="label_next_key" msgid="362972844525672568">"ถัดไป"</string> diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml index 9ad841dab..a2b46a66b 100644 --- a/java/res/values-tl/strings.xml +++ b/java/res/values-tl/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Batay sa nakaraang salita"</string> <string name="gesture_input" msgid="3310827802759290774">"Pagpasok ng galaw"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Magpasok ng salita sa gamit ang pagsulat sa mga titik ng salita"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Ipakita ang trail ng galaw"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Ipakita ang salita ng galaw"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Ipakita ang lumulutang na preview ng salita na may galaw"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Na-save"</string> <string name="label_go_key" msgid="1635148082137219148">"Punta"</string> <string name="label_next_key" msgid="362972844525672568">"Susunod"</string> diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml index cd800ce27..f9eb59831 100644 --- a/java/res/values-tr/strings.xml +++ b/java/res/values-tr/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Önceki kelimeye dayanarak"</string> <string name="gesture_input" msgid="3310827802759290774">"Hareket girişi"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Bir kelimeyi harflerini izleyerek girin"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Hareket izini göster"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Hareketle yazılan kelimeyi göster"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Hareketle kayan önizleme kelimesini göster"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Kaydedildi"</string> <string name="label_go_key" msgid="1635148082137219148">"Git"</string> <string name="label_next_key" msgid="362972844525672568">"İleri"</string> diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml index f1f68efa6..d62f42082 100644 --- a/java/res/values-uk/strings.xml +++ b/java/res/values-uk/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"На основі попереднього слова"</string> <string name="gesture_input" msgid="3310827802759290774">"Введення жестами"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Введіть слово, малюючи літери, з яких воно складається"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Показувати слід жестів"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Показувати слово для жесту"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Показувати спливаючий перегляд слова під час жесту"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : збережено"</string> <string name="label_go_key" msgid="1635148082137219148">"Іти"</string> <string name="label_next_key" msgid="362972844525672568">"Далі"</string> diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml index 69285f94b..13f51ad77 100644 --- a/java/res/values-vi/strings.xml +++ b/java/res/values-vi/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Dựa trên từ trước đó"</string> <string name="gesture_input" msgid="3310827802759290774">"Nhập bằng cử chỉ"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Nhập từ bằng cách lần theo các chữ cái của từ"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Hiển thị vệt cử chỉ"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Hiển thị từ theo cử chỉ"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Hiển thị từ xem trước nổi bằng cử chỉ"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Đã lưu"</string> <string name="label_go_key" msgid="1635148082137219148">"Tìm"</string> <string name="label_next_key" msgid="362972844525672568">"Tiếp theo"</string> @@ -98,7 +95,7 @@ <string name="spoken_description_dot" msgid="40711082435231673">"Dấu chấm"</string> <string name="spoken_description_language_switch" msgid="5507091328222331316">"Chuyển ngôn ngữ"</string> <string name="spoken_description_action_next" msgid="8636078276664150324">"Tiếp theo"</string> - <string name="spoken_description_action_previous" msgid="800872415009336208">"Trước đó"</string> + <string name="spoken_description_action_previous" msgid="800872415009336208">"Trước"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Đã bật Shift"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Đã bật Caps lock"</string> <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Đã tắt Shift"</string> diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml index 36a555349..120ae330f 100644 --- a/java/res/values-zh-rTW/strings.xml +++ b/java/res/values-zh-rTW/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"根據上一個字詞產生"</string> <string name="gesture_input" msgid="3310827802759290774">"手勢輸入"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"以手指寫出字詞中字母的方式來輸入字詞"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"顯示手勢軌跡"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"顯示手勢字詞"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"使用手勢輸入時顯示浮動預覽字詞"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:已儲存"</string> <string name="label_go_key" msgid="1635148082137219148">"開始"</string> <string name="label_next_key" msgid="362972844525672568">"繼續"</string> diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml index c72192196..2b2a5872c 100644 --- a/java/res/values-zu/strings.xml +++ b/java/res/values-zu/strings.xml @@ -60,12 +60,9 @@ <string name="bigram_prediction_summary" msgid="3253961591626441019">"Ngokususela egameni langaphambilini"</string> <string name="gesture_input" msgid="3310827802759290774">"Okokufaka kokuthinta"</string> <string name="gesture_input_summary" msgid="7019742443455085809">"Faka igama ngokulandela ngomkhondo izinhlamvu zegama"</string> - <!-- no translation found for gesture_preview_trail (3802333369335722221) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text (6859416520117939680) --> - <skip /> - <!-- no translation found for gesture_floating_preview_text_summary (3333754126434989709) --> - <skip /> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Bonisa i-trail yokuthinta"</string> + <string name="gesture_floating_preview_text" msgid="6859416520117939680">"Bonisa igama lokuthinta"</string> + <string name="gesture_floating_preview_text_summary" msgid="3333754126434989709">"Bonisa igama lokuhlola kuqala elintantayo nokuthinta"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Kulondoloziwe"</string> <string name="label_go_key" msgid="1635148082137219148">"Iya"</string> <string name="label_next_key" msgid="362972844525672568">"Okulandelayo"</string> diff --git a/java/src/com/android/inputmethod/compat/InputMethodServiceCompatUtils.java b/java/src/com/android/inputmethod/compat/InputMethodServiceCompatUtils.java new file mode 100644 index 000000000..0befa7a66 --- /dev/null +++ b/java/src/com/android/inputmethod/compat/InputMethodServiceCompatUtils.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.inputmethod.compat; + +import android.inputmethodservice.InputMethodService; + +import java.lang.reflect.Method; + +public class InputMethodServiceCompatUtils { + private static final Method METHOD_enableHardwareAcceleration = + CompatUtils.getMethod(InputMethodService.class, "enableHardwareAcceleration"); + + private InputMethodServiceCompatUtils() { + // This utility class is not publicly instantiable. + } + + public static boolean enableHardwareAcceleration(InputMethodService ims) { + return (Boolean)CompatUtils.invoke(ims, false, METHOD_enableHardwareAcceleration); + } +} diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index f1a35b212..3abe890cb 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -604,9 +604,6 @@ public class Keyboard { } public float getKeyX(TypedArray keyAttr) { - final int widthType = Builder.getEnumValue(keyAttr, - R.styleable.Keyboard_Key_keyWidth, KEYWIDTH_NOT_ENUM); - final int keyboardRightEdge = mParams.mOccupiedWidth - mParams.mHorizontalEdgesPadding; if (keyAttr.hasValue(R.styleable.Keyboard_Key_keyXPos)) { diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index d7ce659e7..6b1320d66 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -25,7 +25,7 @@ import android.graphics.Paint; import android.graphics.Paint.Align; import android.graphics.PorterDuff; import android.graphics.Rect; -import android.graphics.Region.Op; +import android.graphics.Region; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.os.Message; @@ -120,12 +120,12 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { private boolean mInvalidateAllKeys; /** The keys that should be drawn */ private final HashSet<Key> mInvalidatedKeys = new HashSet<Key>(); - /** The region of invalidated keys */ - private final Rect mInvalidatedKeysRect = new Rect(); + /** The working rectangle variable */ + private final Rect mWorkingRect = new Rect(); /** The keyboard bitmap buffer for faster updates */ - private Bitmap mBuffer; + private Bitmap mOffscreenBuffer; /** The canvas for the above mutable keyboard bitmap */ - private Canvas mCanvas; + private Canvas mOffscreenCanvas; private final Paint mPaint = new Paint(); private final Paint.FontMetrics mFontMetrics = new Paint.FontMetrics(); // This sparse array caches key label text height in pixel indexed by key label text size. @@ -457,46 +457,61 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); - if (mBufferNeedsUpdate || mBuffer == null) { + if (mBufferNeedsUpdate || mOffscreenBuffer == null) { mBufferNeedsUpdate = false; - onBufferDraw(); + if (maybeAllocateOffscreenBuffer()) { + mInvalidateAllKeys = true; + if (mOffscreenCanvas != null) { + mOffscreenCanvas.setBitmap(mOffscreenBuffer); + } else { + mOffscreenCanvas = new Canvas(mOffscreenBuffer); + } + } + onDrawKeyboard(mOffscreenCanvas); } - canvas.drawBitmap(mBuffer, 0, 0, null); + canvas.drawBitmap(mOffscreenBuffer, 0, 0, null); } - private void onBufferDraw() { + private boolean maybeAllocateOffscreenBuffer() { final int width = getWidth(); final int height = getHeight(); - if (width == 0 || height == 0) - return; - if (mBuffer == null || mBuffer.getWidth() != width || mBuffer.getHeight() != height) { - if (mBuffer != null) - mBuffer.recycle(); - mBuffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); - mInvalidateAllKeys = true; - if (mCanvas != null) { - mCanvas.setBitmap(mBuffer); - } else { - mCanvas = new Canvas(mBuffer); - } + if (width == 0 || height == 0) { + return false; + } + if (mOffscreenBuffer != null && mOffscreenBuffer.getWidth() == width + && mOffscreenBuffer.getHeight() == height) { + return false; } + freeOffscreenBuffer(); + mOffscreenBuffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + return true; + } + private void freeOffscreenBuffer() { + if (mOffscreenBuffer != null) { + mOffscreenBuffer.recycle(); + mOffscreenBuffer = null; + } + } + + private void onDrawKeyboard(final Canvas canvas) { if (mKeyboard == null) return; - final Canvas canvas = mCanvas; + final int width = getWidth(); + final int height = getHeight(); final Paint paint = mPaint; final KeyDrawParams params = mKeyDrawParams; if (mInvalidateAllKeys || mInvalidatedKeys.isEmpty()) { - mInvalidatedKeysRect.set(0, 0, width, height); - canvas.clipRect(mInvalidatedKeysRect, Op.REPLACE); + mWorkingRect.set(0, 0, width, height); + canvas.clipRect(mWorkingRect, Region.Op.REPLACE); canvas.drawColor(Color.BLACK, PorterDuff.Mode.CLEAR); // Draw all keys. for (final Key key : mKeyboard.mKeys) { onDrawKey(key, canvas, paint, params); } if (mNeedsToDimEntireKeyboard) { - drawDimRectangle(canvas, mInvalidatedKeysRect, mBackgroundDimAlpha, paint); + drawDimRectangle(canvas, mWorkingRect, mBackgroundDimAlpha, paint); } } else { // Draw invalidated keys. @@ -506,12 +521,12 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } final int x = key.mX + getPaddingLeft(); final int y = key.mY + getPaddingTop(); - mInvalidatedKeysRect.set(x, y, x + key.mWidth, y + key.mHeight); - canvas.clipRect(mInvalidatedKeysRect, Op.REPLACE); + mWorkingRect.set(x, y, x + key.mWidth, y + key.mHeight); + canvas.clipRect(mWorkingRect, Region.Op.REPLACE); canvas.drawColor(Color.BLACK, PorterDuff.Mode.CLEAR); onDrawKey(key, canvas, paint, params); if (mNeedsToDimEntireKeyboard) { - drawDimRectangle(canvas, mInvalidatedKeysRect, mBackgroundDimAlpha, paint); + drawDimRectangle(canvas, mWorkingRect, mBackgroundDimAlpha, paint); } } } @@ -524,7 +539,6 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } mInvalidatedKeys.clear(); - mInvalidatedKeysRect.setEmpty(); mInvalidateAllKeys = false; } @@ -1026,9 +1040,9 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { mInvalidatedKeys.add(key); final int x = key.mX + getPaddingLeft(); final int y = key.mY + getPaddingTop(); - mInvalidatedKeysRect.union(x, y, x + key.mWidth, y + key.mHeight); + mWorkingRect.set(x, y, x + key.mWidth, y + key.mHeight); mBufferNeedsUpdate = true; - invalidate(mInvalidatedKeysRect); + invalidate(mWorkingRect); } public void closing() { @@ -1054,9 +1068,6 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { super.onDetachedFromWindow(); closing(); mPreviewPlacerView.removeAllViews(); - if (mBuffer != null) { - mBuffer.recycle(); - mBuffer = null; - } + freeOffscreenBuffer(); } } diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index 0a284cc8e..e7e11f481 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -408,7 +408,7 @@ public class PointerTracker { if (mDrawingProxy != null) { setReleasedKeyGraphics(mCurrentKey); } - mCurrentKey = newKey; + // Keep {@link #mCurrentKey} that comes from previous keyboard. } final int keyQuarterWidth = mKeyboard.mMostCommonKeyWidth / 4; mKeyQuarterWidthSquared = keyQuarterWidth * keyQuarterWidth; diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 30edd2052..8dc1081f5 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -60,6 +60,7 @@ import com.android.inputmethod.accessibility.AccessibilityUtils; import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy; import com.android.inputmethod.compat.CompatUtils; import com.android.inputmethod.compat.InputMethodManagerCompatWrapper; +import com.android.inputmethod.compat.InputMethodServiceCompatUtils; import com.android.inputmethod.compat.SuggestionSpanUtils; import com.android.inputmethod.keyboard.KeyDetector; import com.android.inputmethod.keyboard.Keyboard; @@ -175,6 +176,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen private AlertDialog mOptionsDialog; + private final boolean mIsHardwareAcceleratedDrawingEnabled; + public final UIHandler mHandler = new UIHandler(this); public static class UIHandler extends StaticInnerHandlerWrapper<LatinIME> { @@ -347,6 +350,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen super(); mSubtypeSwitcher = SubtypeSwitcher.getInstance(); mKeyboardSwitcher = KeyboardSwitcher.getInstance(); + mIsHardwareAcceleratedDrawingEnabled = + InputMethodServiceCompatUtils.enableHardwareAcceleration(this); + Log.i(TAG, "Hardware accelerated drawing: " + mIsHardwareAcceleratedDrawingEnabled); } @Override diff --git a/native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp b/native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp index fb55ea76a..93e19b367 100644 --- a/native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp +++ b/native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp @@ -21,11 +21,6 @@ #include "jni_common.h" #include "proximity_info.h" -#include <cassert> -#include <cerrno> -#include <cstdio> -#include <cstring> - namespace latinime { static jlong latinime_Keyboard_setProximityInfo(JNIEnv *env, jobject object, diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp index 435e8379d..2d3d96309 100644 --- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp +++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp @@ -17,30 +17,24 @@ #define LOG_TAG "LatinIME: jni: BinaryDictionary" #include "binary_format.h" -#include "correction.h" #include "com_android_inputmethod_latin_BinaryDictionary.h" +#include "correction.h" #include "defines.h" #include "dictionary.h" #include "jni.h" #include "jni_common.h" -#include "proximity_info.h" - -#include <cassert> -#include <cerrno> -#include <cstdio> #ifdef USE_MMAP_FOR_DICTIONARY #include <sys/mman.h> -#include <sys/types.h> -#include <sys/stat.h> #include <fcntl.h> -#include <unistd.h> #else // USE_MMAP_FOR_DICTIONARY #include <cstdlib> #endif // USE_MMAP_FOR_DICTIONARY namespace latinime { +class ProximityInfo; + void releaseDictBuf(void *dictBuf, const size_t length, int fd); static jlong latinime_BinaryDictionary_open(JNIEnv *env, jobject object, diff --git a/native/jni/jni_common.cpp b/native/jni/jni_common.cpp index 94e279ff9..cb2351db1 100644 --- a/native/jni/jni_common.cpp +++ b/native/jni/jni_common.cpp @@ -21,6 +21,7 @@ #include "com_android_inputmethod_latin_NativeUtils.h" #include "defines.h" #include "jni.h" +#include "jni_common.h" #include "proximity_info.h" #include <cassert> diff --git a/native/jni/src/binary_format.h b/native/jni/src/binary_format.h index fdc13bfb9..2ee4077c1 100644 --- a/native/jni/src/binary_format.h +++ b/native/jni/src/binary_format.h @@ -572,8 +572,8 @@ inline int BinaryFormat::computeFrequencyForBigram(const int unigramFreq, const // 0 for the bigram frequency represents the middle of the 16th step from the top, // while a value of 15 represents the middle of the top step. // See makedict.BinaryDictInputOutput for details. - const float stepSize = ((float)MAX_FREQ - unigramFreq) / (1.5f + MAX_BIGRAM_FREQ); - return (int)(unigramFreq + (bigramFreq + 1) * stepSize); + const float stepSize = (static_cast<float>(MAX_FREQ) - unigramFreq) / (1.5f + MAX_BIGRAM_FREQ); + return static_cast<int>(unigramFreq + (bigramFreq + 1) * stepSize); } // This returns a probability in log space. diff --git a/native/jni/src/char_utils.cpp b/native/jni/src/char_utils.cpp index 88803cbcc..45d49b087 100644 --- a/native/jni/src/char_utils.cpp +++ b/native/jni/src/char_utils.cpp @@ -16,6 +16,8 @@ #include <cstdlib> +#include "char_utils.h" + namespace latinime { struct LatinCapitalSmallPair { diff --git a/native/jni/src/correction.cpp b/native/jni/src/correction.cpp index 921ab0a28..ea4bddae2 100644 --- a/native/jni/src/correction.cpp +++ b/native/jni/src/correction.cpp @@ -24,12 +24,12 @@ #include "char_utils.h" #include "correction.h" #include "defines.h" -#include "dictionary.h" -#include "proximity_info.h" #include "proximity_info_state.h" namespace latinime { +class ProximityInfo; + ///////////////////////////// // edit distance funcitons // ///////////////////////////// @@ -94,11 +94,11 @@ inline static int getCurrentEditDistance(int *editDistanceTable, const int editD ////////////////////// // inline functions // ////////////////////// -static const char QUOTE = '\''; +static const char SINGLE_QUOTE = '\''; -inline bool Correction::isQuote(const unsigned short c) { +inline bool Correction::isSingleQuote(const unsigned short c) { const unsigned short userTypedChar = mProximityInfoState.getPrimaryCharAt(mInputIndex); - return (c == QUOTE && userTypedChar != QUOTE); + return (c == SINGLE_QUOTE && userTypedChar != SINGLE_QUOTE); } //////////////// @@ -325,7 +325,7 @@ Correction::CorrectionType Correction::processCharAndCalcState( mDistances[mOutputIndex] = NOT_A_DISTANCE; // Skip checking this node - if (mNeedsToTraverseAllNodes || isQuote(c)) { + if (mNeedsToTraverseAllNodes || isSingleQuote(c)) { bool incremented = false; if (mLastCharExceeded && mInputIndex == mInputLength - 1) { // TODO: Do not check the proximity if EditDistance exceeds the threshold @@ -343,7 +343,7 @@ Correction::CorrectionType Correction::processCharAndCalcState( mDistances[mOutputIndex] = mProximityInfoState.getNormalizedSquaredDistance( mInputIndex, proximityIndex); } - if (!isQuote(c)) { + if (!isSingleQuote(c)) { incrementInputIndex(); incremented = true; } @@ -790,7 +790,7 @@ int Correction::RankingAlgorithm::calculateFinalProbability(const int inputIndex static const float MIN = 0.3f; static const float R1 = NEUTRAL_SCORE_SQUARED_RADIUS; static const float R2 = HALF_SCORE_SQUARED_RADIUS; - const float x = (float)squaredDistance + const float x = static_cast<float>(squaredDistance) / ProximityInfoState::NORMALIZED_SQUARED_DISTANCE_SCALING_FACTOR; const float factor = max((x < R1) ? (A * (R1 - x) + B * x) / R1 @@ -1132,13 +1132,14 @@ float Correction::RankingAlgorithm::calcNormalizedScore(const unsigned short *be } const float maxScore = score >= S_INT_MAX ? S_INT_MAX : MAX_INITIAL_SCORE - * pow((float)TYPED_LETTER_MULTIPLIER, - (float)min(beforeLength, afterLength - spaceCount)) * FULL_WORD_MULTIPLIER; + * pow(static_cast<float>(TYPED_LETTER_MULTIPLIER), + static_cast<float>(min(beforeLength, afterLength - spaceCount))) + * FULL_WORD_MULTIPLIER; // add a weight based on edit distance. // distance <= max(afterLength, beforeLength) == afterLength, // so, 0 <= distance / afterLength <= 1 - const float weight = 1.0 - (float) distance / afterLength; + const float weight = 1.0f - static_cast<float>(distance) / static_cast<float>(afterLength); return (score / maxScore) * weight; } } // namespace latinime diff --git a/native/jni/src/correction.h b/native/jni/src/correction.h index a7028acf0..81623a46b 100644 --- a/native/jni/src/correction.h +++ b/native/jni/src/correction.h @@ -197,7 +197,7 @@ class Correction { inline void incrementInputIndex(); inline void incrementOutputIndex(); inline void startToTraverseAllNodes(); - inline bool isQuote(const unsigned short c); + inline bool isSingleQuote(const unsigned short c); inline CorrectionType processSkipChar( const int32_t c, const bool isTerminal, const bool inputIndexIncremented); inline CorrectionType processUnrelatedCorrectionType(); diff --git a/native/jni/src/defines.h b/native/jni/src/defines.h index e172b0441..2b30f3c96 100644 --- a/native/jni/src/defines.h +++ b/native/jni/src/defines.h @@ -88,7 +88,7 @@ static inline void prof_out(void) { AKLOGI("Error: You must call PROF_OPEN before PROF_CLOSE."); } AKLOGI("Total time is %6.3f ms.", - profile_buf[PROF_BUF_SIZE - 1] * 1000 / (float)CLOCKS_PER_SEC); + profile_buf[PROF_BUF_SIZE - 1] * 1000.0f / static_cast<float>(CLOCKS_PER_SEC)); float all = 0; for (int i = 0; i < PROF_BUF_SIZE - 1; ++i) { all += profile_buf[i]; @@ -98,7 +98,8 @@ static inline void prof_out(void) { if (profile_buf[i]) { AKLOGI("(%d): Used %4.2f%%, %8.4f ms. Called %d times.", i, (profile_buf[i] * 100 / all), - profile_buf[i] * 1000 / (float)CLOCKS_PER_SEC, profile_counter[i]); + profile_buf[i] * 1000.0f / static_cast<float>(CLOCKS_PER_SEC), + profile_counter[i]); } } } diff --git a/native/jni/src/dictionary.cpp b/native/jni/src/dictionary.cpp index b9f65346e..6c722117d 100644 --- a/native/jni/src/dictionary.cpp +++ b/native/jni/src/dictionary.cpp @@ -16,10 +16,14 @@ #define LOG_TAG "LatinIME: dictionary.cpp" +#include <stdint.h> + +#include "bigram_dictionary.h" #include "binary_format.h" #include "defines.h" #include "dictionary.h" #include "gesture_decoder_wrapper.h" +#include "unigram_dictionary.h" namespace latinime { @@ -52,6 +56,37 @@ Dictionary::~Dictionary() { delete mGestureDecoder; } +int Dictionary::getSuggestions(ProximityInfo *proximityInfo, int *xcoordinates, int *ycoordinates, + int *times, int *pointerIds, int *codes, int codesSize, int *prevWordChars, + int prevWordLength, int commitPoint, bool isGesture, + bool useFullEditDistance, unsigned short *outWords, + int *frequencies, int *spaceIndices, int *outputTypes) { + int result = 0; + if (isGesture) { + mGestureDecoder->setPrevWord(prevWordChars, prevWordLength); + result = mGestureDecoder->getSuggestions(proximityInfo, xcoordinates, ycoordinates, + times, pointerIds, codes, codesSize, commitPoint, + outWords, frequencies, spaceIndices, outputTypes); + return result; + } else { + std::map<int, int> bigramMap; + uint8_t bigramFilter[BIGRAM_FILTER_BYTE_SIZE]; + mBigramDictionary->fillBigramAddressToFrequencyMapAndFilter(prevWordChars, + prevWordLength, &bigramMap, bigramFilter); + result = mUnigramDictionary->getSuggestions(proximityInfo, xcoordinates, + ycoordinates, codes, codesSize, &bigramMap, bigramFilter, + useFullEditDistance, outWords, frequencies, outputTypes); + return result; + } +} + +int Dictionary::getBigrams(const int32_t *word, int length, int *codes, int codesSize, + unsigned short *outWords, int *frequencies, int *outputTypes) const { + if (length <= 0) return 0; + return mBigramDictionary->getBigrams(word, length, codes, codesSize, outWords, frequencies, + outputTypes); +} + int Dictionary::getFrequency(const int32_t *word, int length) const { return mUnigramDictionary->getFrequency(word, length); } diff --git a/native/jni/src/dictionary.h b/native/jni/src/dictionary.h index f625813a6..ab238c824 100644 --- a/native/jni/src/dictionary.h +++ b/native/jni/src/dictionary.h @@ -17,18 +17,17 @@ #ifndef LATINIME_DICTIONARY_H #define LATINIME_DICTIONARY_H -#include <map> +#include <stdint.h> -#include "bigram_dictionary.h" -#include "char_utils.h" #include "defines.h" -#include "incremental_decoder_interface.h" -#include "proximity_info.h" -#include "unigram_dictionary.h" -#include "words_priority_queue_pool.h" namespace latinime { +class BigramDictionary; +class IncrementalDecoderInterface; +class ProximityInfo; +class UnigramDictionary; + class Dictionary { public: // Taken from SuggestedWords.java @@ -49,32 +48,10 @@ class Dictionary { int *times, int *pointerIds, int *codes, int codesSize, int *prevWordChars, int prevWordLength, int commitPoint, bool isGesture, bool useFullEditDistance, unsigned short *outWords, - int *frequencies, int *spaceIndices, int *outputTypes) { - int result = 0; - if (isGesture) { - mGestureDecoder->setPrevWord(prevWordChars, prevWordLength); - result = mGestureDecoder->getSuggestions(proximityInfo, xcoordinates, ycoordinates, - times, pointerIds, codes, codesSize, commitPoint, - outWords, frequencies, spaceIndices, outputTypes); - return result; - } else { - std::map<int, int> bigramMap; - uint8_t bigramFilter[BIGRAM_FILTER_BYTE_SIZE]; - mBigramDictionary->fillBigramAddressToFrequencyMapAndFilter(prevWordChars, - prevWordLength, &bigramMap, bigramFilter); - result = mUnigramDictionary->getSuggestions(proximityInfo, xcoordinates, - ycoordinates, codes, codesSize, &bigramMap, bigramFilter, - useFullEditDistance, outWords, frequencies, outputTypes); - return result; - } - } + int *frequencies, int *spaceIndices, int *outputTypes); int getBigrams(const int32_t *word, int length, int *codes, int codesSize, - unsigned short *outWords, int *frequencies, int *outputTypes) const { - if (length <= 0) return 0; - return mBigramDictionary->getBigrams(word, length, codes, codesSize, outWords, frequencies, - outputTypes); - } + unsigned short *outWords, int *frequencies, int *outputTypes) const; int getFrequency(const int32_t *word, int length) const; bool isValidBigram(const int32_t *word1, int length1, const int32_t *word2, int length2) const; @@ -82,7 +59,7 @@ class Dictionary { int getDictSize() const { return mDictSize; } int getMmapFd() const { return mMmapFd; } int getDictBufAdjust() const { return mDictBufAdjust; } - ~Dictionary(); + virtual ~Dictionary(); // public static utility methods // static inline methods should be defined in the header file diff --git a/native/jni/src/proximity_info.cpp b/native/jni/src/proximity_info.cpp index 53ae1ea27..cee408d46 100644 --- a/native/jni/src/proximity_info.cpp +++ b/native/jni/src/proximity_info.cpp @@ -22,10 +22,9 @@ #define LOG_TAG "LatinIME: proximity_info.cpp" #include "additional_proximity_chars.h" +#include "char_utils.h" #include "defines.h" -#include "dictionary.h" #include "proximity_info.h" -#include "proximity_info_state.h" namespace latinime { @@ -216,7 +215,7 @@ int ProximityInfo::getKeyIndex(const int c) const { void ProximityInfo::getCenters(int *centerXs, int *centerYs, int *codeToKeyIndex, int *keyToCodeIndex, int *keyCount, int *keyWidth) const { *keyCount = KEY_COUNT; - *keyWidth = sqrt((float)MOST_COMMON_KEY_WIDTH_SQUARE); + *keyWidth = sqrt(static_cast<float>(MOST_COMMON_KEY_WIDTH_SQUARE)); for (int i = 0; i < KEY_COUNT; ++i) { const int code = mKeyCharCodes[i]; diff --git a/native/jni/src/proximity_info_state.cpp b/native/jni/src/proximity_info_state.cpp index 04a201712..86c8a697a 100644 --- a/native/jni/src/proximity_info_state.cpp +++ b/native/jni/src/proximity_info_state.cpp @@ -14,14 +14,12 @@ * limitations under the License. */ -#include <cassert> +#include <cstring> // for memset() #include <stdint.h> #define LOG_TAG "LatinIME: proximity_info_state.cpp" -#include "additional_proximity_chars.h" #include "defines.h" -#include "dictionary.h" #include "proximity_info.h" #include "proximity_info_state.h" @@ -131,8 +129,8 @@ float ProximityInfoState::calculateSquaredDistanceFromSweetSpotCenter( const int keyIndex, const int inputIndex) const { const float sweetSpotCenterX = mProximityInfo->getSweetSpotCenterXAt(keyIndex); const float sweetSpotCenterY = mProximityInfo->getSweetSpotCenterYAt(keyIndex); - const float inputX = (float)mInputXCoordinates[inputIndex]; - const float inputY = (float)mInputYCoordinates[inputIndex]; + const float inputX = static_cast<float>(mInputXCoordinates[inputIndex]); + const float inputY = static_cast<float>(mInputYCoordinates[inputIndex]); return square(inputX - sweetSpotCenterX) + square(inputY - sweetSpotCenterY); } } // namespace latinime diff --git a/native/jni/src/proximity_info_state.h b/native/jni/src/proximity_info_state.h index 456e3ec08..76d45516e 100644 --- a/native/jni/src/proximity_info_state.h +++ b/native/jni/src/proximity_info_state.h @@ -17,11 +17,9 @@ #ifndef LATINIME_PROXIMITY_INFO_STATE_H #define LATINIME_PROXIMITY_INFO_STATE_H -#include <cassert> #include <stdint.h> #include <string> -#include "additional_proximity_chars.h" #include "char_utils.h" #include "defines.h" diff --git a/native/jni/src/unigram_dictionary.cpp b/native/jni/src/unigram_dictionary.cpp index efcf512bb..b6b0210cc 100644 --- a/native/jni/src/unigram_dictionary.cpp +++ b/native/jni/src/unigram_dictionary.cpp @@ -19,13 +19,15 @@ #define LOG_TAG "LatinIME: unigram_dictionary.cpp" +#include "binary_format.h" #include "char_utils.h" #include "defines.h" #include "dictionary.h" -#include "unigram_dictionary.h" - -#include "binary_format.h" +#include "proximity_info.h" #include "terminal_attributes.h" +#include "unigram_dictionary.h" +#include "words_priority_queue.h" +#include "words_priority_queue_pool.h" namespace latinime { diff --git a/native/jni/src/words_priority_queue.h b/native/jni/src/words_priority_queue.h index b24cf8470..c0dedb59d 100644 --- a/native/jni/src/words_priority_queue.h +++ b/native/jni/src/words_priority_queue.h @@ -18,7 +18,6 @@ #define LATINIME_WORDS_PRIORITY_QUEUE_H #include <cstring> // for memcpy() -#include <iostream> #include <queue> #include "correction.h" |