Merge "Revert "Pass hover event to accessibility key handling methods""
diff --git a/java/res/values-af/strings-talkback-descriptions.xml b/java/res/values-af/strings-talkback-descriptions.xml
index aee891b..3c2cb63 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 aab1587..2e1243a 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 1e5ec44..0ca701b 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 a9bfb77..b6c259f 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 3a0596e..5dd303a 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 3f0ac83..50025b5 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 4097d93..3127feb 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 dae9b78..a809579 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 53326b3..ffcdb44 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 f926b9a..e2fe2b7 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 3b990ad..60a6d17 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 225df1a..0f726dd 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 225df1a..0f726dd 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 bdf2bab..52f7916 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 9cc6f5d..86c970f 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 0922987..2a7493e 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 bc3a5bf..b36b88a 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 74f8a09..ad08bbd 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 ffc7eef..e6050fb 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 2ddffc8..263792c 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 d0b5c3b..3790426 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 582314e..9747aeb 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 75d1684..a5c4dfa 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 a03895b..1b514b2 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 21a439f..f41f2fc 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 7df498e..d9c9b6d 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 1f206ee..07c5bf7 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 3b4cca3..e48f771 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 d6c2878..f3f07af 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 b218b49..757b832 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 81c6661..1840efc 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 1470316..daf8180 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 c81e5e1..9f1d997 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 bb8c383..67934c7 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 4595716..117c095 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 ae66e14..83a702e 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 9d07735..4a63b02 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 a5cb62c..8baf25b 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 544fe9a..bd15c3f 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 048672b..f09a51d 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 9824950..c28ac20 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 c945c81..1595a99 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 842a2bf..ad0a627 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 27c68fd..899491a 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 3cf2971..a3419b8 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 c8e5a75..548e21a 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 a7fe207..4393e56 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 1ec691e..9a97b26 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 8541364..fac1969 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 1c6ad71..84e2cc0 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 7ad42ad..e026dba 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 a4a1a95..f44a0b9 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 4082175..34bfd8f 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 09fbb45..d79e4b8 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 68bd175..e2f0eb1 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 ec6289b..92ccc68 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 f8d1eb4..d14cccf 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 cb241c8..fd7a43f 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 f032870..a7447ce 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 48b21b7..7802520 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 97905ad..df977bd 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 970f584..c392e85 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 20f1647..3f43a12 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 6da8cec..5c91409 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 ee025f6..f0770ab 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 3484bf3..1bed8c9 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 4d0352e..f7ca6ce 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 ff7c3c9..1a6f8b4 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/xml/keys_comma_period_symbols.xml b/java/res/values/strings-production.xml
similarity index 64%
rename from java/res/xml/keys_comma_period_symbols.xml
rename to java/res/values/strings-production.xml
index 843595c..8064b99 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="&#x2026;" />
-</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.xml b/java/res/values/strings.xml
index 2ad7ce5..3f5980d 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 0000000..67199e2
--- /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
similarity index 81%
rename from java/res/xml-sw600dp/keys_comma_period.xml
rename to java/res/xml-sw600dp/key_period.xml
index 23172cf..d2909d8 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 c5506b5..7de2769 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 d3709ef..ab2b560 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 d931437..0eb86f2 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 3471c85..7bd7385 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 9d5d52e..8b3bb2e 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
similarity index 77%
rename from java/res/xml/keys_less_greater.xml
rename to java/res/xml/key_styles_less_greater.xml
index 778de02..db4c798 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
similarity index 86%
rename from java/res/xml/key_styles_f1.xml
rename to java/res/xml/key_styles_settings.xml
index 8a07827..956b402 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 a629862..0e9c161 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 279f646..e7a3ee7 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 09f6b62..2be03bd 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="&#x2026;" />
 </merge>
diff --git a/java/res/xml/row_symbols_shift4.xml b/java/res/xml/row_symbols_shift4.xml
index f75575b..4fc63c2 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="&#x2026;" />
 </merge>
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
index 40c915c..ab25558 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 @@
         /* 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 @@
         /* 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/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
index af46aad..5eb0377 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.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 @@
             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/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java b/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java
index b0493d3..fa81865 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 @@
                 // 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 @@
             // 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 204bb01..eb64b83 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 @@
         }
 
         @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 @@
         } 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 7ba1d78..e75cfd0 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 @@
 
         @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 @@
                     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 16d2f86..a513740 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 @@
                 // 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 @@
             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 cf20149..a7f6823 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 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 e7f6a65..143ccf6 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 @@
         } 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 6f2ef21..e7be998 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 @@
         } 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 e4e9554..c522372 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 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 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 @@
         } 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 2d1c901..1b571ac 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 @@
         }
 
         @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 @@
         } 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 726fefc..5f3e4b1 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 @@
                     // 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 f611310..3265e10 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 @@
                     // 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 253c93b..af4abea 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 @@
         } 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/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml
index 4ecb105..ab78f45 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">"&#x060C;"</string>
     <string name="keyhintlabel_tablet_comma">"&#x061F;"</string>
-    <string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,&#x061F;,&#x061B;,-,/,\",\'"</string>
+    <string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,&#x061F;,&#x061B;,-,\",\'"</string>
     <!-- U+266A: "♪" EIGHTH NOTE -->
     <string name="morekeys_bullet">&#x266A;</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 bdbc92a..58f4555 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">"&#x060C;"</string>
     <string name="keyhintlabel_tablet_comma">"&#x061F;"</string>
-    <string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,&#x061F;,&#x061B;,-,/,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote"</string>
+    <string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,&#x061F;,&#x061B;,-,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote"</string>
     <!-- U+FDFC: "﷼" RIAL SIGN -->
     <string name="keyspec_currency">&#xFDFC;</string>
     <!-- U+266A: "♪" EIGHTH NOTE -->