diff options
113 files changed, 956 insertions, 203 deletions
diff --git a/java/res/values-af/strings-talkback-descriptions.xml b/java/res/values-af/strings-talkback-descriptions.xml index aee891bf0..3c2cb63ef 100644 --- a/java/res/values-af/strings-talkback-descriptions.xml +++ b/java/res/values-af/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Geen teks is ingevoer nie"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> korrigeer <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> na <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> voer outokorrigering uit"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Sleutelkode %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Meer simbole"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-am/strings-talkback-descriptions.xml b/java/res/values-am/strings-talkback-descriptions.xml index aab15878d..2e1243a1f 100644 --- a/java/res/values-am/strings-talkback-descriptions.xml +++ b/java/res/values-am/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"ምንም ፅሁፍ አልገባም"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>ን ወደ <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> ያርመዋል"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> የራስ ሰር እርማት ያከናውናል"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"የቁልፍ ኮድ %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"ቀይር"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"ተጨማሪ ምልክቶች"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-ar/strings-talkback-descriptions.xml b/java/res/values-ar/strings-talkback-descriptions.xml index 1e5ec4494..0ca701bbe 100644 --- a/java/res/values-ar/strings-talkback-descriptions.xml +++ b/java/res/values-ar/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"لم يتم إدخال نص"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> لتصحيح <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> إلى <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> لإجراء التصحيح التلقائي"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"رمز المفتاح %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"المزيد من الرموز"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-az-rAZ/strings-emoji-descriptions.xml b/java/res/values-az-rAZ/strings-emoji-descriptions.xml index a9bfb7763..b6c259f73 100644 --- a/java/res/values-az-rAZ/strings-emoji-descriptions.xml +++ b/java/res/values-az-rAZ/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"Müəllif hüququ nişanı"</string> diff --git a/java/res/values-az-rAZ/strings-talkback-descriptions.xml b/java/res/values-az-rAZ/strings-talkback-descriptions.xml index 3a0596e56..5dd303aec 100644 --- a/java/res/values-az-rAZ/strings-talkback-descriptions.xml +++ b/java/res/values-az-rAZ/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Mətn daxil edilməyib"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> sözünü <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> sözü ilə əvəzləyərək düzəldir"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> avto-korreksiyanı həyata keçirir"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"%d açar kodu"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Sürüşdürmə"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Daha çox simvol"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Sürüşdürmə"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-bg/strings-talkback-descriptions.xml b/java/res/values-bg/strings-talkback-descriptions.xml index 3f0ac83fc..50025b535 100644 --- a/java/res/values-bg/strings-talkback-descriptions.xml +++ b/java/res/values-bg/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Няма въведен текст"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"„<xliff:g id="KEY_NAME">%1$s</xliff:g>“ коригира „<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>“ на „<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>“"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"„<xliff:g id="KEY_NAME">%1$s</xliff:g>“ изпълнява автоматично коригиране"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Код на клавишa %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Още символи"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-ca/strings-talkback-descriptions.xml b/java/res/values-ca/strings-talkback-descriptions.xml index 4097d9375..3127feb1c 100644 --- a/java/res/values-ca/strings-talkback-descriptions.xml +++ b/java/res/values-ca/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"No s\'ha introduït cap text."</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corregeix <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> per <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>."</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> executa la correcció automàtica."</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Clau de codi %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Maj"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Més símbols"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Maj"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-cs/strings-talkback-descriptions.xml b/java/res/values-cs/strings-talkback-descriptions.xml index dae9b7886..a80957929 100644 --- a/java/res/values-cs/strings-talkback-descriptions.xml +++ b/java/res/values-cs/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Není zadán žádný text"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"Klávesou <xliff:g id="KEY_NAME">%1$s</xliff:g> opravíte <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> na <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Klávesou <xliff:g id="KEY_NAME">%1$s</xliff:g> provedete automatickou opravu"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Kód klávesy %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Další symboly"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-da/strings-talkback-descriptions.xml b/java/res/values-da/strings-talkback-descriptions.xml index 53326b344..ffcdb442c 100644 --- a/java/res/values-da/strings-talkback-descriptions.xml +++ b/java/res/values-da/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Der er ingen indtastet tekst"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> retter <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> til <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> udfører automatisk stavekontrol"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Tastekode %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Flere symboler"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift-tast"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-de/strings-talkback-descriptions.xml b/java/res/values-de/strings-talkback-descriptions.xml index f926b9a59..e2fe2b7c5 100644 --- a/java/res/values-de/strings-talkback-descriptions.xml +++ b/java/res/values-de/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Kein Text eingegeben"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"Mit <xliff:g id="KEY_NAME">%1$s</xliff:g> wird \"<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>\" in \"<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>\" geändert."</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Mit <xliff:g id="KEY_NAME">%1$s</xliff:g> erfolgt eine Autokorrektur."</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Tastencode %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Umschalttaste"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Weitere Symbole"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift-Taste"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-el/strings-talkback-descriptions.xml b/java/res/values-el/strings-talkback-descriptions.xml index 3b990ad3f..60a6d174a 100644 --- a/java/res/values-el/strings-talkback-descriptions.xml +++ b/java/res/values-el/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Δεν υπάρχει κείμενο"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> διορθώνει το <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> σε <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> εκτελεί αυτόματη διόρθωση"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Κωδικός πλήκτρου %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Περισσότερα σύμβολα"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-en-rGB/strings-talkback-descriptions.xml b/java/res/values-en-rGB/strings-talkback-descriptions.xml index 225df1ad6..0f726ddaf 100644 --- a/java/res/values-en-rGB/strings-talkback-descriptions.xml +++ b/java/res/values-en-rGB/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"No text entered"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corrects <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> to <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> performs auto-correction"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Key code %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"More symbols"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-en-rIN/strings-talkback-descriptions.xml b/java/res/values-en-rIN/strings-talkback-descriptions.xml index 225df1ad6..0f726ddaf 100644 --- a/java/res/values-en-rIN/strings-talkback-descriptions.xml +++ b/java/res/values-en-rIN/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"No text entered"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corrects <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> to <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> performs auto-correction"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Key code %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"More symbols"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-es-rUS/strings-talkback-descriptions.xml b/java/res/values-es-rUS/strings-talkback-descriptions.xml index bdf2babbd..52f791631 100644 --- a/java/res/values-es-rUS/strings-talkback-descriptions.xml +++ b/java/res/values-es-rUS/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"No se ingresó texto."</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corrige <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> por <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>."</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corrige automáticamente."</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Clave de código %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Mayúsculas"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Más símbolos"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Mayúscula"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-es/strings-talkback-descriptions.xml b/java/res/values-es/strings-talkback-descriptions.xml index 9cc6f5de4..86c970f81 100644 --- a/java/res/values-es/strings-talkback-descriptions.xml +++ b/java/res/values-es/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"No se ha introducido texto"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corrige <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> a <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corregirá la palabra automáticamente"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Código del teclado: %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Mayús"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Más símbolos"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Mayús"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-et-rEE/strings-talkback-descriptions.xml b/java/res/values-et-rEE/strings-talkback-descriptions.xml index 092298730..2a7493e71 100644 --- a/java/res/values-et-rEE/strings-talkback-descriptions.xml +++ b/java/res/values-et-rEE/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Teksti ei ole sisestatud"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> parandab sõna <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> järgmiselt: <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> teeb automaatse paranduse"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Klahvi kood: %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Tõstuklahv"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Rohkem sümboleid"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Tõstuklahv"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-fa/strings-talkback-descriptions.xml b/java/res/values-fa/strings-talkback-descriptions.xml index bc3a5bf7c..b36b88a6a 100644 --- a/java/res/values-fa/strings-talkback-descriptions.xml +++ b/java/res/values-fa/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"نوشتاری وارد نشده است"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g>، <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> را به <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> تصحیح میکند"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> تصحیح خودکار را انجام میدهد"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"کد کلید %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"نمادهای بیشتر"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"تبدیل"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-fi/strings-emoji-descriptions.xml b/java/res/values-fi/strings-emoji-descriptions.xml index 74f8a091d..ad08bbda2 100644 --- a/java/res/values-fi/strings-emoji-descriptions.xml +++ b/java/res/values-fi/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"Copyright-merkki"</string> diff --git a/java/res/values-fi/strings-talkback-descriptions.xml b/java/res/values-fi/strings-talkback-descriptions.xml index ffc7eef33..e6050fb67 100644 --- a/java/res/values-fi/strings-talkback-descriptions.xml +++ b/java/res/values-fi/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Ei kirjoitettua tekstiä"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> korjaa sanan <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> sanaksi <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> suorittaa automaattisen korjauksen"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Näppäimen koodi %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Vaihto"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Lisää symboleita"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Vaihto"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-fr-rCA/strings-talkback-descriptions.xml b/java/res/values-fr-rCA/strings-talkback-descriptions.xml index 2ddffc86d..263792c66 100644 --- a/java/res/values-fr-rCA/strings-talkback-descriptions.xml +++ b/java/res/values-fr-rCA/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Aucun texte entré"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"La touche <xliff:g id="KEY_NAME">%1$s</xliff:g> permet de remplacer <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> par <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"La touche <xliff:g id="KEY_NAME">%1$s</xliff:g> permet d\'effectuer une correction automatique"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Code touche %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Majuscule"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Autres symboles"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Majuscule"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-fr/strings-talkback-descriptions.xml b/java/res/values-fr/strings-talkback-descriptions.xml index d0b5c3bd5..37904262e 100644 --- a/java/res/values-fr/strings-talkback-descriptions.xml +++ b/java/res/values-fr/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Aucun texte saisi"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"La touche <xliff:g id="KEY_NAME">%1$s</xliff:g> permet de remplacer \"<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>\" par \"<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>\"."</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"La touche <xliff:g id="KEY_NAME">%1$s</xliff:g> permet d\'effectuer une correction automatique."</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Code touche %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Maj"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Autres symboles"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Maj"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-hi/strings-talkback-descriptions.xml b/java/res/values-hi/strings-talkback-descriptions.xml index 582314e93..9747aeb34 100644 --- a/java/res/values-hi/strings-talkback-descriptions.xml +++ b/java/res/values-hi/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"कोई पाठ नहीं डाला गया"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> को सुधार कर <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> करता है"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> स्वत: सुधार करता है"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"कुंजी कोड %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"शिफ़्ट"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"और प्रतीक"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"शिफ़्ट"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-hr/strings-talkback-descriptions.xml b/java/res/values-hr/strings-talkback-descriptions.xml index 75d168447..a5c4dfaee 100644 --- a/java/res/values-hr/strings-talkback-descriptions.xml +++ b/java/res/values-hr/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Nije unesen tekst"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ispravlja <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> u <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> vrši samoispravljanje"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Kôd tipke %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Više simbola"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-hu/strings-talkback-descriptions.xml b/java/res/values-hu/strings-talkback-descriptions.xml index a03895b25..1b514b2d4 100644 --- a/java/res/values-hu/strings-talkback-descriptions.xml +++ b/java/res/values-hu/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Nincs szöveg megadva"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> billentyű – <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> szóra javítja a következőt: <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> billentyű automatikus javítást végez"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Billentyűkód: %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"További szimbólumok"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-hy-rAM/strings-emoji-descriptions.xml b/java/res/values-hy-rAM/strings-emoji-descriptions.xml index 21a439fa5..f41f2fc96 100644 --- a/java/res/values-hy-rAM/strings-emoji-descriptions.xml +++ b/java/res/values-hy-rAM/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"Հեղինակային իրավունքի նշան"</string> diff --git a/java/res/values-hy-rAM/strings-talkback-descriptions.xml b/java/res/values-hy-rAM/strings-talkback-descriptions.xml index 7df498ee7..d9c9b6d82 100644 --- a/java/res/values-hy-rAM/strings-talkback-descriptions.xml +++ b/java/res/values-hy-rAM/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Տեքստ չի մուտքագրվել"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g>-ը շտկում է <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>-ը՝ դարձնելով <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ստեղնը ինքնաշտկում է կատարում"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Բանալու կոդը՝ %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Հավելյալ նշաններ"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-in/strings-talkback-descriptions.xml b/java/res/values-in/strings-talkback-descriptions.xml index 1f206ee85..07c5bf749 100644 --- a/java/res/values-in/strings-talkback-descriptions.xml +++ b/java/res/values-in/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Tidak ada teks yang dimasukkan"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> mengoreksi <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> menjadi <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> melakukan koreksi otomatis"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Kode tombol %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Simbol lainnya"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-it/strings-talkback-descriptions.xml b/java/res/values-it/strings-talkback-descriptions.xml index 3b4cca377..e48f7715e 100644 --- a/java/res/values-it/strings-talkback-descriptions.xml +++ b/java/res/values-it/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Nessun testo inserito"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corregge <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> con <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> esegue la correzione automatica"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Codice tasto %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Maiusc"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Altri simboli"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Maiusc"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-iw/strings-talkback-descriptions.xml b/java/res/values-iw/strings-talkback-descriptions.xml index d6c2878cd..f3f07af03 100644 --- a/java/res/values-iw/strings-talkback-descriptions.xml +++ b/java/res/values-iw/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"לא הוזן טקסט"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> מתקן את <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> ל-<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> מבצע תיקון אוטומטי"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"קוד מקש %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"סמלים נוספים"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-ja/strings-talkback-descriptions.xml b/java/res/values-ja/strings-talkback-descriptions.xml index b218b49ba..757b83209 100644 --- a/java/res/values-ja/strings-talkback-descriptions.xml +++ b/java/res/values-ja/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"テキストが入力されていません"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g>は<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>を<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>に修正します"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g>で自動修正が実行されます"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"キーコード: %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"記号拡張"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-ka-rGE/strings-emoji-descriptions.xml b/java/res/values-ka-rGE/strings-emoji-descriptions.xml index 81c6661ef..1840efc10 100644 --- a/java/res/values-ka-rGE/strings-emoji-descriptions.xml +++ b/java/res/values-ka-rGE/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"საავტორო უფლების ნიშანი"</string> diff --git a/java/res/values-ka-rGE/strings-talkback-descriptions.xml b/java/res/values-ka-rGE/strings-talkback-descriptions.xml index 147031664..daf818005 100644 --- a/java/res/values-ka-rGE/strings-talkback-descriptions.xml +++ b/java/res/values-ka-rGE/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"ტექსტი შეყვანილი არ არის"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> შეასწორებს <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>-ს <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>-ად"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ასრულებს ავტოკორექციას"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"კლავიატურის კოდი %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"დამატებითი სიმბოლოები"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-km-rKH/strings-emoji-descriptions.xml b/java/res/values-km-rKH/strings-emoji-descriptions.xml index c81e5e1ca..9f1d9973e 100644 --- a/java/res/values-km-rKH/strings-emoji-descriptions.xml +++ b/java/res/values-km-rKH/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"សញ្ញារក្សាសិទ្ធ"</string> diff --git a/java/res/values-km-rKH/strings-talkback-descriptions.xml b/java/res/values-km-rKH/strings-talkback-descriptions.xml index bb8c38376..67934c702 100644 --- a/java/res/values-km-rKH/strings-talkback-descriptions.xml +++ b/java/res/values-km-rKH/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"គ្មានអត្ថបទបានបញ្ចូល"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> កែ <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> ទៅជា <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> អនុវត្តការកែស្វ័យប្រវត្តិ"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"កូដគ្រាប់ចុច %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"និមិត្តសញ្ញាច្រើនទៀត"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-ko/strings-talkback-descriptions.xml b/java/res/values-ko/strings-talkback-descriptions.xml index 459571627..117c09539 100644 --- a/java/res/values-ko/strings-talkback-descriptions.xml +++ b/java/res/values-ko/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"입력한 텍스트 없음"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g>을(를) 누르면 <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>을(를) <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>(으)로 수정합니다."</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g>을(를) 누르면 자동 수정됩니다."</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"키 코드 %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift 키"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"기호 더보기"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift 키"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-lo-rLA/strings-emoji-descriptions.xml b/java/res/values-lo-rLA/strings-emoji-descriptions.xml index ae66e1474..83a702e95 100644 --- a/java/res/values-lo-rLA/strings-emoji-descriptions.xml +++ b/java/res/values-lo-rLA/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"ເຄື່ອງໝາຍລິຂະສິດ"</string> diff --git a/java/res/values-lo-rLA/strings-talkback-descriptions.xml b/java/res/values-lo-rLA/strings-talkback-descriptions.xml index 9d07735b2..4a63b02c7 100644 --- a/java/res/values-lo-rLA/strings-talkback-descriptions.xml +++ b/java/res/values-lo-rLA/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"ບໍ່ມີການໃສ່ຂໍ້ຄວາມ"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ແກ້ໄຂ <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> ເປັນ <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ດຳເນີນການແກ້ໄຂອັດຕະໂນມັດ"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"ລະຫັດກະແຈ %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"ສັນຍາລັກເພີ່ມເຕີມ"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-lt/strings-talkback-descriptions.xml b/java/res/values-lt/strings-talkback-descriptions.xml index a5cb62c21..8baf25b56 100644 --- a/java/res/values-lt/strings-talkback-descriptions.xml +++ b/java/res/values-lt/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Nėra įvesto teksto"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> pataiso <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> į <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> atlieka automatinį taisymą"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Klavišo kodas %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Klavišas „Shift“"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Daugiau simbolių"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Klavišas „Shift“"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-lv/strings-talkback-descriptions.xml b/java/res/values-lv/strings-talkback-descriptions.xml index 544fe9a4d..bd15c3fce 100644 --- a/java/res/values-lv/strings-talkback-descriptions.xml +++ b/java/res/values-lv/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Teksts nav ievadīts"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"Nospiežot taustiņu <xliff:g id="KEY_NAME">%1$s</xliff:g>, “<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>” tiek labots uz “<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>”."</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Taustiņam <xliff:g id="KEY_NAME">%1$s</xliff:g> ir automātiskas labošanas funkcija."</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Taustiņu kods %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Pārslēgšanas taustiņš"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Citi simboli"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Pārslēgšanas taustiņš"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-mn-rMN/strings-emoji-descriptions.xml b/java/res/values-mn-rMN/strings-emoji-descriptions.xml index 048672b10..f09a51dd9 100644 --- a/java/res/values-mn-rMN/strings-emoji-descriptions.xml +++ b/java/res/values-mn-rMN/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"Зохиогчийн эрхийн тэмдэг"</string> diff --git a/java/res/values-mn-rMN/strings-talkback-descriptions.xml b/java/res/values-mn-rMN/strings-talkback-descriptions.xml index 982495044..c28ac209a 100644 --- a/java/res/values-mn-rMN/strings-talkback-descriptions.xml +++ b/java/res/values-mn-rMN/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Текст оруулаагүй"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> нь <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>-г <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> руу залруулна"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> авто-залруулалт хийдэг"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Товчийн код %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Шифт"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Өөр тэмдэгтүүд"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Шифт"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-ms-rMY/strings-emoji-descriptions.xml b/java/res/values-ms-rMY/strings-emoji-descriptions.xml index c945c81fb..1595a99a7 100644 --- a/java/res/values-ms-rMY/strings-emoji-descriptions.xml +++ b/java/res/values-ms-rMY/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"Tanda hak cipta"</string> diff --git a/java/res/values-ms-rMY/strings-talkback-descriptions.xml b/java/res/values-ms-rMY/strings-talkback-descriptions.xml index 842a2bf69..ad0a62793 100644 --- a/java/res/values-ms-rMY/strings-talkback-descriptions.xml +++ b/java/res/values-ms-rMY/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Tiada teks dimasukkan"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> membetulkan <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> menjadi <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> melakukan auto pembetulan"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Kod kunci %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Lagi simbol"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-nb/strings-talkback-descriptions.xml b/java/res/values-nb/strings-talkback-descriptions.xml index 27c68fdc4..899491afb 100644 --- a/java/res/values-nb/strings-talkback-descriptions.xml +++ b/java/res/values-nb/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Ingen tekst er skrevet inn"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> retter <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> til <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> utfører automatisk retting"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Tastaturkode %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Flere symboler"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-ne-rNP/strings-emoji-descriptions.xml b/java/res/values-ne-rNP/strings-emoji-descriptions.xml index 3cf2971c8..a3419b86d 100644 --- a/java/res/values-ne-rNP/strings-emoji-descriptions.xml +++ b/java/res/values-ne-rNP/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"प्रतिलिपि अधिकार चिन्ह"</string> diff --git a/java/res/values-ne-rNP/strings-talkback-descriptions.xml b/java/res/values-ne-rNP/strings-talkback-descriptions.xml index c8e5a7529..548e21a88 100644 --- a/java/res/values-ne-rNP/strings-talkback-descriptions.xml +++ b/java/res/values-ne-rNP/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"कुनै पाठ प्रविष्टि गरिएको छैन"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ले <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> लाई <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> मा सच्याउँछ"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ले स्वतः सच्याउने गर्छ"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"कुञ्जी कोड %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"सिफ्ट"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"थप प्रतीकहरु"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"सिफ्ट"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-nl/strings-talkback-descriptions.xml b/java/res/values-nl/strings-talkback-descriptions.xml index a7fe2073d..4393e568a 100644 --- a/java/res/values-nl/strings-talkback-descriptions.xml +++ b/java/res/values-nl/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Geen tekst ingevoerd"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"Met <xliff:g id="KEY_NAME">%1$s</xliff:g> wordt <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> gecorrigeerd naar <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Met <xliff:g id="KEY_NAME">%1$s</xliff:g> voert u automatische correctie uit"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Toetscode %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Meer symbolen"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-pl/strings-talkback-descriptions.xml b/java/res/values-pl/strings-talkback-descriptions.xml index 1ec691e46..9a97b2642 100644 --- a/java/res/values-pl/strings-talkback-descriptions.xml +++ b/java/res/values-pl/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Nie wpisano tekstu"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> poprawia <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> na <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> wykonuje autokorektę"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Kod klawisza: %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Więcej symboli"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-pt-rPT/strings-talkback-descriptions.xml b/java/res/values-pt-rPT/strings-talkback-descriptions.xml index 854136479..fac1969c1 100644 --- a/java/res/values-pt-rPT/strings-talkback-descriptions.xml +++ b/java/res/values-pt-rPT/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Nenhum texto digitado"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corrige <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> para <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> executa a correção automática"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Código da tecla %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Mais símbolos"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-pt/strings-emoji-descriptions.xml b/java/res/values-pt/strings-emoji-descriptions.xml index 1c6ad71f9..84e2cc08c 100644 --- a/java/res/values-pt/strings-emoji-descriptions.xml +++ b/java/res/values-pt/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"Símbolo de copyright"</string> diff --git a/java/res/values-pt/strings-talkback-descriptions.xml b/java/res/values-pt/strings-talkback-descriptions.xml index 7ad42ad19..e026dbab1 100644 --- a/java/res/values-pt/strings-talkback-descriptions.xml +++ b/java/res/values-pt/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Nenhum texto digitado"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corrige <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> para <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> realiza correção automática"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Código de tecla %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Mais símbolos"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-ro/strings-emoji-descriptions.xml b/java/res/values-ro/strings-emoji-descriptions.xml index a4a1a9527..f44a0b974 100644 --- a/java/res/values-ro/strings-emoji-descriptions.xml +++ b/java/res/values-ro/strings-emoji-descriptions.xml @@ -18,6 +18,11 @@ */ --> +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="spoken_emoji_00A9" msgid="2859822817116803638">"Semnul Copyright"</string> diff --git a/java/res/values-ro/strings-talkback-descriptions.xml b/java/res/values-ro/strings-talkback-descriptions.xml index 40821758b..34bfd8fc8 100644 --- a/java/res/values-ro/strings-talkback-descriptions.xml +++ b/java/res/values-ro/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Nu a fost introdus text"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corectează <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> cu <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> efectuează corectare automată"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Tasta cu codul %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Mai multe simboluri"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-ru/strings-talkback-descriptions.xml b/java/res/values-ru/strings-talkback-descriptions.xml index 09fbb454c..d79e4b8f0 100644 --- a/java/res/values-ru/strings-talkback-descriptions.xml +++ b/java/res/values-ru/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Текст не введен."</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"При нажатии клавиши <xliff:g id="KEY_NAME">%1$s</xliff:g> слово <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> будет исправлено на <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>."</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Клавиша <xliff:g id="KEY_NAME">%1$s</xliff:g> выполняет автоисправление."</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Код клавиши %d."</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Клавиша верхнего регистра."</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Дополнительные символы."</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Клавиша верхнего регистра."</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-sk/strings-talkback-descriptions.xml b/java/res/values-sk/strings-talkback-descriptions.xml index 68bd175ae..e2f0eb191 100644 --- a/java/res/values-sk/strings-talkback-descriptions.xml +++ b/java/res/values-sk/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Nie je zadaný žiadny text"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"Klávesom <xliff:g id="KEY_NAME">%1$s</xliff:g> opravíte slovo <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> na <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Klávesom <xliff:g id="KEY_NAME">%1$s</xliff:g> spustíte automatické opravy"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Kód klávesa %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Ďalšie symboly"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-sl/strings-talkback-descriptions.xml b/java/res/values-sl/strings-talkback-descriptions.xml index ec6289b53..92ccc6856 100644 --- a/java/res/values-sl/strings-talkback-descriptions.xml +++ b/java/res/values-sl/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Ni vnesenega besedila"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"Tipka <xliff:g id="KEY_NAME">%1$s</xliff:g> popravi <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> v <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Tipka <xliff:g id="KEY_NAME">%1$s</xliff:g> izvede samopopravek"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Koda tipke %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Več simbolov"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-sr/strings-talkback-descriptions.xml b/java/res/values-sr/strings-talkback-descriptions.xml index f8d1eb43c..d14cccfbc 100644 --- a/java/res/values-sr/strings-talkback-descriptions.xml +++ b/java/res/values-sr/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Текст није унет"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> исправља <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> у <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> обавља аутоматско исправљање"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Кôд тастера %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Још симбола"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-sv/strings-talkback-descriptions.xml b/java/res/values-sv/strings-talkback-descriptions.xml index cb241c8af..fd7a43f65 100644 --- a/java/res/values-sv/strings-talkback-descriptions.xml +++ b/java/res/values-sv/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Ingen text har angetts"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"Om du trycker på <xliff:g id="KEY_NAME">%1$s</xliff:g> rättas <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> till <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Om du trycker på <xliff:g id="KEY_NAME">%1$s</xliff:g> utförs autokorrigering"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Nyckelkod %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Skift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Fler symboler"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Skift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-sw/strings-talkback-descriptions.xml b/java/res/values-sw/strings-talkback-descriptions.xml index f03287036..a7447cec4 100644 --- a/java/res/values-sw/strings-talkback-descriptions.xml +++ b/java/res/values-sw/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Hakuna maandishi yaliyoingizwa"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> hurekebisha <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> kuwa <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> hufanya marekebisho otomatiki"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Msimbo wa kitufe %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Alama zaidi"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-th/strings-talkback-descriptions.xml b/java/res/values-th/strings-talkback-descriptions.xml index 48b21b72b..780252074 100644 --- a/java/res/values-th/strings-talkback-descriptions.xml +++ b/java/res/values-th/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"ไม่มีข้อความ"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> แก้ไข <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> เป็น <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ทำการแก้ไขอัตโนมัติ"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"รหัสคีย์ %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"สัญลักษณ์เพิ่มเติม"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-tl/strings-talkback-descriptions.xml b/java/res/values-tl/strings-talkback-descriptions.xml index 97905ad57..df977bdf5 100644 --- a/java/res/values-tl/strings-talkback-descriptions.xml +++ b/java/res/values-tl/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Walang tekstong inilagay"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"Itinatama ng <xliff:g id="KEY_NAME">%1$s</xliff:g> ang <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> sa <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"Nagsasagawa ang <xliff:g id="KEY_NAME">%1$s</xliff:g> ng auto-correction"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Key code %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Marami pang simbolo"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-tr/strings-talkback-descriptions.xml b/java/res/values-tr/strings-talkback-descriptions.xml index 970f5848a..c392e8594 100644 --- a/java/res/values-tr/strings-talkback-descriptions.xml +++ b/java/res/values-tr/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Metin girilmedi"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g>, <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> kelimesini <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> olarak düzeltir"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> otomatik düzeltme yapar"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Tuş kodu: %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Üst karakter"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Diğer simgeler"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Üst karakter"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-uk/strings-talkback-descriptions.xml b/java/res/values-uk/strings-talkback-descriptions.xml index 20f164740..3f43a1233 100644 --- a/java/res/values-uk/strings-talkback-descriptions.xml +++ b/java/res/values-uk/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Текст не введено"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> виправляє слово \"<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>\" на \"<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>\""</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> автоматично виправляє"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Код клавіші – %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Більше символів"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Клавіша Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-vi/strings-talkback-descriptions.xml b/java/res/values-vi/strings-talkback-descriptions.xml index 6da8cec09..5c9140996 100644 --- a/java/res/values-vi/strings-talkback-descriptions.xml +++ b/java/res/values-vi/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Không có ký tự nào được nhập"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> sửa <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> thành <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> tự động sửa"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Mã phím %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Biểu tượng khác"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-zh-rCN/strings-talkback-descriptions.xml b/java/res/values-zh-rCN/strings-talkback-descriptions.xml index ee025f689..f0770ab3a 100644 --- a/java/res/values-zh-rCN/strings-talkback-descriptions.xml +++ b/java/res/values-zh-rCN/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"未输入文字"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"按<xliff:g id="KEY_NAME">%1$s</xliff:g>键可将<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>更正为<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"按<xliff:g id="KEY_NAME">%1$s</xliff:g>键可进行自动更正"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"键码为%d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"更多符号"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift键"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-zh-rHK/strings-talkback-descriptions.xml b/java/res/values-zh-rHK/strings-talkback-descriptions.xml index 3484bf33b..1bed8c96a 100644 --- a/java/res/values-zh-rHK/strings-talkback-descriptions.xml +++ b/java/res/values-zh-rHK/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"未輸入文字"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"按「<xliff:g id="KEY_NAME">%1$s</xliff:g>」可將「<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>」修正為「<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>」"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"按「<xliff:g id="KEY_NAME">%1$s</xliff:g>」可自動修正"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"按鍵代碼 %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift 鍵"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"更多符號"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift 鍵"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-zh-rTW/strings-talkback-descriptions.xml b/java/res/values-zh-rTW/strings-talkback-descriptions.xml index 4d0352ec2..f7ca6cef3 100644 --- a/java/res/values-zh-rTW/strings-talkback-descriptions.xml +++ b/java/res/values-zh-rTW/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"未輸入文字"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"按下「<xliff:g id="KEY_NAME">%1$s</xliff:g>」可將「<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>」修正為「<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>」"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"按下「<xliff:g id="KEY_NAME">%1$s</xliff:g>」可執行自動修正"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"按鍵代碼 %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"Shift 鍵"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"更多符號"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift 鍵"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values-zu/strings-talkback-descriptions.xml b/java/res/values-zu/strings-talkback-descriptions.xml index ff7c3c999..1a6f8b40d 100644 --- a/java/res/values-zu/strings-talkback-descriptions.xml +++ b/java/res/values-zu/strings-talkback-descriptions.xml @@ -25,7 +25,8 @@ <string name="spoken_no_text_entered" msgid="1711276837961785646">"Awukho umbhalo ofakiwe"</string> <string name="spoken_auto_correct" msgid="8989324692167993804">"I-<xliff:g id="KEY_NAME">%1$s</xliff:g> ilungisa i-<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> kube yi-<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"I-<xliff:g id="KEY_NAME">%1$s</xliff:g> yenza ukulungisa okuzenzakalelayo"</string> - <string name="spoken_description_unknown" msgid="2382510329910793539">"Ikhodi yokhiye %d"</string> + <!-- no translation found for spoken_description_unknown (5139930082759824442) --> + <skip /> <string name="spoken_description_shift" msgid="7209798151676638728">"U-Shift"</string> <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Amasimbuli amaningi"</string> <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"U-Shift"</string> @@ -77,6 +78,8 @@ <skip /> <!-- no translation found for spoken_letter_0130 (4766619646231612274) --> <skip /> + <!-- no translation found for spoken_symbol_unknown (717298227061173706) --> + <skip /> <!-- no translation found for spoken_emoji_unknown (5981009928135394306) --> <skip /> </resources> diff --git a/java/res/values/config-common.xml b/java/res/values/config-common.xml index ad27ab427..58f3e9827 100644 --- a/java/res/values/config-common.xml +++ b/java/res/values/config-common.xml @@ -48,6 +48,7 @@ <integer name="config_max_longpress_timeout">700</integer> <integer name="config_min_longpress_timeout">100</integer> <integer name="config_longpress_timeout_step">10</integer> + <integer name="config_accessibility_long_press_key_timeout">1500</integer> <integer name="config_max_more_keys_column">5</integer> <integer name="config_more_keys_keyboard_fadein_anim_time">0</integer> <integer name="config_more_keys_keyboard_fadeout_anim_time">100</integer> diff --git a/java/res/xml/keys_comma_period_symbols.xml b/java/res/values/strings-production.xml index 843595c27..8064b9949 100644 --- a/java/res/xml/keys_comma_period_symbols.xml +++ b/java/res/values/strings-production.xml @@ -2,7 +2,7 @@ <!-- /* ** -** Copyright 2013, The Android Open Source Project +** Copyright 2014, 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. @@ -18,13 +18,7 @@ */ --> -<merge - xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" -> - <Key - latin:keySpec="!text/keyspec_comma" /> - <!-- U+2026: "…" HORIZONTAL ELLIPSIS --> - <Key - latin:keySpec="." - latin:moreKeys="…" /> -</merge> +<resources> + <!-- Description for option to enable sending usage statistics --> + <string name="enable_metrics_logging_summary" translatable="false"></string> +</resources> diff --git a/java/res/values/strings-talkback-descriptions.xml b/java/res/values/strings-talkback-descriptions.xml index fa06362d8..80c7bdbf0 100644 --- a/java/res/values/strings-talkback-descriptions.xml +++ b/java/res/values/strings-talkback-descriptions.xml @@ -139,4 +139,14 @@ <string name="spoken_symbol_unknown">Unknown symbol</string> <!-- Spoken description for unknown emoji code point. --> <string name="spoken_emoji_unknown">Unknown emoji</string> + + <!-- Spoken descriptions when opening a more keys keyboard that has alternative characters. --> + <string name="spoken_open_more_keys_keyboard">Alternative characters are available</string> + <!-- Spoken descriptions when closing a more keys keyboard that has alternative characters. --> + <string name="spoken_close_more_keys_keyboard">Alternative characters are dismissed</string> + + <!-- Spoken descriptions when opening a more suggestions panel that has alternative suggested words. --> + <string name="spoken_open_more_suggestions">Alternative suggestions are available</string> + <!-- Spoken descriptions when closing a more suggestions panel that has alternative suggested words. --> + <string name="spoken_close_more_suggestions">Alternative suggestions are dismissed</string> </resources> diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index 2ad7ce592..3f5980dfd 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -87,6 +87,9 @@ <!-- Option name for enabling the use by the keyboards of sent/received messages, e-mail and typing history to improve suggestion accuracy [CHAR LIMIT=25] --> <string name="use_personalized_dicts">Personalized suggestions</string> + <!-- Option to enable sending usage statistics --> + <string name="enable_metrics_logging">"Improve <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string> + <!-- Option name for enabling or disabling the double-space period feature that lets double tap on spacebar insert a period followed by a space [CHAR LIMIT=30] --> <string name="use_double_space_period">Double-space period</string> <!-- Description for option enabling or disabling the double-space period feature that lets double tap on spacebar insert a period followed by a space [CHAR LIMIT=65] --> diff --git a/java/res/xml-sw600dp/key_comma.xml b/java/res/xml-sw600dp/key_comma.xml new file mode 100644 index 000000000..67199e237 --- /dev/null +++ b/java/res/xml-sw600dp/key_comma.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <!-- The table comma key which may have settings as popup key. --> + <!-- Kept as a separate file for cleaner overriding by an overlay. --> + <key-style + latin:styleName="baseTabletCommaKeyStyle" + latin:keySpec="!text/keyspec_tablet_comma" + latin:keyHintLabel="!text/keyhintlabel_tablet_comma" + latin:keyLabelFlags="hasPopupHint" + latin:parentStyle="hasShiftedLetterHintStyle" /> + <switch> + <case + latin:clobberSettingsKey="true" + > + <Key + latin:moreKeys="!text/morekeys_tablet_comma" + latin:keyStyle="baseTabletCommaKeyStyle" /> + </case> + <!-- clobberSettingsKey="false" --> + <default> + <Key + latin:moreKeys="!text/morekeys_tablet_comma,!text/keyspec_settings" + latin:keyStyle="baseTabletCommaKeyStyle" /> + </default> + </switch> +</merge> diff --git a/java/res/xml-sw600dp/keys_comma_period.xml b/java/res/xml-sw600dp/key_period.xml index 23172cf18..d2909d82d 100644 --- a/java/res/xml-sw600dp/keys_comma_period.xml +++ b/java/res/xml-sw600dp/key_period.xml @@ -2,7 +2,7 @@ <!-- /* ** -** Copyright 2013, The Android Open Source Project +** Copyright 2014, 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. @@ -21,13 +21,8 @@ <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > - <Key - latin:keySpec="!text/keyspec_tablet_comma" - latin:keyHintLabel="!text/keyhintlabel_tablet_comma" - latin:keyLabelFlags="hasPopupHint" - latin:moreKeys="!text/morekeys_tablet_comma" - latin:backgroundType="functional" - latin:keyStyle="hasShiftedLetterHintStyle" /> + <!-- The table period key which may have different label depending on locale --> + <!-- Kept as a separate file for cleaner overriding by an overlay. --> <switch> <case latin:languageCode="hi" diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml index c5506b5ab..7de276901 100644 --- a/java/res/xml-sw600dp/key_styles_common.xml +++ b/java/res/xml-sw600dp/key_styles_common.xml @@ -35,6 +35,9 @@ latin:keyLabelFlags="hasShiftedLetterHint" /> </default> </switch> + <!-- Base key style for the key which may have settings key as more keys. --> + <include + latin:keyboardLayout="@xml/key_styles_settings" /> <!-- Functional key styles --> <!-- Base style for shift key. A single space is used for dummy label in moreKeys. --> <key-style diff --git a/java/res/xml-sw600dp/row_dvorak4.xml b/java/res/xml-sw600dp/row_dvorak4.xml index d3709ef6d..ab2b5603d 100644 --- a/java/res/xml-sw600dp/row_dvorak4.xml +++ b/java/res/xml-sw600dp/row_dvorak4.xml @@ -30,19 +30,19 @@ latin:keyWidth="10.0%p" /> <include latin:keyboardLayout="@xml/key_settings" /> - <include - latin:keyboardLayout="@xml/key_f1" /> + <Key + latin:keySpec="_" + latin:keyHintLabel="-" + latin:moreKeys="-" + latin:keyStyle="hasShiftedLetterHintStyle" /> <include latin:keyXPos="28.0%p" latin:keyboardLayout="@xml/key_space_5kw" latin:backgroundType="normal" /> <include + latin:keyboardLayout="@xml/key_f1" /> + <include latin:keyboardLayout="@xml/key_question_exclamation" /> - <Key - latin:keySpec="-" - latin:keyHintLabel="_" - latin:moreKeys="_" - latin:keyStyle="hasShiftedLetterHintStyle" /> <include latin:keyboardLayout="@xml/key_f2" /> </Row> diff --git a/java/res/xml-sw600dp/row_qwerty4.xml b/java/res/xml-sw600dp/row_qwerty4.xml index d93143761..0eb86f2d4 100644 --- a/java/res/xml-sw600dp/row_qwerty4.xml +++ b/java/res/xml-sw600dp/row_qwerty4.xml @@ -29,15 +29,18 @@ latin:keyStyle="toSymbolKeyStyle" latin:keyWidth="10.0%p" /> <include - latin:keyboardLayout="@xml/key_settings" /> - <include - latin:keyboardLayout="@xml/key_f1" /> + latin:keyboardLayout="@xml/key_comma" /> + <Key + latin:keySpec="_" /> + <!-- Space key. --> <include latin:keyXPos="28.0%p" latin:keyboardLayout="@xml/key_space_5kw" latin:backgroundType="normal" /> <include - latin:keyboardLayout="@xml/keys_comma_period" /> + latin:keyboardLayout="@xml/key_f1" /> + <include + latin:keyboardLayout="@xml/key_period" /> <include latin:keyboardLayout="@xml/key_f2" /> </Row> diff --git a/java/res/xml/key_f1.xml b/java/res/xml/key_f1.xml index 3471c85f5..7bd7385a1 100644 --- a/java/res/xml/key_f1.xml +++ b/java/res/xml/key_f1.xml @@ -27,20 +27,20 @@ > <Key latin:keySpec="/" - latin:keyStyle="f1MoreKeysStyle" /> + latin:keyStyle="settingsMoreKeysStyle" /> </case> <case latin:mode="email" > <Key latin:keySpec="\@" - latin:keyStyle="f1MoreKeysStyle" /> + latin:keyStyle="settingsMoreKeysStyle" /> </case> <default> <Key latin:keySpec="!text/keyspec_comma" latin:keyLabelFlags="hasPopupHint" - latin:keyStyle="f1MoreKeysStyle" /> + latin:keyStyle="settingsMoreKeysStyle" /> </default> </switch> </merge> diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml index 9d5d52e16..8b3bb2e5c 100644 --- a/java/res/xml/key_styles_common.xml +++ b/java/res/xml/key_styles_common.xml @@ -35,9 +35,9 @@ latin:keyLabelFlags="hasShiftedLetterHint" /> </default> </switch> - <!-- Base key style for the key which may have settings or tab key as popup key. --> + <!-- Base key style for the key which may have settings key as more keys. --> <include - latin:keyboardLayout="@xml/key_styles_f1" /> + latin:keyboardLayout="@xml/key_styles_settings" /> <!-- Functional key styles --> <!-- Base style for shift key. A single space is used for dummy label in moreKeys. --> <key-style @@ -104,7 +104,7 @@ latin:keyIconDisabled="!icon/shortcut_key_disabled" latin:keyActionFlags="noKeyPreview|altCodeWhileTyping" latin:altCode="!code/key_space" - latin:parentStyle="f1MoreKeysStyle" /> + latin:parentStyle="settingsMoreKeysStyle" /> <key-style latin:styleName="settingsKeyStyle" latin:keySpec="!icon/settings_key|!code/key_settings" diff --git a/java/res/xml/keys_less_greater.xml b/java/res/xml/key_styles_less_greater.xml index 778de02a1..db4c7984b 100644 --- a/java/res/xml/keys_less_greater.xml +++ b/java/res/xml/key_styles_less_greater.xml @@ -21,25 +21,31 @@ <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > + <!-- The less and greater keys' style which may have different label depending on locale. --> + <!-- Kept as a separate file for cleaner overriding by an overlay. --> <switch> <case latin:languageCode="fa" > - <Key + <key-style + latin:styleName="lessKeyStyle" latin:keySpec="!text/keyspec_left_double_angle_quote" latin:backgroundType="functional" latin:moreKeys="!text/morekeys_less_than" /> - <Key + <key-style + latin:styleName="greaterKeyStyle" latin:keySpec="!text/keyspec_right_double_angle_quote" latin:backgroundType="functional" latin:moreKeys="!text/morekeys_greater_than" /> </case> <default> - <Key + <key-style + latin:styleName="lessKeyStyle" latin:keySpec="!text/keyspec_less_than" latin:backgroundType="functional" latin:moreKeys="!text/morekeys_less_than" /> - <Key + <key-style + latin:styleName="greaterKeyStyle" latin:keySpec="!text/keyspec_greater_than" latin:backgroundType="functional" latin:moreKeys="!text/morekeys_greater_than" /> diff --git a/java/res/xml/key_styles_f1.xml b/java/res/xml/key_styles_settings.xml index 8a07827fa..956b40235 100644 --- a/java/res/xml/key_styles_f1.xml +++ b/java/res/xml/key_styles_settings.xml @@ -21,20 +21,20 @@ <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > - <!-- Base key style for the key which may have settings or tab key as popup key. --> + <!-- Base key style for the key which may have settings key as more keys. --> <!-- Kept as a separate file for cleaner overriding by an overlay. --> <switch> <case latin:clobberSettingsKey="true" > <key-style - latin:styleName="f1MoreKeysStyle" + latin:styleName="settingsMoreKeysStyle" latin:backgroundType="functional" /> </case> <!-- clobberSettingsKey="false" --> <default> <key-style - latin:styleName="f1MoreKeysStyle" + latin:styleName="settingsMoreKeysStyle" latin:keyLabelFlags="hasPopupHint" latin:moreKeys="!text/keyspec_settings" latin:backgroundType="functional" /> diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml index a62986228..0e9c16190 100644 --- a/java/res/xml/prefs.xml +++ b/java/res/xml/prefs.xml @@ -95,6 +95,12 @@ android:summary="@string/use_personalized_dicts_summary" android:persistent="true" android:defaultValue="true" /> + <!-- title will be set programmatically to embed application name --> + <CheckBoxPreference + android:key="pref_enable_metrics_logging" + android:summary="@string/enable_metrics_logging_summary" + android:persistent="true" + android:defaultValue="true" /> </PreferenceCategory> <PreferenceCategory android:title="@string/gesture_typing_category" diff --git a/java/res/xml/row_dvorak4.xml b/java/res/xml/row_dvorak4.xml index 279f64627..e7a3ee736 100644 --- a/java/res/xml/row_dvorak4.xml +++ b/java/res/xml/row_dvorak4.xml @@ -30,7 +30,7 @@ <Key latin:keySpec="q" latin:backgroundType="normal" - latin:keyStyle="f1MoreKeysStyle" /> + latin:keyStyle="settingsMoreKeysStyle" /> <include latin:keyXPos="25%p" latin:keyboardLayout="@xml/key_space_5kw" /> diff --git a/java/res/xml/row_symbols4.xml b/java/res/xml/row_symbols4.xml index 09f6b628c..2be03bd6d 100644 --- a/java/res/xml/row_symbols4.xml +++ b/java/res/xml/row_symbols4.xml @@ -20,11 +20,15 @@ <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > <Key - latin:keySpec="_" /> + latin:keySpec="!text/keyspec_comma" /> <Key - latin:keySpec="/" /> + latin:keySpec="_" /> <include latin:keyboardLayout="@xml/key_space_symbols" /> - <include - latin:keyboardLayout="@xml/keys_comma_period_symbols" /> + <Key + latin:keySpec="/" /> + <!-- U+2026: "…" HORIZONTAL ELLIPSIS --> + <Key + latin:keySpec="." + latin:moreKeys="…" /> </merge> diff --git a/java/res/xml/row_symbols_shift4.xml b/java/res/xml/row_symbols_shift4.xml index f75575bc6..4fc63c2c5 100644 --- a/java/res/xml/row_symbols_shift4.xml +++ b/java/res/xml/row_symbols_shift4.xml @@ -18,9 +18,18 @@ */ --> <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > - - <include latin:keyboardLayout="@xml/keys_less_greater" /> + <include + latin:keyboardLayout="@xml/key_styles_less_greater" /> + <Key + latin:keySpec="!text/keyspec_comma" /> + <Key + latin:keyStyle="lessKeyStyle" /> <include latin:keyboardLayout="@xml/key_space_symbols" /> - <include latin:keyboardLayout="@xml/keys_comma_period_symbols" /> + <Key + latin:keyStyle="greaterKeyStyle" /> + <!-- U+2026: "…" HORIZONTAL ELLIPSIS --> + <Key + latin:keySpec="." + latin:moreKeys="…" /> </merge> diff --git a/java/src/com/android/inputmethod/accessibility/AccessibilityLongPressTimer.java b/java/src/com/android/inputmethod/accessibility/AccessibilityLongPressTimer.java new file mode 100644 index 000000000..967cafad0 --- /dev/null +++ b/java/src/com/android/inputmethod/accessibility/AccessibilityLongPressTimer.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2014 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.accessibility; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; + +import com.android.inputmethod.keyboard.Key; +import com.android.inputmethod.latin.R; + +// Handling long press timer to show a more keys keyboard. +final class AccessibilityLongPressTimer extends Handler { + public interface LongPressTimerCallback { + public void onLongPressed(Key key); + } + + private static final int MSG_LONG_PRESS = 1; + + private final LongPressTimerCallback mCallback; + private final long mConfigAccessibilityLongPressTimeout; + + public AccessibilityLongPressTimer(final LongPressTimerCallback callback, + final Context context) { + super(); + mCallback = callback; + mConfigAccessibilityLongPressTimeout = context.getResources().getInteger( + R.integer.config_accessibility_long_press_key_timeout); + } + + @Override + public void handleMessage(final Message msg) { + switch (msg.what) { + case MSG_LONG_PRESS: + cancelLongPress(); + mCallback.onLongPressed((Key)msg.obj); + return; + default: + super.handleMessage(msg); + return; + } + } + + public void startLongPress(final Key key) { + cancelLongPress(); + final Message longPressMessage = obtainMessage(MSG_LONG_PRESS, key); + sendMessageDelayed(longPressMessage, mConfigAccessibilityLongPressTimeout); + } + + public void cancelLongPress() { + removeMessages(MSG_LONG_PRESS); + } +} diff --git a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java index bbc18f020..d67d9dc4b 100644 --- a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java +++ b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java @@ -33,14 +33,29 @@ import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.KeyboardView; import com.android.inputmethod.keyboard.PointerTracker; +/** + * This class represents a delegate that can be registered in a class that extends + * {@link KeyboardView} to enhance accessibility support via composition rather via inheritance. + * + * To implement accessibility mode, the target keyboard view has to:<p> + * - Call {@link #setKeyboard(Keyboard)} when a new keyboard is set to the keyboard view. + * - Dispatch a hover event by calling {@link #onHoverEnter(MotionEvent)}. + * + * @param <KV> The keyboard view class type. + */ public class KeyboardAccessibilityDelegate<KV extends KeyboardView> extends AccessibilityDelegateCompat { + private static final String TAG = KeyboardAccessibilityDelegate.class.getSimpleName(); + protected static final boolean DEBUG_HOVER = false; + protected final KV mKeyboardView; protected final KeyDetector mKeyDetector; private Keyboard mKeyboard; private KeyboardAccessibilityNodeProvider mAccessibilityNodeProvider; private Key mLastHoverKey; + public static final int HOVER_EVENT_POINTER_ID = 0; + public KeyboardAccessibilityDelegate(final KV keyboardView, final KeyDetector keyDetector) { super(); mKeyboardView = keyboardView; @@ -180,8 +195,11 @@ public class KeyboardAccessibilityDelegate<KV extends KeyboardView> */ protected void onHoverEnter(final MotionEvent event) { final Key key = getHoverKeyOf(event); + if (DEBUG_HOVER) { + Log.d(TAG, "onHoverEnter: key=" + key); + } if (key != null) { - onHoverEnterKey(key, event); + onHoverEnterTo(key); } setLastHoverKey(key); } @@ -196,14 +214,14 @@ public class KeyboardAccessibilityDelegate<KV extends KeyboardView> final Key key = getHoverKeyOf(event); if (key != lastKey) { if (lastKey != null) { - onHoverExitKey(lastKey, event); + onHoverExitFrom(lastKey); } if (key != null) { - onHoverEnterKey(key, event); + onHoverEnterTo(key); } } if (key != null) { - onHoverMoveKey(key, event); + onHoverMoveWithin(key); } setLastHoverKey(key); } @@ -215,21 +233,37 @@ public class KeyboardAccessibilityDelegate<KV extends KeyboardView> */ protected void onHoverExit(final MotionEvent event) { final Key lastKey = getLastHoverKey(); + if (DEBUG_HOVER) { + Log.d(TAG, "onHoverExit: key=" + getHoverKeyOf(event) + " last=" + lastKey); + } if (lastKey != null) { - onHoverExitKey(lastKey, event); + onHoverExitFrom(lastKey); } final Key key = getHoverKeyOf(event); // Make sure we're not getting an EXIT event because the user slid // off the keyboard area, then force a key press. if (key != null) { - simulateTouchEvent(MotionEvent.ACTION_DOWN, event); - simulateTouchEvent(MotionEvent.ACTION_UP, event); - onHoverExitKey(key, event); + onRegisterHoverKey(key, event); + onHoverExitFrom(key); } setLastHoverKey(null); } /** + * Register a key that is selected by a hover event + * + * @param key A key to be registered. + * @param event A hover exit event that triggers key registering. + */ + protected void onRegisterHoverKey(final Key key, final MotionEvent event) { + if (DEBUG_HOVER) { + Log.d(TAG, "onRegisterHoverKey: key=" + key); + } + simulateTouchEvent(MotionEvent.ACTION_DOWN, event); + simulateTouchEvent(MotionEvent.ACTION_UP, event); + } + + /** * Simulating a touch event by injecting a synthesized touch event into {@link PointerTracker}. * * @param touchAction The action of the synthesizing touch event. @@ -263,9 +297,11 @@ public class KeyboardAccessibilityDelegate<KV extends KeyboardView> * Handles a hover enter event on a key. * * @param key The currently hovered key. - * @param event The hover event that triggers a call to this method. */ - protected void onHoverEnterKey(final Key key, final MotionEvent event) { + protected void onHoverEnterTo(final Key key) { + if (DEBUG_HOVER) { + Log.d(TAG, "onHoverEnterTo: key=" + key); + } key.onPressed(); mKeyboardView.invalidateKey(key); final KeyboardAccessibilityNodeProvider provider = getAccessibilityNodeProvider(); @@ -277,17 +313,18 @@ public class KeyboardAccessibilityDelegate<KV extends KeyboardView> * Handles a hover move event on a key. * * @param key The currently hovered key. - * @param event The hover event that triggers a call to this method. */ - protected void onHoverMoveKey(final Key key, final MotionEvent event) { } + protected void onHoverMoveWithin(final Key key) { } /** * Handles a hover exit event on a key. * * @param key The currently hovered key. - * @param event The hover event that triggers a call to this method. */ - protected void onHoverExitKey(final Key key, final MotionEvent event) { + protected void onHoverExitFrom(final Key key) { + if (DEBUG_HOVER) { + Log.d(TAG, "onHoverExitFrom: key=" + key); + } key.onReleased(); mKeyboardView.invalidateKey(key); final KeyboardAccessibilityNodeProvider provider = getAccessibilityNodeProvider(); diff --git a/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java index ec6bb0156..4fdf5b8fa 100644 --- a/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java +++ b/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java @@ -17,17 +17,29 @@ package com.android.inputmethod.accessibility; import android.content.Context; +import android.os.SystemClock; +import android.util.Log; import android.util.SparseIntArray; +import android.view.MotionEvent; +import com.android.inputmethod.keyboard.Key; import com.android.inputmethod.keyboard.KeyDetector; import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.KeyboardId; import com.android.inputmethod.keyboard.MainKeyboardView; +import com.android.inputmethod.keyboard.PointerTracker; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.utils.SubtypeLocaleUtils; +/** + * This class represents a delegate that can be registered in {@link MainKeyboardView} to enhance + * accessibility support via composition rather via inheritance. + */ public final class MainKeyboardAccessibilityDelegate - extends KeyboardAccessibilityDelegate<MainKeyboardView> { + extends KeyboardAccessibilityDelegate<MainKeyboardView> + implements AccessibilityLongPressTimer.LongPressTimerCallback { + private static final String TAG = MainKeyboardAccessibilityDelegate.class.getSimpleName(); + /** Map of keyboard modes to resource IDs. */ private static final SparseIntArray KEYBOARD_MODE_RES_IDS = new SparseIntArray(); @@ -46,10 +58,15 @@ public final class MainKeyboardAccessibilityDelegate /** The most recently set keyboard mode. */ private int mLastKeyboardMode = KEYBOARD_IS_HIDDEN; private static final int KEYBOARD_IS_HIDDEN = -1; + private boolean mShouldIgnoreOnRegisterHoverKey; + + private final AccessibilityLongPressTimer mAccessibilityLongPressTimer; public MainKeyboardAccessibilityDelegate(final MainKeyboardView mainKeyboardView, final KeyDetector keyDetector) { super(mainKeyboardView, keyDetector); + mAccessibilityLongPressTimer = new AccessibilityLongPressTimer( + this /* callback */, mainKeyboardView.getContext()); } /** @@ -172,4 +189,63 @@ public final class MainKeyboardAccessibilityDelegate private void announceKeyboardHidden() { sendWindowStateChanged(R.string.announce_keyboard_hidden); } + + @Override + protected void onRegisterHoverKey(final Key key, final MotionEvent event) { + if (DEBUG_HOVER) { + Log.d(TAG, "onRegisterHoverKey: key=" + key + " ignore=" + + mShouldIgnoreOnRegisterHoverKey); + } + if (!mShouldIgnoreOnRegisterHoverKey) { + super.onRegisterHoverKey(key, event); + } + mShouldIgnoreOnRegisterHoverKey = false; + } + + @Override + protected void onHoverEnterTo(final Key key) { + if (DEBUG_HOVER) { + Log.d(TAG, "onHoverEnterTo: key=" + key); + } + mAccessibilityLongPressTimer.cancelLongPress(); + super.onHoverEnterTo(key); + if (key.isLongPressEnabled()) { + mAccessibilityLongPressTimer.startLongPress(key); + } + } + + protected void onHoverExitFrom(final Key key) { + if (DEBUG_HOVER) { + Log.d(TAG, "onHoverExitFrom: key=" + key); + } + mAccessibilityLongPressTimer.cancelLongPress(); + super.onHoverExitFrom(key); + } + + @Override + public void onLongPressed(final Key key) { + if (DEBUG_HOVER) { + Log.d(TAG, "onLongPressed: key=" + key); + } + final PointerTracker tracker = PointerTracker.getPointerTracker(HOVER_EVENT_POINTER_ID); + final long eventTime = SystemClock.uptimeMillis(); + final int x = key.getHitBox().centerX(); + final int y = key.getHitBox().centerY(); + final MotionEvent downEvent = MotionEvent.obtain( + eventTime, eventTime, MotionEvent.ACTION_DOWN, x, y, 0 /* metaState */); + // Inject a fake down event to {@link PointerTracker} to handle a long press correctly. + tracker.processMotionEvent(downEvent, mKeyDetector); + // The above fake down event triggers an unnecessary long press timer that should be + // canceled. + tracker.cancelLongPressTimer(); + downEvent.recycle(); + // Invoke {@link MainKeyboardView#onLongPress(PointerTracker)} as if a long press timeout + // has passed. + mKeyboardView.onLongPress(tracker); + // If {@link Key#hasNoPanelAutoMoreKeys()} is true (such as "0 +" key on the phone layout) + // or a key invokes IME switcher dialog, we should just ignore the next + // {@link #onRegisterHoverKey(Key,MotionEvent)}. It can be determined by whether + // {@link PointerTracker} is in operation or not. + mShouldIgnoreOnRegisterHoverKey = !tracker.isInOperation(); + } } diff --git a/java/src/com/android/inputmethod/accessibility/MoreKeysKeyboardAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/MoreKeysKeyboardAccessibilityDelegate.java new file mode 100644 index 000000000..3a56c5d2a --- /dev/null +++ b/java/src/com/android/inputmethod/accessibility/MoreKeysKeyboardAccessibilityDelegate.java @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2014 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.accessibility; + +import android.graphics.Rect; +import android.util.Log; +import android.view.MotionEvent; + +import com.android.inputmethod.keyboard.Key; +import com.android.inputmethod.keyboard.KeyDetector; +import com.android.inputmethod.keyboard.MoreKeysKeyboardView; +import com.android.inputmethod.latin.Constants; + +/** + * This class represents a delegate that can be registered in {@link MoreKeysKeyboardView} to + * enhance accessibility support via composition rather via inheritance. + */ +public class MoreKeysKeyboardAccessibilityDelegate + extends KeyboardAccessibilityDelegate<MoreKeysKeyboardView> { + private static final String TAG = MoreKeysKeyboardAccessibilityDelegate.class.getSimpleName(); + + private final Rect mMoreKeysKeyboardValidBounds = new Rect(); + private static final int CLOSING_INSET_IN_PIXEL = 1; + private int mOpenAnnounceResId; + private int mCloseAnnounceResId; + + public MoreKeysKeyboardAccessibilityDelegate(final MoreKeysKeyboardView moreKeysKeyboardView, + final KeyDetector keyDetector) { + super(moreKeysKeyboardView, keyDetector); + } + + public void setOpenAnnounce(final int resId) { + mOpenAnnounceResId = resId; + } + + public void setCloseAnnounce(final int resId) { + mCloseAnnounceResId = resId; + } + + public void onShowMoreKeysKeyboard() { + sendWindowStateChanged(mOpenAnnounceResId); + } + + @Override + protected void onHoverEnter(final MotionEvent event) { + if (DEBUG_HOVER) { + Log.d(TAG, "onHoverEnter: key=" + getHoverKeyOf(event)); + } + super.onHoverEnter(event); + final int actionIndex = event.getActionIndex(); + final int x = (int)event.getX(actionIndex); + final int y = (int)event.getY(actionIndex); + final int pointerId = event.getPointerId(actionIndex); + final long eventTime = event.getEventTime(); + mKeyboardView.onDownEvent(x, y, pointerId, eventTime); + } + + @Override + protected void onHoverMove(final MotionEvent event) { + super.onHoverMove(event); + final int actionIndex = event.getActionIndex(); + final int x = (int)event.getX(actionIndex); + final int y = (int)event.getY(actionIndex); + final int pointerId = event.getPointerId(actionIndex); + final long eventTime = event.getEventTime(); + mKeyboardView.onMoveEvent(x, y, pointerId, eventTime); + } + + @Override + protected void onHoverExit(final MotionEvent event) { + final Key lastKey = getLastHoverKey(); + if (DEBUG_HOVER) { + Log.d(TAG, "onHoverExit: key=" + getHoverKeyOf(event) + " last=" + lastKey); + } + if (lastKey != null) { + super.onHoverExitFrom(lastKey); + } + setLastHoverKey(null); + final int actionIndex = event.getActionIndex(); + final int x = (int)event.getX(actionIndex); + final int y = (int)event.getY(actionIndex); + final int pointerId = event.getPointerId(actionIndex); + final long eventTime = event.getEventTime(); + // A hover exit event at one pixel width or height area on the edges of more keys keyboard + // are treated as closing. + mMoreKeysKeyboardValidBounds.set(0, 0, mKeyboardView.getWidth(), mKeyboardView.getHeight()); + mMoreKeysKeyboardValidBounds.inset(CLOSING_INSET_IN_PIXEL, CLOSING_INSET_IN_PIXEL); + if (mMoreKeysKeyboardValidBounds.contains(x, y)) { + // Invoke {@link MoreKeysKeyboardView#onUpEvent(int,int,int,long)} as if this hover + // exit event selects a key. + mKeyboardView.onUpEvent(x, y, pointerId, eventTime); + mKeyboardView.dismissMoreKeysPanel(); + return; + } + // Close the more keys keyboard. + mKeyboardView.onMoveEvent( + Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE, pointerId, eventTime); + sendWindowStateChanged(mCloseAnnounceResId); + } +} diff --git a/java/src/com/android/inputmethod/accessibility/MoreSuggestionsAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/MoreSuggestionsAccessibilityDelegate.java new file mode 100644 index 000000000..dfc866113 --- /dev/null +++ b/java/src/com/android/inputmethod/accessibility/MoreSuggestionsAccessibilityDelegate.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2014 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.accessibility; + +import android.view.MotionEvent; + +import com.android.inputmethod.keyboard.KeyDetector; +import com.android.inputmethod.keyboard.MoreKeysKeyboardView; + +public final class MoreSuggestionsAccessibilityDelegate + extends MoreKeysKeyboardAccessibilityDelegate { + public MoreSuggestionsAccessibilityDelegate(final MoreKeysKeyboardView moreKeysKeyboardView, + final KeyDetector keyDetector) { + super(moreKeysKeyboardView, keyDetector); + } + + @Override + protected void simulateTouchEvent(final int touchAction, final MotionEvent hoverEvent) { + final MotionEvent touchEvent = synthesizeTouchEvent(touchAction, hoverEvent); + mKeyboardView.onTouchEvent(touchEvent); + touchEvent.recycle(); + } +} diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java index 50c82e5f7..4ca4abec6 100644 --- a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java @@ -17,12 +17,13 @@ package com.android.inputmethod.keyboard; import android.content.Context; -import android.content.res.Resources; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import com.android.inputmethod.accessibility.AccessibilityUtils; +import com.android.inputmethod.accessibility.MoreKeysKeyboardAccessibilityDelegate; import com.android.inputmethod.latin.Constants; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.utils.CoordinateUtils; @@ -34,7 +35,7 @@ import com.android.inputmethod.latin.utils.CoordinateUtils; public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel { private final int[] mCoordinates = CoordinateUtils.newInstance(); - protected final KeyDetector mKeyDetector; + protected KeyDetector mKeyDetector; private Controller mController = EMPTY_CONTROLLER; protected KeyboardActionListener mListener; private int mOriginX; @@ -43,6 +44,8 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel private int mActivePointerId; + protected MoreKeysKeyboardAccessibilityDelegate mAccessibilityDelegate; + public MoreKeysKeyboardView(final Context context, final AttributeSet attrs) { this(context, attrs, R.attr.moreKeysKeyboardViewStyle); } @@ -50,10 +53,8 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel public MoreKeysKeyboardView(final Context context, final AttributeSet attrs, final int defStyle) { super(context, attrs, defStyle); - - final Resources res = context.getResources(); - mKeyDetector = new MoreKeysDetector( - res.getDimension(R.dimen.config_more_keys_keyboard_slide_allowance)); + mKeyDetector = new MoreKeysDetector(getResources().getDimension( + R.dimen.config_more_keys_keyboard_slide_allowance)); } @Override @@ -71,8 +72,23 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel @Override public void setKeyboard(final Keyboard keyboard) { super.setKeyboard(keyboard); - mKeyDetector.setKeyboard(keyboard, -getPaddingLeft(), - -getPaddingTop() + getVerticalCorrection()); + if (AccessibilityUtils.getInstance().isTouchExplorationEnabled()) { + // With accessibility mode on, any hover event outside {@link MoreKeysKeyboardView} is + // discarded at {@link InputView#dispatchHoverEvent(MotionEvent)}. Because only a hover + // event that is on this view is dispatched by the platform, we should use a + // {@link KeyDetector} that has no sliding allowance and no hysteresis. + mKeyDetector = new KeyDetector(); + mAccessibilityDelegate = new MoreKeysKeyboardAccessibilityDelegate(this, mKeyDetector); + mAccessibilityDelegate.setOpenAnnounce(R.string.spoken_open_more_keys_keyboard); + mAccessibilityDelegate.setCloseAnnounce(R.string.spoken_close_more_keys_keyboard); + mAccessibilityDelegate.setKeyboard(keyboard); + } else { + mKeyDetector = new MoreKeysDetector(getResources().getDimension( + R.dimen.config_more_keys_keyboard_slide_allowance)); + mAccessibilityDelegate = null; + } + mKeyDetector.setKeyboard( + keyboard, -getPaddingLeft(), -getPaddingTop() + getVerticalCorrection()); } @Override @@ -98,6 +114,10 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel mOriginX = x + container.getPaddingLeft(); mOriginY = y + container.getPaddingTop(); controller.onShowMoreKeysPanel(this); + final MoreKeysKeyboardAccessibilityDelegate accessibilityDelegate = mAccessibilityDelegate; + if (accessibilityDelegate != null) { + accessibilityDelegate.onShowMoreKeysKeyboard(); + } } /** @@ -228,6 +248,18 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel return true; } + /** + * {@inheritDoc} + */ + @Override + public boolean onHoverEvent(final MotionEvent event) { + final MoreKeysKeyboardAccessibilityDelegate accessibilityDelegate = mAccessibilityDelegate; + if (accessibilityDelegate != null) { + return accessibilityDelegate.onHoverEvent(event); + } + return super.onHoverEvent(event); + } + private View getContainerView() { return (View)getParent(); } diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index ff6fd86d0..b6905bc1c 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -1078,6 +1078,14 @@ public final class PointerTracker implements PointerTrackerQueue.Element, mIsTrackingForActionDisabled = true; } + public boolean isInOperation() { + return !mIsTrackingForActionDisabled; + } + + public void cancelLongPressTimer() { + sTimerProxy.cancelLongPressTimerOf(this); + } + public void onLongPressed() { resetKeySelectionByDraggingFinger(); cancelTrackingForAction(); diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java index 40c915c8d..ab2555802 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java @@ -602,7 +602,7 @@ public final class KeyboardTextsTable { /* keyspec_right_double_angle_quote */ "\u00BB|\u00AB", /* keyspec_left_single_angle_quote */ "\u2039|\u203A", /* keyspec_right_single_angle_quote */ "\u203A|\u2039", - /* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,\",\'", + /* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,\",\'", // U+0651: "ّ" ARABIC SHADDA /* keyhintlabel_period */ "\u0651", /* morekeys_tablet_period */ "!text/morekeys_arabic_diacritics", @@ -1551,7 +1551,7 @@ public final class KeyboardTextsTable { /* keyspec_right_double_angle_quote */ "\u00BB|\u00AB", /* keyspec_left_single_angle_quote */ "\u2039|\u203A", /* keyspec_right_single_angle_quote */ "\u203A|\u2039", - /* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote", + /* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote", // U+064B: "ً" ARABIC FATHATAN /* keyhintlabel_period */ "\u064B", /* morekeys_tablet_period */ "!text/morekeys_arabic_diacritics", diff --git a/java/src/com/android/inputmethod/latin/InputView.java b/java/src/com/android/inputmethod/latin/InputView.java index ea7859e60..0801cfa88 100644 --- a/java/src/com/android/inputmethod/latin/InputView.java +++ b/java/src/com/android/inputmethod/latin/InputView.java @@ -23,12 +23,14 @@ import android.view.MotionEvent; import android.view.View; import android.widget.LinearLayout; +import com.android.inputmethod.accessibility.AccessibilityUtils; import com.android.inputmethod.keyboard.MainKeyboardView; import com.android.inputmethod.latin.suggestions.MoreSuggestionsView; import com.android.inputmethod.latin.suggestions.SuggestionStripView; public final class InputView extends LinearLayout { private final Rect mInputViewRect = new Rect(); + private MainKeyboardView mMainKeyboardView; private KeyboardTopPaddingForwarder mKeyboardTopPaddingForwarder; private MoreSuggestionsViewCanceler mMoreSuggestionsViewCanceler; private MotionEventForwarder<?, ?> mActiveForwarder; @@ -41,12 +43,11 @@ public final class InputView extends LinearLayout { protected void onFinishInflate() { final SuggestionStripView suggestionStripView = (SuggestionStripView)findViewById(R.id.suggestion_strip_view); - final MainKeyboardView mainKeyboardView = - (MainKeyboardView)findViewById(R.id.keyboard_view); + mMainKeyboardView = (MainKeyboardView)findViewById(R.id.keyboard_view); mKeyboardTopPaddingForwarder = new KeyboardTopPaddingForwarder( - mainKeyboardView, suggestionStripView); + mMainKeyboardView, suggestionStripView); mMoreSuggestionsViewCanceler = new MoreSuggestionsViewCanceler( - mainKeyboardView, suggestionStripView); + mMainKeyboardView, suggestionStripView); } public void setKeyboardTopPadding(final int keyboardTopPadding) { @@ -54,6 +55,17 @@ public final class InputView extends LinearLayout { } @Override + protected boolean dispatchHoverEvent(final MotionEvent event) { + if (AccessibilityUtils.getInstance().isTouchExplorationEnabled() + && mMainKeyboardView.isShowingMoreKeysPanel()) { + // With accessibility mode on, discard hover events while a more keys keyboard is shown. + // The {@link MoreKeysKeyboard} receives hover events directly from the platform. + return true; + } + return super.dispatchHoverEvent(event); + } + + @Override public boolean onInterceptTouchEvent(final MotionEvent me) { final Rect rect = mInputViewRect; getGlobalVisibleRect(rect); diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index f36b42a40..dbbe1a0c5 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -134,7 +134,7 @@ public final class InputLogic { resetComposingState(true /* alsoResetLastComposedWord */); mDeleteCount = 0; mSpaceState = SpaceState.NONE; - mRecapitalizeStatus.deactivate(); + mRecapitalizeStatus.disable(); // Do not perform recapitalize until the cursor is moved once mCurrentlyPressedHardwareKeys.clear(); mSuggestedWords = SuggestedWords.EMPTY; // In some cases (namely, after rotation of the device) editorInfo.initialSelStart is lying @@ -345,10 +345,12 @@ public final class InputLogic { newSelStart, newSelEnd, false /* shouldFinishComposition */); } + // The cursor has been moved : we now accept to perform recapitalization + mRecapitalizeStatus.enable(); // We moved the cursor. If we are touching a word, we need to resume suggestion. mLatinIME.mHandler.postResumeSuggestions(); - // Reset the last recapitalization. - mRecapitalizeStatus.deactivate(); + // Stop the last recapitalization, if started. + mRecapitalizeStatus.stop(); return true; } @@ -369,10 +371,6 @@ public final class InputLogic { final int keyboardShiftMode, // TODO: remove this argument final LatinIME.UIHandler handler) { - // TODO: rework the following to not squash the keycode and the code point into the same - // var because it's confusing. Instead the switch() should handle this in a readable manner. - final int code = - Event.NOT_A_CODE_POINT == event.mCodePoint ? event.mKeyCode : event.mCodePoint; final InputTransaction inputTransaction = new InputTransaction(settingsValues, event, SystemClock.uptimeMillis(), mSpaceState, getActualCapsMode(settingsValues, keyboardShiftMode)); @@ -1138,8 +1136,8 @@ public final class InputLogic { * @param settingsValues The current settings values. */ private void performRecapitalization(final SettingsValues settingsValues) { - if (!mConnection.hasSelection()) { - return; // No selection + if (!mConnection.hasSelection() || !mRecapitalizeStatus.mIsEnabled()) { + return; // No selection or recapitalize is disabled for now } final int selectionStart = mConnection.getExpectedSelectionStart(); final int selectionEnd = mConnection.getExpectedSelectionEnd(); @@ -1149,13 +1147,13 @@ public final class InputLogic { // to suck possibly multiple-megabyte data. return; } - // If we have a recapitalize in progress, use it; otherwise, create a new one. - if (!mRecapitalizeStatus.isActive() + // If we have a recapitalize in progress, use it; otherwise, start a new one. + if (!mRecapitalizeStatus.isStarted() || !mRecapitalizeStatus.isSetAt(selectionStart, selectionEnd)) { final CharSequence selectedText = mConnection.getSelectedText(0 /* flags, 0 for no styles */); if (TextUtils.isEmpty(selectedText)) return; // Race condition with the input connection - mRecapitalizeStatus.initialize(selectionStart, selectionEnd, selectedText.toString(), + mRecapitalizeStatus.start(selectionStart, selectionEnd, selectedText.toString(), settingsValues.mLocale, settingsValues.mSpacingAndPunctuations.mSortedWordSeparators); // We trim leading and trailing whitespace. @@ -1498,7 +1496,7 @@ public final class InputLogic { } public int getCurrentRecapitalizeState() { - if (!mRecapitalizeStatus.isActive() + if (!mRecapitalizeStatus.isStarted() || !mRecapitalizeStatus.isSetAt(mConnection.getExpectedSelectionStart(), mConnection.getExpectedSelectionEnd())) { // Not recapitalizing at the moment diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java index af46aad96..5eb0377c7 100644 --- a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java +++ b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java @@ -41,6 +41,7 @@ import com.android.inputmethod.keyboard.KeyboardTheme; import com.android.inputmethod.latin.AudioAndHapticFeedbackManager; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.SubtypeSwitcher; +import com.android.inputmethod.latin.define.ProductionFlag; import com.android.inputmethod.latin.setup.LauncherIconVisibilityManager; import com.android.inputmethod.latin.userdictionary.UserDictionaryList; import com.android.inputmethod.latin.userdictionary.UserDictionarySettings; @@ -212,6 +213,20 @@ public final class SettingsFragment extends InputMethodSettingsFragment textCorrectionGroup.removePreference(dictionaryLink); } + if (ProductionFlag.IS_METRICS_LOGGING_SUPPORTED) { + final Preference enableMetricsLogging = + findPreference(Settings.PREF_ENABLE_METRICS_LOGGING); + if (enableMetricsLogging != null) { + final int applicationLabelRes = context.getApplicationInfo().labelRes; + final String applicationName = res.getString(applicationLabelRes); + final String enableMetricsLoggingTitle = res.getString( + R.string.enable_metrics_logging, applicationName); + enableMetricsLogging.setTitle(enableMetricsLoggingTitle); + } + } else { + removePreference(Settings.PREF_ENABLE_METRICS_LOGGING, textCorrectionGroup); + } + final Preference editPersonalDictionary = findPreference(Settings.PREF_EDIT_PERSONAL_DICTIONARY); final Intent editPersonalDictionaryIntent = editPersonalDictionary.getIntent(); diff --git a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java index aa59db678..79a735ad6 100644 --- a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java +++ b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java @@ -20,6 +20,8 @@ import android.content.Context; import android.util.AttributeSet; import android.util.Log; +import com.android.inputmethod.accessibility.AccessibilityUtils; +import com.android.inputmethod.accessibility.MoreSuggestionsAccessibilityDelegate; import com.android.inputmethod.keyboard.Key; import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.KeyboardActionListener; @@ -50,6 +52,18 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView { } @Override + public void setKeyboard(final Keyboard keyboard) { + super.setKeyboard(keyboard); + // With accessibility mode off, {@link #mAccessibilityDelegate} is set to null at the + // above {@link MoreKeysKeyboardView#setKeyboard(Keyboard)} call. + if (AccessibilityUtils.getInstance().isAccessibilityEnabled()) { + mAccessibilityDelegate = new MoreSuggestionsAccessibilityDelegate(this, mKeyDetector); + mAccessibilityDelegate.setOpenAnnounce(R.string.spoken_open_more_suggestions); + mAccessibilityDelegate.setCloseAnnounce(R.string.spoken_close_more_suggestions); + } + } + + @Override protected int getDefaultCoordX() { final MoreSuggestions pane = (MoreSuggestions)getKeyboard(); return pane.mOccupiedWidth / 2; diff --git a/java/src/com/android/inputmethod/latin/utils/RecapitalizeStatus.java b/java/src/com/android/inputmethod/latin/utils/RecapitalizeStatus.java index 4521ec531..e3cac97f0 100644 --- a/java/src/com/android/inputmethod/latin/utils/RecapitalizeStatus.java +++ b/java/src/com/android/inputmethod/latin/utils/RecapitalizeStatus.java @@ -62,18 +62,22 @@ public class RecapitalizeStatus { private Locale mLocale; private int[] mSortedSeparators; private String mStringAfter; - private boolean mIsActive; + private boolean mIsStarted; + private boolean mIsEnabled = true; private static final int[] EMPTY_STORTED_SEPARATORS = {}; public RecapitalizeStatus() { // By default, initialize with dummy values that won't match any real recapitalize. - initialize(-1, -1, "", Locale.getDefault(), EMPTY_STORTED_SEPARATORS); - deactivate(); + start(-1, -1, "", Locale.getDefault(), EMPTY_STORTED_SEPARATORS); + stop(); } - public void initialize(final int cursorStart, final int cursorEnd, final String string, + public void start(final int cursorStart, final int cursorEnd, final String string, final Locale locale, final int[] sortedSeparators) { + if (!mIsEnabled) { + return; + } mCursorStartBefore = cursorStart; mStringBefore = string; mCursorStartAfter = cursorStart; @@ -96,15 +100,27 @@ public class RecapitalizeStatus { mRotationStyleCurrentIndex = currentMode; mSkipOriginalMixedCaseMode = true; } - mIsActive = true; + mIsStarted = true; + } + + public void stop() { + mIsStarted = false; + } + + public boolean isStarted() { + return mIsStarted; + } + + public void enable() { + mIsEnabled = true; } - public void deactivate() { - mIsActive = false; + public void disable() { + mIsEnabled = false; } - public boolean isActive() { - return mIsActive; + public boolean mIsEnabled() { + return mIsEnabled; } public boolean isSetAt(final int cursorStart, final int cursorEnd) { diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java b/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java index b0493d3f1..fa818654e 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java @@ -74,7 +74,12 @@ public final class Arabic extends LayoutBase { // U+060C: "،" ARABIC COMMA return joinKeys(key("\u060C", SETTINGS_KEY)); } - return super.getKeysLeftToSpacebar(isPhone); + // U+060C: "،" ARABIC COMMA + // U+061F: "؟" ARABIC QUESTION MARK + // U+061B: "؛" ARABIC SEMICOLON + return joinKeys(key("\u060C", joinMoreKeys( + ":", "!", "\u061F", "\u061B", "-", "\"", "'", SETTINGS_KEY)), + "_"); } @Override @@ -85,9 +90,7 @@ public final class Arabic extends LayoutBase { // U+060C: "،" ARABIC COMMA // U+061F: "؟" ARABIC QUESTION MARK // U+061B: "؛" ARABIC SEMICOLON - return joinKeys( - key("\u060C", joinMoreKeys(":", "!", "\u061F", "\u061B", "-", "/", "\"", "'")), - key(".", getPunctuationMoreKeys(isPhone))); + return joinKeys("/", key(".", getPunctuationMoreKeys(isPhone))); } @Override diff --git a/tests/src/com/android/inputmethod/keyboard/layout/ArmenianPhonetic.java b/tests/src/com/android/inputmethod/keyboard/layout/ArmenianPhonetic.java index 204bb01f7..eb64b832b 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/ArmenianPhonetic.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/ArmenianPhonetic.java @@ -56,11 +56,19 @@ public final class ArmenianPhonetic extends LayoutBase { } @Override + public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) { + // U+002C: "," COMMA + // U+055D: "՝" ARMENIAN COMMA + return isPhone ? joinKeys(key("\u002C", SETTINGS_KEY)) + : joinKeys(key("\u055D", SETTINGS_KEY), "_"); + } + + @Override public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) { // U+0589: "։" ARMENIAN FULL STOP // U+055D: "՝" ARMENIAN COMMA final ExpectedKey fullStopKey = key("\u0589", getPunctuationMoreKeys(isPhone)); - return isPhone ? joinKeys(fullStopKey) : joinKeys("\u055D", fullStopKey); + return isPhone ? joinKeys(fullStopKey) : joinKeys("/", fullStopKey); } @Override @@ -121,7 +129,7 @@ public final class ArmenianPhonetic extends LayoutBase { } else { builder.addKeysOnTheRightOfRow(1, DELETE_KEY) .addKeysOnTheRightOfRow(3, ENTER_KEY) - .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY) + .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey()) .addKeysOnTheRightOfRow(5, EMOJI_KEY); } builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone)) diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Dvorak.java b/tests/src/com/android/inputmethod/keyboard/layout/Dvorak.java index 7ba1d7876..e75cfd0ff 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Dvorak.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Dvorak.java @@ -51,7 +51,8 @@ public final class Dvorak extends LayoutBase { @Override public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) { - return isPhone ? joinKeys(key("q", SETTINGS_KEY)) : joinKeys(key("/")); + return isPhone ? joinKeys(key("q", SETTINGS_KEY)) : + joinKeys(SETTINGS_KEY, key("_", moreKey("-"))); } @Override @@ -60,7 +61,7 @@ public final class Dvorak extends LayoutBase { convertToAdditionalMoreKeys(getPunctuationMoreKeys(isPhone)); return isPhone ? joinKeys(key("z", punctuationMoreKeys)) - : joinKeys(key("?", moreKey("!")), key("-", moreKey("_"))); + : joinKeys("/", key("?", moreKey("!"))); } private static ExpectedAdditionalMoreKey[] convertToAdditionalMoreKeys( diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java b/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java index 16d2f8684..a513740e7 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java @@ -72,7 +72,13 @@ public final class Farsi extends LayoutBase { // U+060C: "،" ARABIC COMMA return joinKeys(key("\u060C", SETTINGS_KEY)); } - return super.getKeysLeftToSpacebar(isPhone); + // U+060C: "،" ARABIC COMMA + // U+061F: "؟" ARABIC QUESTION MARK + // U+061B: "؛" ARABIC SEMICOLON + return joinKeys(key("\u060C", joinMoreKeys( + ":", "!", "\u061F", "\u061B", "-", RtlSymbols.DOUBLE_ANGLE_QUOTES_LR_RTL, + SETTINGS_KEY)), + "_"); } @Override @@ -80,13 +86,7 @@ public final class Farsi extends LayoutBase { if (isPhone) { return super.getKeysRightToSpacebar(isPhone); } - // U+060C: "،" ARABIC COMMA - // U+061F: "؟" ARABIC QUESTION MARK - // U+061B: "؛" ARABIC SEMICOLON - return joinKeys( - key("\u060C", joinMoreKeys(":", "!", "\u061F", "\u061B", "-", "/", - RtlSymbols.DOUBLE_ANGLE_QUOTES_LR_RTL)), - key(".", getPunctuationMoreKeys(isPhone))); + return joinKeys("/", key(".", getPunctuationMoreKeys(isPhone))); } @Override diff --git a/tests/src/com/android/inputmethod/keyboard/layout/HindiCompact.java b/tests/src/com/android/inputmethod/keyboard/layout/HindiCompact.java index cf20149ae..a7f682340 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/HindiCompact.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/HindiCompact.java @@ -50,7 +50,7 @@ public final class HindiCompact extends LayoutBase { public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) { // U+0964: "।" DEVANAGARI DANDA final ExpectedKey periodKey = key("\u0964", getPunctuationMoreKeys(isPhone)); - return isPhone ? joinKeys(periodKey) : joinKeys(",", periodKey); + return isPhone ? joinKeys(periodKey) : joinKeys("/", periodKey); } @Override diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java b/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java index e7f6a6552..143ccf6eb 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java @@ -94,7 +94,7 @@ public final class Khmer extends LayoutBase { } else { builder.addKeysOnTheRightOfRow(1, DELETE_KEY) .addKeysOnTheRightOfRow(3, ENTER_KEY) - .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY) + .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey()) .addKeysOnTheRightOfRow(5, EMOJI_KEY); } builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone)) diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Lao.java b/tests/src/com/android/inputmethod/keyboard/layout/Lao.java index 6f2ef216f..e7be9982a 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Lao.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Lao.java @@ -98,7 +98,7 @@ public final class Lao extends LayoutBase { } else { builder.addKeysOnTheRightOfRow(1, DELETE_KEY) .addKeysOnTheRightOfRow(3, ENTER_KEY) - .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY) + .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey()) .addKeysOnTheRightOfRow(5, EMOJI_KEY); } builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone)) diff --git a/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java b/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java index e4e95548f..c5223720c 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java @@ -161,7 +161,8 @@ public abstract class LayoutBase extends AbstractLayoutBase { */ public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) { // U+002C: "," COMMA - return isPhone ? joinKeys(key("\u002C", SETTINGS_KEY)) : joinKeys("/"); + return isPhone ? joinKeys(key("\u002C", SETTINGS_KEY)) + : joinKeys(key("\u002C", SETTINGS_KEY), "_"); } /** @@ -171,7 +172,7 @@ public abstract class LayoutBase extends AbstractLayoutBase { */ public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) { final ExpectedKey periodKey = key(".", getPunctuationMoreKeys(isPhone)); - return isPhone ? joinKeys(periodKey) : joinKeys(",", periodKey); + return isPhone ? joinKeys(periodKey) : joinKeys("/", periodKey); } /** @@ -296,7 +297,7 @@ public abstract class LayoutBase extends AbstractLayoutBase { } else { builder.addKeysOnTheRightOfRow(1, DELETE_KEY) .addKeysOnTheRightOfRow(2, ENTER_KEY) - .addKeysOnTheLeftOfRow(4, customizer.getSymbolsKey(), SETTINGS_KEY) + .addKeysOnTheLeftOfRow(4, customizer.getSymbolsKey()) .addKeysOnTheRightOfRow(4, EMOJI_KEY); } builder.addKeysOnTheLeftOfRow(3, (Object[])customizer.getLeftShiftKeys(isPhone)) diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java b/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java index 2d1c901b9..1b571acc6 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java @@ -48,12 +48,18 @@ public final class Myanmar extends LayoutBase { } @Override + public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) { + // U+002C: "," COMMA + // U+104A: "၊" MYANMAR SIGN LITTLE SECTION + return isPhone ? joinKeys(key("\u002C", SETTINGS_KEY)) + : joinKeys(key("\u104A", moreKey(","), SETTINGS_KEY), "_"); + } + + @Override public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) { // U+104B: "။" MYANMAR SIGN SECTION - // U+104A: "၊" MYANMAR SIGN LITTLE SECTION final ExpectedKey periodKey = key("\u104B", getPunctuationMoreKeys(isPhone)); - final ExpectedKey commaKey = key("\u104A", moreKey(",")); - return isPhone ? joinKeys(periodKey) : joinKeys(commaKey, periodKey); + return isPhone ? joinKeys(periodKey) : joinKeys("/", periodKey); } @Override @@ -106,7 +112,7 @@ public final class Myanmar extends LayoutBase { } else { builder.addKeysOnTheRightOfRow(1, DELETE_KEY) .addKeysOnTheRightOfRow(3, ENTER_KEY) - .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY) + .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey()) .addKeysOnTheRightOfRow(5, EMOJI_KEY); } builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone)) diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Symbols.java b/tests/src/com/android/inputmethod/keyboard/layout/Symbols.java index 726fefc68..5f3e4b196 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Symbols.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Symbols.java @@ -167,7 +167,7 @@ public class Symbols extends AbstractLayoutBase { // U+00BF: "¿" INVERTED QUESTION MARK key("?", moreKey("\u00BF"))) .setKeysOfRow(4, - key("_"), key("/"), SPACE_KEY, key(","), + key(","), key("_"), SPACE_KEY, key("/"), // U+2026: "…" HORIZONTAL ELLIPSIS key(".", moreKey("\u2026"))) .build(); diff --git a/tests/src/com/android/inputmethod/keyboard/layout/SymbolsShifted.java b/tests/src/com/android/inputmethod/keyboard/layout/SymbolsShifted.java index f611310af..3265e10e1 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/SymbolsShifted.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/SymbolsShifted.java @@ -117,15 +117,16 @@ public class SymbolsShifted extends AbstractLayoutBase { // U+2105: "℅" CARE OF "\\", "\u00A9", "\u00AE", "\u2122", "\u2105", "[", "]") .setKeysOfRow(4, + ",", // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK // U+2264: "≤" LESS-THAN OR EQUAL TO // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK key("<", joinMoreKeys("\u2039", "\u2264", "\u00AB")), + SPACE_KEY, // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK // U+2265: "≥" GREATER-THAN EQUAL TO // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK key(">", joinMoreKeys("\u203A", "\u2265", "\u00BB")), - SPACE_KEY, ",", // U+2026: "…" HORIZONTAL ELLIPSIS key(".", moreKey("\u2026"))) .build(); diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Thai.java b/tests/src/com/android/inputmethod/keyboard/layout/Thai.java index 253c93b83..af4abea93 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Thai.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Thai.java @@ -111,7 +111,7 @@ public final class Thai extends LayoutBase { } else { builder.addKeysOnTheRightOfRow(1, DELETE_KEY) .addKeysOnTheRightOfRow(3, ENTER_KEY) - .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY) + .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey()) .addKeysOnTheRightOfRow(5, EMOJI_KEY); } builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone)) diff --git a/tests/src/com/android/inputmethod/latin/utils/RecapitalizeStatusTests.java b/tests/src/com/android/inputmethod/latin/utils/RecapitalizeStatusTests.java index ada80c3fa..a3f2ce586 100644 --- a/tests/src/com/android/inputmethod/latin/utils/RecapitalizeStatusTests.java +++ b/tests/src/com/android/inputmethod/latin/utils/RecapitalizeStatusTests.java @@ -29,25 +29,25 @@ public class RecapitalizeStatusTests extends AndroidTestCase { public void testTrim() { final RecapitalizeStatus status = new RecapitalizeStatus(); - status.initialize(30, 40, "abcdefghij", Locale.ENGLISH, SPACE); + status.start(30, 40, "abcdefghij", Locale.ENGLISH, SPACE); status.trim(); assertEquals("abcdefghij", status.getRecapitalizedString()); assertEquals(30, status.getNewCursorStart()); assertEquals(40, status.getNewCursorEnd()); - status.initialize(30, 44, " abcdefghij", Locale.ENGLISH, SPACE); + status.start(30, 44, " abcdefghij", Locale.ENGLISH, SPACE); status.trim(); assertEquals("abcdefghij", status.getRecapitalizedString()); assertEquals(34, status.getNewCursorStart()); assertEquals(44, status.getNewCursorEnd()); - status.initialize(30, 40, "abcdefgh ", Locale.ENGLISH, SPACE); + status.start(30, 40, "abcdefgh ", Locale.ENGLISH, SPACE); status.trim(); assertEquals("abcdefgh", status.getRecapitalizedString()); assertEquals(30, status.getNewCursorStart()); assertEquals(38, status.getNewCursorEnd()); - status.initialize(30, 45, " abcdefghij ", Locale.ENGLISH, SPACE); + status.start(30, 45, " abcdefghij ", Locale.ENGLISH, SPACE); status.trim(); assertEquals("abcdefghij", status.getRecapitalizedString()); assertEquals(33, status.getNewCursorStart()); @@ -56,7 +56,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase { public void testRotate() { final RecapitalizeStatus status = new RecapitalizeStatus(); - status.initialize(29, 40, "abcd efghij", Locale.ENGLISH, SPACE); + status.start(29, 40, "abcd efghij", Locale.ENGLISH, SPACE); status.rotate(); assertEquals("Abcd Efghij", status.getRecapitalizedString()); assertEquals(29, status.getNewCursorStart()); @@ -68,7 +68,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase { status.rotate(); assertEquals("Abcd Efghij", status.getRecapitalizedString()); - status.initialize(29, 40, "Abcd Efghij", Locale.ENGLISH, SPACE); + status.start(29, 40, "Abcd Efghij", Locale.ENGLISH, SPACE); status.rotate(); assertEquals("ABCD EFGHIJ", status.getRecapitalizedString()); assertEquals(29, status.getNewCursorStart()); @@ -80,7 +80,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase { status.rotate(); assertEquals("ABCD EFGHIJ", status.getRecapitalizedString()); - status.initialize(29, 40, "ABCD EFGHIJ", Locale.ENGLISH, SPACE); + status.start(29, 40, "ABCD EFGHIJ", Locale.ENGLISH, SPACE); status.rotate(); assertEquals("abcd efghij", status.getRecapitalizedString()); assertEquals(29, status.getNewCursorStart()); @@ -92,7 +92,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase { status.rotate(); assertEquals("abcd efghij", status.getRecapitalizedString()); - status.initialize(29, 39, "AbCDefghij", Locale.ENGLISH, SPACE); + status.start(29, 39, "AbCDefghij", Locale.ENGLISH, SPACE); status.rotate(); assertEquals("abcdefghij", status.getRecapitalizedString()); assertEquals(29, status.getNewCursorStart()); @@ -106,7 +106,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase { status.rotate(); assertEquals("abcdefghij", status.getRecapitalizedString()); - status.initialize(29, 40, "Abcd efghij", Locale.ENGLISH, SPACE); + status.start(29, 40, "Abcd efghij", Locale.ENGLISH, SPACE); status.rotate(); assertEquals("abcd efghij", status.getRecapitalizedString()); assertEquals(29, status.getNewCursorStart()); @@ -120,7 +120,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase { status.rotate(); assertEquals("abcd efghij", status.getRecapitalizedString()); - status.initialize(30, 34, "grüß", Locale.GERMAN, SPACE); + status.start(30, 34, "grüß", Locale.GERMAN, SPACE); status.rotate(); assertEquals("Grüß", status.getRecapitalizedString()); assertEquals(30, status.getNewCursorStart()); @@ -138,7 +138,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase { assertEquals(30, status.getNewCursorStart()); assertEquals(34, status.getNewCursorEnd()); - status.initialize(30, 33, "œuf", Locale.FRENCH, SPACE); + status.start(30, 33, "œuf", Locale.FRENCH, SPACE); status.rotate(); assertEquals("Œuf", status.getRecapitalizedString()); assertEquals(30, status.getNewCursorStart()); @@ -156,7 +156,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase { assertEquals(30, status.getNewCursorStart()); assertEquals(33, status.getNewCursorEnd()); - status.initialize(30, 33, "œUf", Locale.FRENCH, SPACE); + status.start(30, 33, "œUf", Locale.FRENCH, SPACE); status.rotate(); assertEquals("œuf", status.getRecapitalizedString()); assertEquals(30, status.getNewCursorStart()); @@ -178,7 +178,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase { assertEquals(30, status.getNewCursorStart()); assertEquals(33, status.getNewCursorEnd()); - status.initialize(30, 35, "école", Locale.FRENCH, SPACE); + status.start(30, 35, "école", Locale.FRENCH, SPACE); status.rotate(); assertEquals("École", status.getRecapitalizedString()); assertEquals(30, status.getNewCursorStart()); diff --git a/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml index 4ecb10533..ab78f45c6 100644 --- a/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml +++ b/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml @@ -80,7 +80,7 @@ U+061B: "؛" ARABIC SEMICOLON --> <string name="keyspec_tablet_comma">"،"</string> <string name="keyhintlabel_tablet_comma">"؟"</string> - <string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,؟,؛,-,/,\",\'"</string> + <string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,؟,؛,-,\",\'"</string> <!-- U+266A: "♪" EIGHTH NOTE --> <string name="morekeys_bullet">♪</string> <!-- U+2605: "★" BLACK STAR diff --git a/tools/make-keyboard-text/res/values-fa/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-fa/donottranslate-more-keys.xml index bdbc92afa..58f455504 100644 --- a/tools/make-keyboard-text/res/values-fa/donottranslate-more-keys.xml +++ b/tools/make-keyboard-text/res/values-fa/donottranslate-more-keys.xml @@ -82,7 +82,7 @@ U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK --> <string name="keyspec_tablet_comma">"،"</string> <string name="keyhintlabel_tablet_comma">"؟"</string> - <string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,؟,؛,-,/,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote"</string> + <string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,؟,؛,-,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote"</string> <!-- U+FDFC: "﷼" RIAL SIGN --> <string name="keyspec_currency">﷼</string> <!-- U+266A: "♪" EIGHTH NOTE --> |