Merge "Rename jni method for n-gram supporting."
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml
index 5d8ef43..6f4e602 100644
--- a/java/AndroidManifest.xml
+++ b/java/AndroidManifest.xml
@@ -86,7 +86,7 @@
</receiver>
<activity android:name=".settings.SettingsActivity"
- android:theme="@style/platformSettingsTheme"
+ android:theme="@style/platformActivityTheme"
android:label="@string/english_ime_settings"
android:uiOptions="splitActionBarWhenNarrow">
<intent-filter>
@@ -95,7 +95,7 @@
</activity>
<activity android:name=".spellcheck.SpellCheckerSettingsActivity"
- android:theme="@style/platformSettingsTheme"
+ android:theme="@style/platformActivityTheme"
android:label="@string/android_spell_checker_settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -103,7 +103,7 @@
</activity>
<activity android:name=".settings.DebugSettingsActivity"
- android:theme="@style/platformSettingsTheme"
+ android:theme="@style/platformActivityTheme"
android:label="@string/english_ime_debug_settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -150,7 +150,7 @@
</receiver>
<activity android:name="com.android.inputmethod.dictionarypack.DictionarySettingsActivity"
- android:theme="@style/platformSettingsTheme"
+ android:theme="@style/platformActivityTheme"
android:label="@string/dictionary_settings_title"
android:uiOptions="splitActionBarWhenNarrow">
<intent-filter>
diff --git a/java/res/values-af/strings-action-keys.xml b/java/res/values-af/strings-action-keys.xml
index bef175b..c7ae3f7 100644
--- a/java/res/values-af/strings-action-keys.xml
+++ b/java/res/values-af/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Vorige"</string>
<string name="label_done_key" msgid="7564866296502630852">"Klaar"</string>
<string name="label_send_key" msgid="482252074224462163">"Stuur"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Soek"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Laat wag"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Wag"</string>
</resources>
diff --git a/java/res/values-af/strings-letter-descriptions.xml b/java/res/values-af/strings-letter-descriptions.xml
new file mode 100644
index 0000000..1238a43
--- /dev/null
+++ b/java/res/values-af/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Vroulike rangtelwoordaanwyser"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Mikroteken"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Manlike rangtelwoordaanwyser"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Stemlose S"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, gravis"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, akuut"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, kappie"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, tilde"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, deelteken"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, sirkel bo"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, koppelletter"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, cédille"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, gravis"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, akuut"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, kappie"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, deelteken"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, gravis"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, akuut"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, kappie"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, deelteken"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, tilde"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, gravis"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, akuut"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, kappie"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, tilde"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, deelteken"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, deurhaal"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, gravis"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, akuut"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, kappie"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, deelteken"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, akuut"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, deelteken"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, makron"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, brevis"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, ogonek"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, akuut"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, kappie"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, kol bo"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, onderstebo kappie"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, onderstebo kappie"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, deurhaal"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, makron"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, brevis"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, kol bo"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, ogonek"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, onderstebo kappie"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, kappie"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, brevis"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, kol bo"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, cédille"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, kappie"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, deurhaal"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, tilde"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, makron"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, brevis"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, ogonek"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"Kollose I"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, koppelletter"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, kappie"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, cédille"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, akuut"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, cédille"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, onderstebo kappie"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, middelkol"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, deurhaal"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, akuut"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, cédille"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, onderstebo kappie"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, voorafgegaan deur apostroof"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, makron"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, brevis"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, dubbelakuut"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, koppelletter"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, akuut"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, cédille"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, onderstebo kappie"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, akuut"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, kappie"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, cédille"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, onderstebo kappie"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, cédille"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, onderstebo kappie"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, deurhaal"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, tilde"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, makron"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, brevis"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, sirkel bo"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, dubbelakuut"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, ogonek"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, kappie"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, kappie"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, akuut"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, kol bo"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, onderstebo kappie"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"Lang S"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, horing"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, horing"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, komma onder"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, komma onder"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Sjwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, kol onder"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, haak bo"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, kappie en akuut"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, kappie en gravis"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, kappie en haak bo"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, kappie en tilde"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, kappie en kol onder"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, brevis en akuut"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, brevis en gravis"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, brevis en haak bo"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, brevis en tilde"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, brevis en kol onder"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, kol onder"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, haak bo"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, tilde"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, kappie en akuut"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, kappie en gravis"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, kappie en haak bo"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, kappie en tilde"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, kappie en kol onder"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, haak bo"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, kol onder"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, kol onder"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, haak bo"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, kappie en akuut"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, kappie en gravis"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, kappie en haak bo"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, kappie en tilde"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, kappie en kol onder"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, horing en akuut"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, horing en gravis"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, horing en haak bo"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, horing en tilde"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, horing en kol onder"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, kol onder"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, haak bo"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, horing en akuut"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, horing en gravis"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, horing en haak bo"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, horing en tilde"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, horing en kol onder"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, gravis"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, kol onder"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, haak bo"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, tilde"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Onderstebo uitroepteken"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Dubbele hoekaanhalingsteken na links"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Middelkol"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Boskrif-een"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Dubbele hoekaanhalingsteken na regs"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Onderstebo vraagteken"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Enkele linkeraanhalingsteken"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Enkele regteraanhalingsteken"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Enkele lae-9-aanhalingsteken"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Dubbele linkeraanhalingsteken"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Dubbele regteraanhalingsteken"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Kruisie"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Dubbelkruisie"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Per-duisend-teken"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Aksent"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Dubbelaksent"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Enkele hoekaanhalingsteken na links"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Enkele hoekaanhalingsteken na regs"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Boskrif-vier"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"Klein Latynse boskrif-letter-n"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Peso-teken"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Per adres"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Pyl na regs"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Pyl na onder"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Leë versameling"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Vermeerdering"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Minder as of gelyk aan"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Meer as of gelyk aan"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Swart ster"</string>
+</resources>
diff --git a/java/res/values-af/strings-talkback-descriptions.xml b/java/res/values-af/strings-talkback-descriptions.xml
index 09abb5f..3b6ba0a 100644
--- a/java/res/values-af/strings-talkback-descriptions.xml
+++ b/java/res/values-af/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Onbekende karakter"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Plekke"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Simbole"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Emosiekone"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"Hoofletter-<xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"Hoofletter-I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"Hoofletter-I, kol bo"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Onbekende simbool"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Onbekende emosiekoon"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Alternatiewe karakters is beskikbaar"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Alternatiewe karakters is toegemaak"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Alternatiewe voorstelle is beskikbaar"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Alternatiewe voorstelle is toegemaak"</string>
</resources>
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
index 0367c47..295c855 100644
--- a/java/res/values-af/strings.xml
+++ b/java/res/values-af/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Stel kontakname voor"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Gebruik name van kontakte vir voorstelle en korreksies"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Gepersonaliseerde voorstelle"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Verbeter <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Dubbelspasie-punt"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Dubbeltik op spasiebalk voeg \'n punt in, gevolg deur \'n spasie"</string>
<string name="auto_cap" msgid="1719746674854628252">"Outohoofletters"</string>
diff --git a/java/res/values-am/strings-action-keys.xml b/java/res/values-am/strings-action-keys.xml
index 26e4513..51c2538 100644
--- a/java/res/values-am/strings-action-keys.xml
+++ b/java/res/values-am/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"ቀዳሚ"</string>
<string name="label_done_key" msgid="7564866296502630852">"ተደርጓል"</string>
<string name="label_send_key" msgid="482252074224462163">"ላክ"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"ፈልግ"</string>
<string name="label_pause_key" msgid="2225922926459730642">"ቆም በል"</string>
<string name="label_wait_key" msgid="5891247853595466039">"ጠብቅ"</string>
</resources>
diff --git a/java/res/values-am/strings-letter-descriptions.xml b/java/res/values-am/strings-letter-descriptions.xml
new file mode 100644
index 0000000..5c94869
--- /dev/null
+++ b/java/res/values-am/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"እንስት የደረጃ አመልካች"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"የማይክሮ ምልክት"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"ተባዕታይ የደረጃ አመልካች"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"ሻርፕ ኤስ"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"ኤ፣ ጭረት"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"ኤ፣ ይዘት"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"ኤ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"ኤ፣ ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"ኤ፣ ባለሁለት ነጥብ"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"ኤ፣ ቀለበት ከላይ"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"ኤ፣ ኢ፣ ማሰሪያ"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"ሲ፣ ጭራ"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"ኢ፣ ጭረት"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"ኢ፣ ይዘት"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"ኢ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"ኢ፣ ባለሁለት ነጥብ"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"አይ፣ ጭረት"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"አይ፣ ይዘት"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"አይ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"አይ፣ ባለሁለት ነጥብ"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"ኤት"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"ኤን፣ ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"ኦ፣ ጭረት"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"ኦ፣ ይዘት"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"ኦ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"ኦ፣ ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"ኦ፣ ባለሁለት ነጥብ"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"ኦ፣ ሰያፍ ሰረዝ"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"ዩ፣ ጭረት"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"ዩ፣ ይዘት"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"ዩ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"ዩ፣ ባለሁለት ነጥብ"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"ዋይ፣ ይዘት"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"ቶርን"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"ዋይ፣ ባለሁለት ነጥብ"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"ኤ፣ ማክሮን"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"ኤ፣ ቁንጽል"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"ኤ፣ ኦጎነክ"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"ሲ፣ ይዘት"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"ሲ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"ሲ፣ ነጥብ ከላይ"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"ሲ፣ ካሮን"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"ዲ፣ ካሮን"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"ዲ፣ ሰያፍ ሰረዝ"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"ኢ፣ ማክሮን"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"ኢ፣ ቁንጽል"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"ኢ፣ ነጥብ ከላይ"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"ኢ፣ ኦጎነክ"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"ኢ፣ ካሮን"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"ጂ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"ጂ፣ ቁንጽል"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"ጂ፣ ነጥብ ከላይ"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"ጂ፣ ጭራ"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"ኤች፣ ድፋት"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"ኤች፣ ሰያፍ ሰረዝ"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"አይ፣ ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"አይ፣ ማክሮን"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"አይ፣ ቁንጽል"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"አይ፣ ኦጎነክ"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"ነጥብ አልባ አይ"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"አይ፣ ጄ፣ ማሰሪያ"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"ጄ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"ኬ፣ ጭራ"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"ክራ"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"ኤል፣ ይዘት"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"ኤል፣ ጭራ"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"ኤል፣ ካሮን"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"ኤል፣ የመሃል ነጥብ"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"ኤል፣ ሰያፍ ሰረዝ"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"ኤን፣ ይዘት"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"ኤን፣ ጭራ"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"ኤን፣ ካሮን"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"ኤን፣ በትእምርተ ጭረት የተቀደመ"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"እንግ"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"ኦ፣ ማክሮን"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"ኦ፣ ቁንጽል"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"ኦ፣ ድርብ ይዘት"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"ኦ፣ ኢ፣ ማሰሪያ"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"አር፣ ይዘት"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"አር፣ ጭራ"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"አር፣ ካሮን"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"ኤስ፣ ይዘት"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"ኤስ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"ኤስ፣ ጭራ"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"ኤስ፣ ካሮን"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"ቲ፣ ጭራ"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"ቲ፣ ካሮን"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"ቲ፣ ሰያፍ ሰረዝ"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"ዩ፣ ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"ዩ፣ ማክሮን"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"ዩ፣ ቁንጽል"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"ዩ፣ ቀለበት ከላይ"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"ዩ፣ ድርብ ይዘት"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"ዩ፣ ኦጎነክ"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"ደብልዩ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"ዋይ፣ ድፋት"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"ዜድ፣ ይዘት"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"ዜድ፣ ነጥብ ከላይ"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"ዜድ፣ ካሮን"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"ረጅም ኤስ"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"ኦ፣ ቀንድ"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"ዩ፣ ቀንድ"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"ኤስ፣ ኮማ ከታች"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"ቲ፣ ኮማ ከታች"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"ሽዋ"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"ኤ፣ ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"ኤ፣ መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"ኤ፣ ድፋት እና ይዘት"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"ኤ፣ ድፋት እና ጭረት"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"ኤ፣ ድፋት እና መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"ኤ፣ ድፋት እና ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"ኤ፣ ድፋት እና ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"ኤ፣ ቁንጽል እና ይዘት"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"ኤ፣ ቁንጽል እና ጭረት"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"ኤ፣ ቁንጽል እና መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"ኤ፣ ቁንጽል እና ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"ኤ፣ ቁንጽል እና ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"ኢ፣ ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"ኢ፣ መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"ኢ፣ ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"ኢ፣ ድፋት እና ይዘት"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"ኢ፣ ድፋት እና ጭረት"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"ኢ፣ ድፋት እና መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"ኢ፣ ድፋት እና ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"ኢ፣ ድፋት እና ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"አይ፣ መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"አይ፣ ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"ኦ፣ ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"ኦ፣ መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"ኦ፣ ድፋት እና ይዘት"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"ኦ፣ ድፋት እና ጭረት"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"ኦ፣ ድፋት እና መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"ኦ፣ ድፋት እና ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"ኦ፣ ድፋት እና ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"ኦ፣ ቀንድ እና ይዘት"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"ኦ፣ ቀንድ እና ጭረት"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"ኦ፣ ቀንድ እና መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"ኦ፣ ቀንድ እና ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"ኦ፣ ቀንድ እና ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"ዩ፣ ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"ዩ፣ መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"ዩ፣ ቀንድ እና ይዘት"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"ዩ፣ ቀንድ እና ጭረት"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"ዩ፣ ቀንድ እና መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"ዩ፣ ቀንድ እና ድፋትቅናት"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"ዩ፣ ቀንድ እና ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"ዋይ፣ ጭረት"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"ዋይ፣ ነጥብ ከታች"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"ዋይ፣ መንጠቆ ከላይ"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"ዋይ፣ ድፋትቅናት"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"የተገለበጠ ቃለ አጋኖ"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"ግራ ጠቋሚ ድርብ የማዕዘን ትዕምርተ ጥቅስ"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"የመሃል ነጥብ"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"ራስጌ አደር አንድ"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"ቀኝ ጠቋሚ ድርብ የማዕዘን ትዕምርተ ጥቅስ"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"የተገለበጠ የጥያቄ ምልክት"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"የግራ ነጠላ ትዕምርተ ጥቅስ"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"የቀኝ ነጠላ ትዕምርተ ጥቅስ"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"ነጠላ ዝቅተኛ-9 ትዕምርተ ጥቅስ"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"የግራ ድርብ ትዕምርተ ጥቅስ"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"የቀኝ ድርብ ትዕምርተ ጥቅስ"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"ሾተል"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"ድርብ ሾተል"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"የሺኛ ምልክት"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"ፕራይም"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"ድርብ ፕራይም"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"ነጠላ ግራ ጠቋሚ የማዕዘን ትዕምርተ ጥቅስ"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"ነጠላ ቀኝ ጠቋሚ የማዕዘን ትዕምርተ ጥቅስ"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"ራስጌ አደር አራት"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"የራስጌ አደር ላቲን ንዑስ ሆሄ ኤን"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"የፔሶ ምልክት"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"ባለአደራ"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"የቀኝ ቀስት"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"የታች ቀስት"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"ባዶ ስብስብ"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"ጨምር"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"ያንሳል ወይም እክሉ ነው ከ"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"ይበልጣል ወይም እክሉ ነው ከ"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"ጥቁር ኮከብ"</string>
+</resources>
diff --git a/java/res/values-am/strings-talkback-descriptions.xml b/java/res/values-am/strings-talkback-descriptions.xml
index 1b1da01..84c3cb0 100644
--- a/java/res/values-am/strings-talkback-descriptions.xml
+++ b/java/res/values-am/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"ያልታወቀ ቁምፊ"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"ቦታዎች"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"ምልክቶች"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"ስሜት ገላጭ አዶዎች"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"አቢይ ሆሄ <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"አቢይ ሆሄ አይ"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"አቢይ ሆሄ አይ፣ ነጥብ ከላይ"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"ያልታወቀ ምልክት"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"ያልታወቀ ስሜት ገላጭ ምስል"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"ተለዋጭ ቁምፊዎች ይገኛሉ"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"ተለዋጭ ቁምፊዎች ተሰናብተዋል"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"ተለዋጭ የአስተያየት ጥቆማዎች ይገኛሉ"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"ተለዋጭ የአስተያየት ጥቆማዎች ተሰናብተዋል"</string>
</resources>
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml
index b201757..35eb17c 100644
--- a/java/res/values-am/strings.xml
+++ b/java/res/values-am/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"የዕውቂያ ስም ጠቁም"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"ከዕውቂያዎች ለጥቆማዎች እና ማስተካከያዎች ስሞች ተጠቀም"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"ግላዊ የጥቆማ አስተያየቶች"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"<xliff:g id="APPLICATION_NAME">%s</xliff:g>ን አሻሽል"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"የድርብ-ክፍተት ነጥብ"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"የክፍተት አሞሌው ላይ ሁለቴ መታ ማድረግ አንድ ነጥብ እና ክፍተት አስከትሎ ያስገባል"</string>
<string name="auto_cap" msgid="1719746674854628252">"ራስ-ሰር አቢይ ማድረግ"</string>
diff --git a/java/res/values-ca/strings-action-keys.xml b/java/res/values-ca/strings-action-keys.xml
index 5dcf4a3..2760fb0 100644
--- a/java/res/values-ca/strings-action-keys.xml
+++ b/java/res/values-ca/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Ant."</string>
<string name="label_done_key" msgid="7564866296502630852">"Fet"</string>
<string name="label_send_key" msgid="482252074224462163">"Envia"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Cerca"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Atura"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Esp."</string>
</resources>
diff --git a/java/res/values-ca/strings-letter-descriptions.xml b/java/res/values-ca/strings-letter-descriptions.xml
new file mode 100644
index 0000000..a6569ec
--- /dev/null
+++ b/java/res/values-ca/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Indicador ordinal femení"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Signe de micro"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Indicador ordinal masculí"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"S sonora"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, accent obert"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, accent tancat"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, circumflex"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, titlla"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, dièresi"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, anell"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, lligadura"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, ce trencada"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, accent obert"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, accent tancat"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, circumflex"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, dièresi"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, accent obert"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, accent tancat"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, circumflex"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, dièresi"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, titlla"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, accent obert"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, accent tancat"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, circumflex"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, titlla"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, dièresi"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, conjunt buit"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, accent obert"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, accent tancat"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, circumflex"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"O, dièresi"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, accent tancat"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, dièresi"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, màcron"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, breu"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, croc polonès"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, accent tancat"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, circumflex"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, punt superior"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, anticircumflex"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, anticircumflex"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, barra"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, anticircumflex"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, breu"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, punt superior"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, croc polonès"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, anticircumflex"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, circumflex"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, breu"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, punt superior"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, vírgula"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, circumflex"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, barra"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, titlla"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, màcron"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, breu"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, croc polonès"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"I sense punt"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, lligadura"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, circumflex"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, vírgula"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, accent tancat"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, vírgula"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, anticircumflex"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, punt volat"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, barra"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, accent tancat"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, vírgula"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, anticircumflex"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, precedida d\'apòstrof"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, màcron"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, breu"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, accent tancat doble"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, lligadura"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, accent tancat"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, vírgula"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, anticircumflex"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, accent tancat"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, circumflex"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, vírgula"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, anticircumflex"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, vírgula"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, anticircumflex"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, barra"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, titlla"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, màcron"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, breu"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, anell"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, accent tancat doble"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, croc polonès"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, circumflex"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, circumflex"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, accent tancat"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, punt superior"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, anticircumflex"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"S llarga"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, banya"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, banya"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, coma inferior"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, coma inferior"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Neutra"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, punt inferior"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, vírgula superior"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, circumflex i accent tancat"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, circumflex i accent obert"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, circumflex i vírgula superior"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, circumflex i titlla"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, circumflex i punt inferior"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, breu i accent tancat"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, breu i accent obert"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, breu i vírgula superior"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, breu i titlla"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, breu i punt inferior"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, punt inferior"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, vírgula superior"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, titlla"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, circumflex i accent tancat"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, circumflex i accent obert"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, circumflex i vírgula superior"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, circumflex i titlla"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, circumflex i punt inferior"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, vírgula superior"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, punt inferior"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, punt inferior"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, vírgula superior"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, circumflex i accent tancat"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, circumflex i accent obert"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, circumflex i vírgula superior"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, circumflex i titlla"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, circumflex i punt inferior"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, banya i accent tancat"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, banya i accent obert"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, banya i vírgula superior"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, banya i titlla"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, banya i punt inferior"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, punt inferior"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, vírgula superior"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, banya i accent tancat"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, banya i accent obert"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, banya i vírgula superior"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, banya i titlla"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, banya i punt inferior"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, accent obert"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, punt inferior"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, vírgula superior"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, titlla"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Signe d\'exclamació invertit"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Doble cometa angular d\'obertura"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"punt volat"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Superíndex d\'u"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Doble cometa angular de tancament"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Signe d\'interrogació invertit"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Cometes simples d\'obertura"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Cometes simples de tancament"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Cometes alemanyes simples d\'obertura"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Cometes dobles d\'obertura"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Cometes dobles de tancament"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Obelisc"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Doble obelisc"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Signe per mil"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Cometa"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Cometa doble"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Cometes angulars simples d\'obertura"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Cometes angulars simples de tancament"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Superíndex de quatre"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"Superíndex de lletra minúscula llatina n"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Signe del peso"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Percentatge"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Fletxa cap a la dreta"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Fletxa cap avall"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Conjunt buit"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Increment"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Més petit o igual que"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Més gran o igual que"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Estrella negra"</string>
+</resources>
diff --git a/java/res/values-ca/strings-talkback-descriptions.xml b/java/res/values-ca/strings-talkback-descriptions.xml
index 5bbf655..9b01c75 100644
--- a/java/res/values-ca/strings-talkback-descriptions.xml
+++ b/java/res/values-ca/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Caràcter desconegut"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Llocs"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Símbols"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Emoticones"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"<xliff:g id="LOWER_LETTER">%s</xliff:g> majúscula"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"I majúscula"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"I majúscula, punt superior"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Símbol desconegut"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Emoji desconegut"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Hi ha caràcters alternatius disponibles."</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Els caràcters alternatius s\'ignoren."</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Hi ha suggeriments alternatius disponibles."</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Els suggeriments alternatius s\'ignoren."</string>
</resources>
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index cd5e1d4..7f0782d 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Suggereix noms de contactes"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilitza els noms de contactes per fer suggeriments i correccions"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Suggeriments personalitz."</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Millora <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Punt amb doble espai"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Picar dues vegades la barra d\'espai insereix punt i espai blanc"</string>
<string name="auto_cap" msgid="1719746674854628252">"Majúscules automàtiques"</string>
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
index fe51c79..abbdcbe 100644
--- a/java/res/values-cs/strings.xml
+++ b/java/res/values-cs/strings.xml
@@ -52,7 +52,7 @@
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Dvojím klepnutím na mezerník vložíte tečku následovanou mezerou."</string>
<string name="auto_cap" msgid="1719746674854628252">"Velká písmena automaticky"</string>
<string name="auto_cap_summary" msgid="7934452761022946874">"Kapitalizace prvního slova každé věty"</string>
- <string name="edit_personal_dictionary" msgid="3996910038952940420">"Osobní slovník"</string>
+ <string name="edit_personal_dictionary" msgid="3996910038952940420">"Vlastní slovník"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Doplňkové slovníky"</string>
<string name="main_dictionary" msgid="4798763781818361168">"Hlavní slovník"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Zobrazit návrhy oprav"</string>
diff --git a/java/res/values-en-rGB/strings-action-keys.xml b/java/res/values-en-rGB/strings-action-keys.xml
index b8b02e1..6514e85 100644
--- a/java/res/values-en-rGB/strings-action-keys.xml
+++ b/java/res/values-en-rGB/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Prev"</string>
<string name="label_done_key" msgid="7564866296502630852">"Finished"</string>
<string name="label_send_key" msgid="482252074224462163">"Send"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Search"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Pause"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Wait"</string>
</resources>
diff --git a/java/res/values-en-rGB/strings-letter-descriptions.xml b/java/res/values-en-rGB/strings-letter-descriptions.xml
new file mode 100644
index 0000000..514bc6c
--- /dev/null
+++ b/java/res/values-en-rGB/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Feminine ordinal indicator"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Micro sign"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Masculine ordinal indicator"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Sharp S"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, grave"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, acute"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, circumflex"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, tilde"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, diaeresis"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, ring above"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, ligature"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, cedilla"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, grave"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, acute"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, circumflex"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, diaeresis"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, grave"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, acute"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, circumflex"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, diaeresis"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, tilde"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, grave"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, acute"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, circumflex"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, tilde"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, diaeresis"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, stroke"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, grave"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, acute"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, circumflex"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, diaeresis"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, acute"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, diaeresis"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, macron"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, breve"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, ogonek"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, acute"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, circumflex"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, dot above"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, caron"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, caron"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, stroke"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, macron"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, breve"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, dot above"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, ogonek"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, caron"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, circumflex"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, breve"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, dot above"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, cedilla"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, circumflex"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, stroke"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, tilde"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, macron"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, breve"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, ogonek"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"Dotless I"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, ligature"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, circumflex"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, cedilla"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, acute"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, cedilla"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, caron"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, middle dot"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, stroke"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, acute"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, cedilla"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, caron"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, preceded by apostrophe"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, macron"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, breve"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, double acute"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, ligature"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, acute"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, cedilla"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, caron"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, acute"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, circumflex"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, cedilla"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, caron"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, cedilla"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, caron"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, stroke"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, tilde"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, macron"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, breve"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, ring above"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, double acute"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, ogonek"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, circumflex"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, circumflex"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, acute"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, dot above"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, caron"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"Long S"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, horn"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, horn"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, comma below"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, comma below"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, dot below"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, hook above"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, breve and acute"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, breve and grave"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, breve and hook above"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, breve and tilde"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, breve and dot below"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, dot below"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, hook above"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, tilde"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, hook above"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, dot below"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, dot below"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, hook above"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, horn and acute"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, horn and grave"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, horn and hook above"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, horn and tilde"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, horn and dot below"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, dot below"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, hook above"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, horn and acute"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, horn and grave"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, horn and hook above"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, horn and tilde"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, horn and dot below"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, grave"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, dot below"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, hook above"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, tilde"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Inverted exclamation mark"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Left-pointing double angle quotation mark"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Middle dot"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Superscript one"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Right-pointing double angle quotation mark"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Inverted question mark"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Left single quotation mark"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Right single quotation mark"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Single low-9 quotation mark"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Left double quotation mark"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Right double quotation mark"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Dagger"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Double dagger"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Per mille sign"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Prime"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Double prime"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Single left-pointing angle quotation mark"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Single right-pointing angle quotation mark"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Superscript four"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"Superscript latin small letter n"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Peso sign"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Care of"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Rightwards arrow"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Downwards arrow"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Empty set"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Increment"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Less than or equal to"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Greater than or equal to"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Black star"</string>
+</resources>
diff --git a/java/res/values-en-rGB/strings-talkback-descriptions.xml b/java/res/values-en-rGB/strings-talkback-descriptions.xml
index 3956777..e209b54 100644
--- a/java/res/values-en-rGB/strings-talkback-descriptions.xml
+++ b/java/res/values-en-rGB/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Unknown character"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Places"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Symbols"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Emoticons"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"Capital <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"Capital I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"Capital I, dot above"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Unknown symbol"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Unknown emoji"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Alternative characters are available"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Alternative characters are dismissed"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Alternative suggestions are available"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Alternative suggestions are dismissed"</string>
</resources>
diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml
index 0375ad2..75697ad 100644
--- a/java/res/values-en-rGB/strings.xml
+++ b/java/res/values-en-rGB/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Suggest Contact names"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Use names from Contacts for suggestions and corrections"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Personalised suggestions"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Improve <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Double-space full stop"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Double tap on spacebar inserts a full stop followed by a space"</string>
<string name="auto_cap" msgid="1719746674854628252">"Auto-capitalisation"</string>
diff --git a/java/res/values-en-rIN/strings-action-keys.xml b/java/res/values-en-rIN/strings-action-keys.xml
index b8b02e1..6514e85 100644
--- a/java/res/values-en-rIN/strings-action-keys.xml
+++ b/java/res/values-en-rIN/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Prev"</string>
<string name="label_done_key" msgid="7564866296502630852">"Finished"</string>
<string name="label_send_key" msgid="482252074224462163">"Send"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Search"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Pause"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Wait"</string>
</resources>
diff --git a/java/res/values-en-rIN/strings-letter-descriptions.xml b/java/res/values-en-rIN/strings-letter-descriptions.xml
new file mode 100644
index 0000000..514bc6c
--- /dev/null
+++ b/java/res/values-en-rIN/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Feminine ordinal indicator"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Micro sign"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Masculine ordinal indicator"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Sharp S"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, grave"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, acute"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, circumflex"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, tilde"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, diaeresis"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, ring above"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, ligature"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, cedilla"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, grave"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, acute"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, circumflex"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, diaeresis"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, grave"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, acute"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, circumflex"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, diaeresis"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, tilde"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, grave"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, acute"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, circumflex"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, tilde"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, diaeresis"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, stroke"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, grave"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, acute"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, circumflex"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, diaeresis"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, acute"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, diaeresis"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, macron"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, breve"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, ogonek"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, acute"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, circumflex"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, dot above"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, caron"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, caron"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, stroke"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, macron"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, breve"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, dot above"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, ogonek"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, caron"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, circumflex"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, breve"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, dot above"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, cedilla"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, circumflex"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, stroke"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, tilde"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, macron"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, breve"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, ogonek"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"Dotless I"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, ligature"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, circumflex"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, cedilla"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, acute"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, cedilla"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, caron"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, middle dot"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, stroke"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, acute"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, cedilla"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, caron"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, preceded by apostrophe"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, macron"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, breve"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, double acute"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, ligature"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, acute"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, cedilla"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, caron"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, acute"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, circumflex"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, cedilla"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, caron"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, cedilla"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, caron"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, stroke"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, tilde"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, macron"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, breve"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, ring above"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, double acute"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, ogonek"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, circumflex"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, circumflex"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, acute"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, dot above"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, caron"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"Long S"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, horn"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, horn"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, comma below"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, comma below"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, dot below"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, hook above"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, breve and acute"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, breve and grave"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, breve and hook above"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, breve and tilde"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, breve and dot below"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, dot below"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, hook above"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, tilde"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, hook above"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, dot below"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, dot below"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, hook above"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, horn and acute"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, horn and grave"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, horn and hook above"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, horn and tilde"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, horn and dot below"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, dot below"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, hook above"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, horn and acute"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, horn and grave"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, horn and hook above"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, horn and tilde"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, horn and dot below"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, grave"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, dot below"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, hook above"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, tilde"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Inverted exclamation mark"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Left-pointing double angle quotation mark"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Middle dot"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Superscript one"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Right-pointing double angle quotation mark"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Inverted question mark"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Left single quotation mark"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Right single quotation mark"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Single low-9 quotation mark"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Left double quotation mark"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Right double quotation mark"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Dagger"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Double dagger"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Per mille sign"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Prime"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Double prime"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Single left-pointing angle quotation mark"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Single right-pointing angle quotation mark"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Superscript four"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"Superscript latin small letter n"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Peso sign"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Care of"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Rightwards arrow"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Downwards arrow"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Empty set"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Increment"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Less than or equal to"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Greater than or equal to"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Black star"</string>
+</resources>
diff --git a/java/res/values-en-rIN/strings-talkback-descriptions.xml b/java/res/values-en-rIN/strings-talkback-descriptions.xml
index 3956777..e209b54 100644
--- a/java/res/values-en-rIN/strings-talkback-descriptions.xml
+++ b/java/res/values-en-rIN/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Unknown character"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Places"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Symbols"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Emoticons"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"Capital <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"Capital I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"Capital I, dot above"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Unknown symbol"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Unknown emoji"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Alternative characters are available"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Alternative characters are dismissed"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Alternative suggestions are available"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Alternative suggestions are dismissed"</string>
</resources>
diff --git a/java/res/values-en-rIN/strings.xml b/java/res/values-en-rIN/strings.xml
index 0375ad2..75697ad 100644
--- a/java/res/values-en-rIN/strings.xml
+++ b/java/res/values-en-rIN/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Suggest Contact names"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Use names from Contacts for suggestions and corrections"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Personalised suggestions"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Improve <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Double-space full stop"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Double tap on spacebar inserts a full stop followed by a space"</string>
<string name="auto_cap" msgid="1719746674854628252">"Auto-capitalisation"</string>
diff --git a/java/res/values-fa/strings-action-keys.xml b/java/res/values-fa/strings-action-keys.xml
index ae393bb..859877c 100644
--- a/java/res/values-fa/strings-action-keys.xml
+++ b/java/res/values-fa/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"قبلی"</string>
<string name="label_done_key" msgid="7564866296502630852">"اتمام"</string>
<string name="label_send_key" msgid="482252074224462163">"ارسال"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"جستجو"</string>
<string name="label_pause_key" msgid="2225922926459730642">"مکث"</string>
<string name="label_wait_key" msgid="5891247853595466039">"انتظار"</string>
</resources>
diff --git a/java/res/values-fa/strings-letter-descriptions.xml b/java/res/values-fa/strings-letter-descriptions.xml
new file mode 100644
index 0000000..4687f1b
--- /dev/null
+++ b/java/res/values-fa/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"نشانگر ترتیبی زنانه"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"علامت میکرو"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"نشانگر ترتیبی مردانه"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"شارپ S"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A با اکسان گراو"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A با اکسان اگو"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A با هشتک"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A با مدک"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A با دو نقطه"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A با حلقه"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A، E متصل به هم"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C با سدیلا"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E با اکسان گراو"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E با اکسان اگو"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E با هشتک"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E با دو نقطه"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I با اکسان گراو"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I با اکسان اگو"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I با هشتک"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I با دونقطه"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N با مدک"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O با اکسان گراو"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O با اکسان اگو"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O با هشتک"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O با مدک"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O با دونقطه"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O با خط مورب"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U با اکسان گراو"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U با اکسان اگو"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U با هشتک"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U با دو نقطه"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y با اکسان اگو"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y با دو نقطه"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A با ماکرون"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A کوتاه"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A با اگنک"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C با اکسان اگو"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C با هشتک"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C با نقطه"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C با هفتک"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D با هفتک"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D با خط مورب"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E با ماکرون"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E کوتاه"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E با نقطه"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E با اگنک"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E با هفتک"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G با هشتک"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G کوتاه"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G با نقطه"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G با سدیلا"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H با هشتک"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H با خط مورب"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I با مدک"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I با ماکرون"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I کوتاه"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I با اگنک"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"I بینقطه"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I، J متصل به هم"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"I با هشتک"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K با سدیلا"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L با اکسان اگو"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L با سدیلا"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L با هفتک"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L با نقطه وسط"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L با خط مورب"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N با اکسان اگو"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N با سدیلا"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N با هفتک"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N بعد از آپاستراف"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O با ماکرون"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O کوتاه"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O با اکسان اگوی دوتایی"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O، E متصل به هم"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R با اکسان اگو"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R با سدیلا"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R با هفتک"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S با اکسان اگو"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S با هشتک"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S با سدیلا"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S با هفتک"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T با سدیلا"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T با کارون"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T با خط مورب"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U با مدک"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U با ماکرون"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U کوتاه"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U با حلقه"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U با اکسان اگو دوتایی"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U با اگنک"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W با هشتک"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y با هشتک"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z با اکسان اگو"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z با دو نقطه"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z با هفتک"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"S طولانی"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O با شاخ"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U با شاخ"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S با کامای زیرین"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T با کامای زیرین"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"واکه بیرنگ"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A با نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A با کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A با هشتک و اکسان اگو"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A با هشتک و اکسان گراو"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A با هشتک و کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A با هشتک و مدک"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A با هشتک و نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A کوتاه با اکسان اگو"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A کوتاه با اکسان گراو"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A کوتاه با کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A کوتاه با مدک"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A کوتاه با نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E با نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E با کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E با مدک"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E با هشتک و اکسان اگو"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E با هشتک و اکسان گراو"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E با هشتک و کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E با هشتک و مدک"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E با هشتک و نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I با کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I با نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O با نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O با کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O با هشتک و اکسان اگو"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O با هشتک و اکسان گراو"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O با هشتک و کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O با هشتک و مدک"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O با هشتک و نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O با شاخ و اکسان اگو"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O با شاخ و اکسان گراو"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O با شاخ و کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O با شاخ و مدک"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O با شاخ و نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U با نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U با کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U با شاخ و اکسان اگو"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U با شاخ و اکسان گراو"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U با شاخ و کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U با شاخ و مدک"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U با شاخ و نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y اکسان گراو"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y با نقطه زیرین"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y با کروشه بالایی"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y با مدک"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"علامت تعجب وارونه"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"گیومه رو به چپ"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"نقطه وسط"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"بالانویس یک"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"گیومه رو به راست"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"علامت سؤال وارونه"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"علامت نقل قول تکی سمت چپ"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"علامت نقل قول تکی سمت راست"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"علامت نقل قول تکی ۹ پایین"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"علامت نقل قول دوتایی سمت چپ"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"علامت نقل قول دوتایی سمت راست"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"نماد خنجر"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"نماد خنجر دوتایی"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"علامت در هزار"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"پریم"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"پریم دوتایی"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"گیومه تکی رو به چپ"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"گیومه تکی رو به راست"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"بالانویس چهار"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"بالانویس حرف n کوچک لاتین"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"علامت پسو"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"توسط"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"پیکان سمت راست"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"پیکان رو به پایین"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"مجموعه تهی"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"افزایش"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"کمتر یا مساوی"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"بزرگتر یا مساوی"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"ستاره سیاه"</string>
+</resources>
diff --git a/java/res/values-fa/strings-talkback-descriptions.xml b/java/res/values-fa/strings-talkback-descriptions.xml
index c70040f..988dd5c 100644
--- a/java/res/values-fa/strings-talkback-descriptions.xml
+++ b/java/res/values-fa/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"نویسه نامشخص"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"مکانها"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"نمادها"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"شکلکها"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"حرف بزرگ <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"I بزرگ"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"I بزرگ با نقطه بالایی"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"نماد نامشخص"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"شکلک emoji نامشخص"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"نویسههای جایگزین در دسترس هستند"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"از نویسههای جایگزین صرفنظر میشود"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"پیشنهادهای جایگزین در دسترس هستند"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"از پیشنهادهای جایگزین صرفنظر میشود"</string>
</resources>
diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml
index 0c466c2..bda2756 100644
--- a/java/res/values-fa/strings.xml
+++ b/java/res/values-fa/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"پیشنهاد نامهای مخاطب"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"برای پیشنهاد و تصحیح از نام مخاطبین استفاده شود"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"پیشنهادات شخصی شده"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"بهبود <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"نقطه با دو فاصله"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"با دوبار ضربه روی دکمه فاصله نقطه با یک فاصله بعد آن درج میشود"</string>
<string name="auto_cap" msgid="1719746674854628252">"بزرگکردن خودکار حروف"</string>
diff --git a/java/res/values-in/strings-action-keys.xml b/java/res/values-in/strings-action-keys.xml
index 052798d..7f1a28e 100644
--- a/java/res/values-in/strings-action-keys.xml
+++ b/java/res/values-in/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Balik"</string>
<string name="label_done_key" msgid="7564866296502630852">"Beres"</string>
<string name="label_send_key" msgid="482252074224462163">"Kirim"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Telusur"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Jeda"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Tunggu"</string>
</resources>
diff --git a/java/res/values-in/strings-letter-descriptions.xml b/java/res/values-in/strings-letter-descriptions.xml
new file mode 100644
index 0000000..711f689
--- /dev/null
+++ b/java/res/values-in/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Indikator ordinal feminin"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Simbol mikro"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Indikator ordinal maskulin"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Eszett"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A dengan aksen nontirus (tanda coret miring ke arah kiri di bagian atas)"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A dengan aksen tirus (tanda coret miring ke arah kanan di bagian atas)"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A dengan aksen sirkumfleks (tanda aksen di bagian atas)"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A dengan aksen tilda (tanda gelombang di bagian atas)"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A dengan aksen diaeresis (titik dua di bagian atas)"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A dengan aksen lingkaran di bagian atas"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A E ligatur (Karakter A dan E yang digabungkan menjadi satu kesatuan unit)"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C dengan aksen cedilla (tanda kait di bagian bawah)"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E dengan aksen nontirus"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E dengan aksen diaeresis"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I dengan aksen nontirus"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I dengan aksen diaeresis"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N dengan aksen tilda"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O dengan aksen nontirus"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O dengan aksen tilda"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O dengan aksen diaeresis"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O coret"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U dengan aksen nontirus"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U dengan aksen diaeresis"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn (sekarang diganti dengan huruf th)"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y dengan aksen diaeresis"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A dengan aksen makron (tanda pengulur/makron di bagian atas)"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A dengan aksen breve (tanda breve di bagian atas)"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A dengan aksen ogonek (tanda ekor di sebelah kanan bawah untuk menunjukkan bunyi sengau)"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C dengan titik di bagian atas"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C dengan aksen caron (tanda caron di bagian atas)"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D dengan aksen caron"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D coret"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E dengan aksen makron"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E dengan aksen breve"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E dengan titik di bagian atas"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E dengan aksen ogonek"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E dengan aksen caron"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G dengan aksen breve"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G dengan aksen titik di bagian atas"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G dengan aksen cedilla"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H coret"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I dengan aksen tilda"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I dengan aksen makron"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I dengan aksen breve"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I dengan aksen ogonek"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"I tanpa titik"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I dan J ligatur"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K dengan aksen cedilla"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L dengan aksen cedilla"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L dengan aksen caron"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L dengan titik di tengah"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L coret"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N dengan aksen cedilla"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N dengan aksen caron"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N yang didahului tanda apostrof"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O dengan aksen makron"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O dengan aksen breve"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O dengan aksen tirus ganda"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O dan E ligatur"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R dengan aksen cedilla"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R dengan aksen caron"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S dengan aksen cedilla"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S dengan aksen caron"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T dengan aksen cedilla"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T dengan aksen caron"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T coret"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U dengan aksen tilda"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U dengan aksen makron"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U dengan aksen breve"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U dengan aksen lingkaran di bagian atas"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U dengan aksen tirus ganda"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U dengan aksen ogonek"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y dengan aksen sirkumfleks"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z dengan aksen tirus"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z dengan titik di bagian atas"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z dengan aksen caron"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"S Panjang"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O dengan aksen tanduk"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U dengan aksen tanduk"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S dengan aksen koma di bagian bawah"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T dengan aksen koma di bagian bawah"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa (aksen pepet)"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A dengan aksen titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A dengan aksen kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A dengan aksen sirkumfleks dan tirus"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A dengan aksen sirkumfleks dan nontirus"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A dengan aksen sirkumfleks dan kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A dengan aksen sirkumfleks dan tilda"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A dengan aksen sirkumfleks dan titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A dengan aksen breve dan tirus"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A dengan aksen breve dan nontirus"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A dengan aksen breve dan kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A dengan aksen breve dan tilda"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A dengan aksen breve dan titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E dengan aksen titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E dengan aksen kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E dengan aksen tilda"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E dengan aksen sirkumfleks dan tirus"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E dengan aksen sirkumfleks dan nontirus"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E dengan aksen sirkumfleks dan kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E dengan aksen sirkumfleks dan tilda"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E dengan aksen sirkumfleks dan titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I dengan aksen kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I dengan aksen titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O dengan aksen titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O dengan aksen kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O dengan aksen sirkumfleks dan tirus"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O dengan aksen sirkumfleks dan nontirus"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O dengan aksen sirkumfleks dan kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O dengan aksen sirkumfleks dan tilda"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O dengan aksen sirkumfleks dan titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O dengan aksen tanduk dan tirus"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O dengan aksen tanduk dan nontirus"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O dengan aksen tanduk dan kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O dengan aksen tanduk dan tilda"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O dengan aksen tanduk dan titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U dengan aksen titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U dengan aksen kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U dengan aksen tanduk dan tirus"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U dengan aksen tanduk dan nontirus"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U dengan aksen tanduk dan kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U dengan aksen tanduk dan tilda"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U dengan aksen tanduk dan titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y dengan aksen nontirus"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y dengan aksen titik di bagian bawah"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y dengan aksen kait di bagian atas"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y dengan aksen tilda"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Tanda seru terbalik"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Dua tanda kurung sudut kiri"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Titik tengah"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Superscript satu"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Dua tanda kurung sudut kanan"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Tanda tanya terbalik"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Tanda petik tunggal kiri"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Tanda petik tunggal kanan"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Tanda petik tunggal di bagian bawah"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Tanda petik ganda kiri"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Tanda petik ganda kanan"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Dagger (Tanda belati)"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Dagger ganda"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Simbol per mil"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Tanda petik"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Tanda petik ganda"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Tanda kurung sudut kiri tunggal"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Tanda kurung sudut kanan tunggal"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Superscript empat"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"Superscript huruf latin kecil n"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Simbol peso"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Dengan alamat"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Panah ke kanan"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Panah ke bawah"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Himpunan kosong"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Penambahan"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Kurang dari atau sama dengan"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Lebih dari atau sama dengan"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Bintang hitam"</string>
+</resources>
diff --git a/java/res/values-in/strings-talkback-descriptions.xml b/java/res/values-in/strings-talkback-descriptions.xml
index 6f29707..f7334d9 100644
--- a/java/res/values-in/strings-talkback-descriptions.xml
+++ b/java/res/values-in/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Karakter tak dikenal"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Tempat"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Simbol"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Emotikon"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"Huruf kapital <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"Huruf kapital I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"Huruf kapital I dengan aksen titik di bagian atas"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Simbol tak dikenal"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Emoji tak dikenal"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Karakter alternatif tersedia"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Karakter alternatif ditolak"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Saran alternatif tersedia"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Saran alternatif ditolak"</string>
</resources>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index 160b2ee..a5babcd 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Sarankan nama Kontak"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Menggunakan nama dari Kontak untuk saran dan koreksi"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Saran hasil personalisasi"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Tingkatkan <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Titik spasi ganda"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Mengetuk tombol spasi dua kali akan memasukkan titik diikuti satu spasi"</string>
<string name="auto_cap" msgid="1719746674854628252">"Kapitalisasi otomatis"</string>
diff --git a/java/res/values-iw/strings-action-keys.xml b/java/res/values-iw/strings-action-keys.xml
index 398c081..f72a6fe 100644
--- a/java/res/values-iw/strings-action-keys.xml
+++ b/java/res/values-iw/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"הקודם"</string>
<string name="label_done_key" msgid="7564866296502630852">"בוצע"</string>
<string name="label_send_key" msgid="482252074224462163">"שלח"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"חפש"</string>
<string name="label_pause_key" msgid="2225922926459730642">"השהה"</string>
<string name="label_wait_key" msgid="5891247853595466039">"המתן"</string>
</resources>
diff --git a/java/res/values-iw/strings-letter-descriptions.xml b/java/res/values-iw/strings-letter-descriptions.xml
new file mode 100644
index 0000000..1b0e72f
--- /dev/null
+++ b/java/res/values-iw/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"סימן סידורי נקבי"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"סימן מיקרו"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"סימן סידורי זכרי"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"S חדה"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, הטעמה משנית"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, גג"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, טילדה"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, עלית כפולה"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, טבעת מעל"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, ליגטורה"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, סדיליה"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, הטעמה משנית"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, גג"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, הטעמה עלית כפולה"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, הטעמה משנית"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, גג"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, הטעמה עלית כפולה"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, טילדה"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, הטעמה משנית"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, גג"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, טילדה"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, הטעמה עלית כפולה"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, קו חוצה"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, הטעמה משנית"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, גג"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, הטעמה עלית כפולה"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, הטעמה עלית כפולה"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, קו עלי"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, ברווה"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, זנבון"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, גג"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, נקודה מעל"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, וי קטן"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, וי קטן"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, קו חוצה"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, קו עלי"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, ברווה"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, נקודה מעל"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, זנבון"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, וי קטן"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, גג"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, ברווה"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, נקודה מעל"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, סדיליה"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, גג"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, קו חוצה"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, טילדה"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, קו עלי"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, ברווה"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, זנבון"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"I ללא נקודות"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, ליגטורה"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, גג"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, סדיליה"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, סדיליה"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, וי קטן"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, נקודה אמצעית"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, קו חוצה"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, סדיליה"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, וי קטן"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, עם גרש לפני"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, קו עלי"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, ברווה"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, הטעמה עלית כפולה"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, ליגטורה"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, סדיליה"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, וי קטן"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, גג"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, סדיליה"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, וי קטן"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, סדיליה"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, וי קטן"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, קו חוצה"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, טילדה"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, קו עלי"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, ברווה"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, טבעת מעל"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, הטעמה עלית כפולה"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, זנבון"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, גג"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, גג"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, הטעמה עלית"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, נקודה מעל"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, וי קטן"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"S ארוכה"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, קרן"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, קרן"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, פסיק מתחת"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, פסיק מתחת"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, נקודה מתחת"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, קרס מעל"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, גג והטעמה עלית"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, גג והטעמה משנית"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, גג וקרס מעל"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, גג וטילדה"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, גג ונקודה מתחת"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, ברווה והטעמה עלית"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, ברווה והטעמה משנית"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, ברווה וקרס מעל"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, ברווה וטילדה"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, ברווה ונקודה מתחת"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, נקודה מתחת"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, קרס מעל"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, טילדה"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, גג והטעמה עלית"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, גג והטעמה משנית"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, גג וקרס מעל"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, גג וטילדה"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, גג ונקודה מתחת"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, קרס מעל"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, נקודה מתחת"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, נקודה מתחת"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, קרס מעל"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, גג והטעמה עלית"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, גג והטעמה משנית"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, גג וקרס מעל"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, גג וטילדה"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, גג ונקודה מתחת"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, קרן והטעמה עלית"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, קרן והטעמה משנית"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, קרן וקרס מעל"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, קרן וטילדה"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, קרן ונקודה מתחת"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, נקודה מתחת"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, קרס מעל"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, קרן והטעמה עלית"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, קרן והטעמה משנית"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, קרן וקרס מעל"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, קרן וטילדה"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, קרן ונקודה מתחת"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, הטעמה משנית"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, נקודה מתחת"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, קרס מעל"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, טילדה"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"סימן קריאה הפוך"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"סימן ציטוט זוויתי כפול הפונה שמאלה"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"נקודה אמצעית"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"אחד בכתב עלי"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"סימן ציטוט זוויתי כפול הפונה ימינה"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"סימן שאלה הפוך"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"גרש שמאלי יחיד"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"גרש ימני יחיד"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"גרש יחיד תחתון"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"מירכאות כפולות שמאליות"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"מירכאות כפולות ימניות"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"צלבון"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"צלבון כפול"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"סימן פרומיל"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Prime"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Prime כפול"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"סימן ציטוט זוויתי יחיד הפונה שמאלה"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"סימן ציטוט זוויתי יחיד הפונה ימינה"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"ארבע בכתב עלי"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"n לטינית קטנה בכתב עלי"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"סימן פזו"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"סימן \"לכבוד\""</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"חץ ימינה"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"חץ מטה"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Empty Set"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"הגדל"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"קטן מ- או שווה ל-"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"גדול מ- או שווה ל-"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"כוכב שחור"</string>
+</resources>
diff --git a/java/res/values-iw/strings-talkback-descriptions.xml b/java/res/values-iw/strings-talkback-descriptions.xml
index 435aaba..a43b64e 100644
--- a/java/res/values-iw/strings-talkback-descriptions.xml
+++ b/java/res/values-iw/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"תו לא מוכר"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"מקומות"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"סמלים"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"רגשונים"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"<xliff:g id="LOWER_LETTER">%s</xliff:g> גדולה"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"I גדולה"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"I גדולה, נקודה מעל"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"סמל לא מוכר"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Emoji לא מוכר"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"תווים חלופיים זמינים"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"תווים חלופיים נדחים"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"הצעות חלופיות זמינות"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"הצעות חלופיות נדחות"</string>
</resources>
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
index 297048c..705121e 100644
--- a/java/res/values-iw/strings.xml
+++ b/java/res/values-iw/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"הצע שמות של אנשי קשר"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"השתמש בשמות מרשימת אנשי הקשר עבור הצעות ותיקונים"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"הצעות מותאמות אישית"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"שפר את <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"רווח כפול לנקודה"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"הקשה פעמיים על מקש הרווח מזינה נקודה ואחריה רווח"</string>
<string name="auto_cap" msgid="1719746674854628252">"הפיכת אותיות לרישיות באופן אוטומטי"</string>
diff --git a/java/res/values-ka-rGE/strings-action-keys.xml b/java/res/values-ka-rGE/strings-action-keys.xml
index 3ad6c33..5fa9235 100644
--- a/java/res/values-ka-rGE/strings-action-keys.xml
+++ b/java/res/values-ka-rGE/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"წინა"</string>
<string name="label_done_key" msgid="7564866296502630852">"დასრ."</string>
<string name="label_send_key" msgid="482252074224462163">"გაგზ."</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"ძიება"</string>
<string name="label_pause_key" msgid="2225922926459730642">"პაუზა"</string>
<string name="label_wait_key" msgid="5891247853595466039">"მოცდა"</string>
</resources>
diff --git a/java/res/values-ka-rGE/strings-letter-descriptions.xml b/java/res/values-ka-rGE/strings-letter-descriptions.xml
new file mode 100644
index 0000000..ae3ddab
--- /dev/null
+++ b/java/res/values-ka-rGE/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Feminine ordinal indicator"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"ნიშანი მიკრო"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Masculine ordinal indicator"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Sharp S"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, grave"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, acute"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, circumflex"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, tilde"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, diaeresis"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, ring above"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, ligature"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, cedilla"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, grave"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, acute"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, circumflex"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, diaeresis"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, grave"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, acute"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, circumflex"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, diaeresis"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, tilde"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, grave"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, acute"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, circumflex"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, tilde"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, diaeresis"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, stroke"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, grave"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, acute"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, circumflex"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, diaeresis"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, acute"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, diaeresis"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, macron"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, breve"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, ogonek"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, acute"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, circumflex"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, dot above"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, caron"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, caron"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, stroke"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, macron"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, breve"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, dot above"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, ogonek"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, caron"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, circumflex"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, breve"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, dot above"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, cedilla"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, circumflex"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, stroke"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, tilde"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, macron"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, breve"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, ogonek"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"Dotless I"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, ligature"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, circumflex"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, cedilla"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, acute"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, cedilla"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, caron"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, middle dot"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, stroke"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, acute"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, cedilla"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, caron"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, preceded by apostrophe"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, macron"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, breve"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, double acute"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, ligature"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, acute"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, cedilla"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, caron"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, acute"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, circumflex"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, cedilla"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, caron"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, cedilla"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, caron"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, stroke"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, tilde"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, macron"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, breve"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, ring above"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, double acute"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, ogonek"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, circumflex"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, circumflex"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, acute"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, dot above"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, caron"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"Long S"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, horn"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, horn"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, comma below"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, comma below"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, dot below"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, hook above"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, breve and acute"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, breve and grave"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, breve and hook above"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, breve and tilde"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, breve and dot below"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, dot below"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, hook above"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, tilde"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, hook above"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, dot below"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, dot below"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, hook above"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, horn and acute"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, horn and grave"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, horn and hook above"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, horn and tilde"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, horn and dot below"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, dot below"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, hook above"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, horn and acute"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, horn and grave"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, horn and hook above"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, horn and tilde"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, horn and dot below"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, grave"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, dot below"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, hook above"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, tilde"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Inverted exclamation mark"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Left-pointing double angle quotation mark"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Middle dot"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"ერთიანი ზედა ინდექსში"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Right-pointing double angle quotation mark"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Inverted question mark"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Left single quotation mark"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Right single quotation mark"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Single low-9 quotation mark"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Left double quotation mark"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Right double quotation mark"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Dagger"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Double dagger"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Per mille sign"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Prime"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Double prime"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"მარცხნივ მიმართლი კუთხოვანი ერთმაგი ბრჭყალი"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"მარჯვნივ მიმართლი კუთხოვანი ერთმაგი ბრჭყალი"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"ოთხიანი ზედა ინდექსში"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"ლათინური ასო n ზედა ინდექსში"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"პესოს ნიშანი"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Care of"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"მარჯვნივ მიმართული ისარი"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"ქვევით მიმართლი ისარი"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Empty set"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Increment"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"ნაკლებობა ან ტოლობა"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"მეტობა ან ტოლობა"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"შავი ვარსკვლავი"</string>
+</resources>
diff --git a/java/res/values-ka-rGE/strings-talkback-descriptions.xml b/java/res/values-ka-rGE/strings-talkback-descriptions.xml
index 0cf7e7c..5d23b09 100644
--- a/java/res/values-ka-rGE/strings-talkback-descriptions.xml
+++ b/java/res/values-ka-rGE/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"უცნობი სიმბოლო"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"ადგილები"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"სიმბოლოები"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"სიცილაკები"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"დიდი <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"დიდი I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"Capital I, dot above"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"უცნობი სიმბოლო"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"უცნობი emoji"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"ალტერნატიული სიმბოლოები ხელმისაწვდომია"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"ალტერნატიული სიმბოლოები გამოტოვებულია"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"ალტერნატიული შეთავაზებები ხელმისაწვდომია"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"ალტერნატიული შეთავაზებები გამოტოვებულია"</string>
</resources>
diff --git a/java/res/values-ka-rGE/strings.xml b/java/res/values-ka-rGE/strings.xml
index 7c0026e..43dcc63 100644
--- a/java/res/values-ka-rGE/strings.xml
+++ b/java/res/values-ka-rGE/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"კონტაქტის სახელების შეთავაზება"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"კონტაქტებიდან სახელების გამოყენება შეთავაზებებისთვის და კორექციისთვის"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"პერსონალიზებული შეთავაზებები"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"<xliff:g id="APPLICATION_NAME">%s</xliff:g>-ის გაუმჯობესება"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"წერტილი ორმაგი შორისით"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"შორისზე ორჯერ შეხება დაწერს წერტილს და შორისის სიმბოლოს"</string>
<string name="auto_cap" msgid="1719746674854628252">"ავტო-კაპიტალიზაცია"</string>
diff --git a/java/res/values-km-rKH/strings-action-keys.xml b/java/res/values-km-rKH/strings-action-keys.xml
index d6b11b7..3ff6d49 100644
--- a/java/res/values-km-rKH/strings-action-keys.xml
+++ b/java/res/values-km-rKH/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"មុន"</string>
<string name="label_done_key" msgid="7564866296502630852">"រួចរាល់"</string>
<string name="label_send_key" msgid="482252074224462163">"ផ្ញើ"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"ស្វែងរក"</string>
<string name="label_pause_key" msgid="2225922926459730642">"ផ្អាក"</string>
<string name="label_wait_key" msgid="5891247853595466039">"រង់ចាំ"</string>
</resources>
diff --git a/java/res/values-km-rKH/strings-emoji-descriptions.xml b/java/res/values-km-rKH/strings-emoji-descriptions.xml
index 9f1d997..757df50 100644
--- a/java/res/values-km-rKH/strings-emoji-descriptions.xml
+++ b/java/res/values-km-rKH/strings-emoji-descriptions.xml
@@ -25,16 +25,16 @@
<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>
+ <string name="spoken_emoji_00A9" msgid="2859822817116803638">"សញ្ញារក្សាសិទ្ធ"</string>
<string name="spoken_emoji_00AE" msgid="7708335454134589027">"សញ្ញាចុះបញ្ជី"</string>
<string name="spoken_emoji_203C" msgid="153340916701508663">"សញ្ញាឧទានពីរ"</string>
- <string name="spoken_emoji_2049" msgid="4877256448299555371">"សញ្ញាឧទានសញ្ញាសួរ"</string>
+ <string name="spoken_emoji_2049" msgid="4877256448299555371">"សញ្ញាឧទានសញ្ញាសួរ"</string>
<string name="spoken_emoji_2122" msgid="9188440722954720429">"សញ្ញានិក្ខិត្តសញ្ញា"</string>
<string name="spoken_emoji_2139" msgid="9114342638917304327">"ប្រភពព័ត៌មាន"</string>
<string name="spoken_emoji_2194" msgid="8055202727034946680">"ព្រួញឆ្វេងស្ដាំ"</string>
<string name="spoken_emoji_2195" msgid="8028122253301087407">"ព្រួញឡើងលើចុះក្រោម"</string>
<string name="spoken_emoji_2196" msgid="4019164898967854363">"ព្រួញទិសពាយព្យ"</string>
- <string name="spoken_emoji_2197" msgid="4255723717709017801">"ព្រួញទិសឥសាន្តឦសាន្ត"</string>
+ <string name="spoken_emoji_2197" msgid="4255723717709017801">"ព្រួញទិសឥសាន្តឦសាន្ត"</string>
<string name="spoken_emoji_2198" msgid="1452063451313622090">"ព្រួញទិសអាគ្នេយ៍"</string>
<string name="spoken_emoji_2199" msgid="6942722693368807849">"ព្រួញទិសនិរតី"</string>
<string name="spoken_emoji_21A9" msgid="5204750172335111188">"ព្រួញទៅឆ្វេងមានទំពក់"</string>
@@ -45,7 +45,7 @@
<string name="spoken_emoji_23EA" msgid="2251396938087774944">"ត្រីកោណខ្មៅពីរចង្អុលទៅឆ្វេង"</string>
<string name="spoken_emoji_23EB" msgid="3746885195641491865">"ត្រីកោណខ្មៅពីរចង្អុលឡើងលើ"</string>
<string name="spoken_emoji_23EC" msgid="7852372752901163416">"ត្រីកោណខ្មៅពីរចង្អុលចុះក្រោម"</string>
- <string name="spoken_emoji_23F0" msgid="8474219588750627870">"នាឡិការោទ៍"</string>
+ <string name="spoken_emoji_23F0" msgid="8474219588750627870">"នាឡិការោទ៍"</string>
<string name="spoken_emoji_23F3" msgid="166900119581024371">"កែវពិសោធន៍មានខ្សាច់ហូរ"</string>
<string name="spoken_emoji_24C2" msgid="3948348737566038470">"អក្សរអឹមធំក្នុងរង្វង់"</string>
<string name="spoken_emoji_25AA" msgid="7865181015100227349">"ការ៉េតូចពណ៌ខ្មៅ"</string>
@@ -195,7 +195,7 @@
<string name="spoken_emoji_1F312" msgid="4458575672576125401">"ព្រះចន្ទមួយចំណិតស្ដាំ"</string>
<string name="spoken_emoji_1F313" msgid="7599181787989497294">"ព្រះចន្ទពាក់កណ្ដាល"</string>
<string name="spoken_emoji_1F314" msgid="4898293184964365413">"ព្រះចន្ទមួយចំណិតឆ្វេង"</string>
- <string name="spoken_emoji_1F315" msgid="3218117051779496309">"ព្រះចន្ទពេញវង់"</string>
+ <string name="spoken_emoji_1F315" msgid="3218117051779496309">"ព្រះចន្ទពេញវង់"</string>
<string name="spoken_emoji_1F316" msgid="2061317145777689569">"ព្រះចន្ទភ្លឺមួយចំហៀង"</string>
<string name="spoken_emoji_1F317" msgid="2721090687319539049">"ព្រះចន្ទភ្លឺពាក់កណ្ដាល"</string>
<string name="spoken_emoji_1F318" msgid="3814091755648887570">"ព្រះចន្ទភ្លឺមួយចំណិតឆ្វេង"</string>
@@ -262,7 +262,7 @@
<string name="spoken_emoji_1F365" msgid="4963815540953316307">"នំត្រីរាងមូល"</string>
<string name="spoken_emoji_1F366" msgid="7862401745277049404">"ការ៉េមបំពង់"</string>
<string name="spoken_emoji_1F367" msgid="7447972978281980414">"ការ៉េមកែវ"</string>
- <string name="spoken_emoji_1F368" msgid="7790003146142724913">"ការ៉េម"</string>
+ <string name="spoken_emoji_1F368" msgid="7790003146142724913">"ការ៉េម"</string>
<string name="spoken_emoji_1F369" msgid="7383712944084857350">"ដូណាត់"</string>
<string name="spoken_emoji_1F36A" msgid="2726271795913042295">"ខូគី"</string>
<string name="spoken_emoji_1F36B" msgid="6342163604299875931">"សូកូឡា"</string>
@@ -280,7 +280,7 @@
<string name="spoken_emoji_1F377" msgid="1762398562314172075">"កែវស្រា"</string>
<string name="spoken_emoji_1F378" msgid="5528234560590117516">"កែវស្រាក្រឡុក"</string>
<string name="spoken_emoji_1F379" msgid="790581290787943325">"ភេសជ្ជៈត្រូពិក"</string>
- <string name="spoken_emoji_1F37A" msgid="391966822450619516">"កែវស្រាបៀ"</string>
+ <string name="spoken_emoji_1F37A" msgid="391966822450619516">"កែវស្រាបៀ"</string>
<string name="spoken_emoji_1F37B" msgid="9015043286465670662">"ជល់កែវស្រាបៀ"</string>
<string name="spoken_emoji_1F37C" msgid="2532113819464508894">"ដបទឹកដោះគោ"</string>
<string name="spoken_emoji_1F380" msgid="3487363857092458827">"ខ្សែបូ"</string>
@@ -313,7 +313,7 @@
<string name="spoken_emoji_1F3A7" msgid="837856608794094105">"កាស"</string>
<string name="spoken_emoji_1F3A8" msgid="2332260356509244587">"ក្ដារលាយពណ៌វិចិត្រករ"</string>
<string name="spoken_emoji_1F3A9" msgid="9045869366525115256">"មួកសម្ដែងសិល្បៈ"</string>
- <string name="spoken_emoji_1F3AA" msgid="5728760354237132">"តង់សៀក"</string>
+ <string name="spoken_emoji_1F3AA" msgid="5728760354237132">"តង់សៀក"</string>
<string name="spoken_emoji_1F3AB" msgid="1657997517193216284">"សំបុត្រ"</string>
<string name="spoken_emoji_1F3AC" msgid="4317366554314492152">"បន្ទះកណ្ដឹង"</string>
<string name="spoken_emoji_1F3AD" msgid="607157286336130470">"សម្ដែងសិល្បៈ"</string>
@@ -334,10 +334,10 @@
<string name="spoken_emoji_1F3BC" msgid="1608424748821446230">"និមិត្តសញ្ញាតន្ត្រី"</string>
<string name="spoken_emoji_1F3BD" msgid="5490786111375627777">"អាវកីឡាមានខ្សែឆៀង"</string>
<string name="spoken_emoji_1F3BE" msgid="1851613105691627931">"រ៉ាកែត និងបាល់"</string>
- <string name="spoken_emoji_1F3BF" msgid="6862405997423247921">"ជិះស្គី និងក្ដារស្គី"</string>
+ <string name="spoken_emoji_1F3BF" msgid="6862405997423247921">"ជិះស្គី និងក្ដារស្គី"</string>
<string name="spoken_emoji_1F3C0" msgid="7421420756115104085">"បាល់បោះ និងវណ្ណមូល"</string>
<string name="spoken_emoji_1F3C1" msgid="6926537251677319922">"ទង់ជាតិប្រណាំងម៉ូតូ"</string>
- <string name="spoken_emoji_1F3C2" msgid="5708596929237987082">"អ្នកជិះក្ដាររំអិលលើព្រិល"</string>
+ <string name="spoken_emoji_1F3C2" msgid="5708596929237987082">"អ្នកជិះក្ដាររំអិលលើព្រិល"</string>
<string name="spoken_emoji_1F3C3" msgid="5850982999510115824">"អ្នករត់"</string>
<string name="spoken_emoji_1F3C4" msgid="8468355585994639838">"អ្នកជិះទូករអិលលើទឹក"</string>
<string name="spoken_emoji_1F3C6" msgid="9094474706847545409">"ពានរង្វាន់"</string>
@@ -354,7 +354,7 @@
<string name="spoken_emoji_1F3E6" msgid="342132788513806214">"ធនាគារ"</string>
<string name="spoken_emoji_1F3E7" msgid="6322352038284944265">"ម៉ាស៊ីនអេធីអឹម"</string>
<string name="spoken_emoji_1F3E8" msgid="5864918444350599907">"សណ្ឋាគារ"</string>
- <string name="spoken_emoji_1F3E9" msgid="7830416185375326938">"សណ្ឋាគារក្ដីស្រឡាញ់"</string>
+ <string name="spoken_emoji_1F3E9" msgid="7830416185375326938">"សណ្ឋាគារក្ដីស្រឡាញ់"</string>
<string name="spoken_emoji_1F3EA" msgid="5081084413084360479">"ហាងទំនិញ ២៤ម៉ោង"</string>
<string name="spoken_emoji_1F3EB" msgid="7010966528205150525">"សាលារៀន"</string>
<string name="spoken_emoji_1F3EC" msgid="4845978861878295154">"ហាងទំនិញធំៗ"</string>
@@ -439,12 +439,12 @@
<string name="spoken_emoji_1F44D" msgid="6182553970602667815">"មេដៃឡើងលើ"</string>
<string name="spoken_emoji_1F44E" msgid="8030851867365111809">"មេដៃចុះក្រោម"</string>
<string name="spoken_emoji_1F44F" msgid="5148753662268213389">"ទះដៃ"</string>
- <string name="spoken_emoji_1F450" msgid="1012021072085157054">"លាដៃ"</string>
+ <string name="spoken_emoji_1F450" msgid="1012021072085157054">"លាដៃ"</string>
<string name="spoken_emoji_1F451" msgid="8257466714629051320">"មកុដ"</string>
<string name="spoken_emoji_1F452" msgid="4567394011149905466">"មួកស្ត្រី"</string>
<string name="spoken_emoji_1F453" msgid="5978410551173163010">"វ៉ែនតា"</string>
- <string name="spoken_emoji_1F454" msgid="348469036193323252">"ក្រវ៉ាត់ករ"</string>
- <string name="spoken_emoji_1F455" msgid="5665118831861433578">"អាវយឺត"</string>
+ <string name="spoken_emoji_1F454" msgid="348469036193323252">"ក្រវ៉ាត់ករ"</string>
+ <string name="spoken_emoji_1F455" msgid="5665118831861433578">"អាវយឺត"</string>
<string name="spoken_emoji_1F456" msgid="1890991330923356408">"ខោខោវប៊យ"</string>
<string name="spoken_emoji_1F457" msgid="3904310482655702620">"សំលៀកបំពាក់"</string>
<string name="spoken_emoji_1F458" msgid="5704243858031107692">"គីម៉ូណូ"</string>
@@ -463,8 +463,8 @@
<string name="spoken_emoji_1F465" msgid="4461307702499679879">"គណនី"</string>
<string name="spoken_emoji_1F466" msgid="1938873085514108889">"ក្មេងប្រុស"</string>
<string name="spoken_emoji_1F467" msgid="8237080594860144998">"ក្មេងស្រី"</string>
- <string name="spoken_emoji_1F468" msgid="6081300722526675382">"បុរស"</string>
- <string name="spoken_emoji_1F469" msgid="1090140923076108158">"ស្ត្រី"</string>
+ <string name="spoken_emoji_1F468" msgid="6081300722526675382">"បុរស"</string>
+ <string name="spoken_emoji_1F469" msgid="1090140923076108158">"ស្ត្រី"</string>
<string name="spoken_emoji_1F46A" msgid="5063570981942606595">"គ្រួសារ"</string>
<string name="spoken_emoji_1F46B" msgid="6795882374287327952">"បុរស និងស្ត្រីកាន់ដៃគ្នា"</string>
<string name="spoken_emoji_1F46C" msgid="6844464165783964495">"បុរសពីរនាក់កាន់ដៃគ្នា"</string>
@@ -490,16 +490,16 @@
<string name="spoken_emoji_1F480" msgid="3696253485164878739">"លលាដ៍ក្បាល"</string>
<string name="spoken_emoji_1F481" msgid="320408708521966893">"អ្នកផ្ដល់ព័ត៌មាន"</string>
<string name="spoken_emoji_1F482" msgid="3424354860245608949">"អ្នកយាម"</string>
- <string name="spoken_emoji_1F483" msgid="3221113594843849083">"អ្នករាំ"</string>
+ <string name="spoken_emoji_1F483" msgid="3221113594843849083">"អ្នករាំ"</string>
<string name="spoken_emoji_1F484" msgid="7348014979080444885">"ក្រេមលាបបបូរមាត់"</string>
<string name="spoken_emoji_1F485" msgid="6133507975565116339">"ថ្នាំលាបក្រចក"</string>
<string name="spoken_emoji_1F486" msgid="9085459968247394155">"ម៉ាស្សាមុខ"</string>
<string name="spoken_emoji_1F487" msgid="1479113637259592150">"កាត់សក់"</string>
<string name="spoken_emoji_1F488" msgid="6922559285234100252">"ស្លាកសញ្ញាកាត់សក់"</string>
<string name="spoken_emoji_1F489" msgid="8114863680950147305">"ស៊ីរ៉ាំង"</string>
- <string name="spoken_emoji_1F48A" msgid="8526843630145963032">"ថ្នាំគ្រាប់"</string>
+ <string name="spoken_emoji_1F48A" msgid="8526843630145963032">"ថ្នាំគ្រាប់"</string>
<string name="spoken_emoji_1F48B" msgid="2538528967897640292">"ស្នាមថើប"</string>
- <string name="spoken_emoji_1F48C" msgid="1681173271652890232">"លិខិតស្នេហា"</string>
+ <string name="spoken_emoji_1F48C" msgid="1681173271652890232">"លិខិតស្នេហា"</string>
<string name="spoken_emoji_1F48D" msgid="8259886164999042373">"រោទ៍"</string>
<string name="spoken_emoji_1F48E" msgid="8777981696011111101">"ត្បូងថ្ម"</string>
<string name="spoken_emoji_1F48F" msgid="741593675183677907">"ថើប"</string>
@@ -525,7 +525,7 @@
<string name="spoken_emoji_1F4A3" msgid="6378351742957821735">"គ្រាប់បែក"</string>
<string name="spoken_emoji_1F4A4" msgid="7217736258870346625">"និមិត្តសញ្ញាដេក"</string>
<string name="spoken_emoji_1F4A5" msgid="5401995723541239858">"និមិត្តសញ្ញាប៉ះទង្គិចគ្នា"</string>
- <string name="spoken_emoji_1F4A6" msgid="3837802182716483848">"និមិត្តសញ្ញាស្រក់ញើស"</string>
+ <string name="spoken_emoji_1F4A6" msgid="3837802182716483848">"និមិត្តសញ្ញាស្រក់ញើស"</string>
<string name="spoken_emoji_1F4A7" msgid="5718438987757885141">"ដំណក់ទឹក"</string>
<string name="spoken_emoji_1F4A8" msgid="4472108229720006377">"និមិត្តសញ្ញាដកឃ្លា"</string>
<string name="spoken_emoji_1F4A9" msgid="1240958472788430032">"គំនរធូលី"</string>
@@ -539,7 +539,7 @@
<string name="spoken_emoji_1F4B1" msgid="8339494003418572905">"ប្ដូររូបិយប័ណ្ណ"</string>
<string name="spoken_emoji_1F4B2" msgid="3179159430187243132">"សញ្ញាដុល្លារ"</string>
<string name="spoken_emoji_1F4B3" msgid="5375412518221759596">"កាតឥណទាន"</string>
- <string name="spoken_emoji_1F4B4" msgid="1068592463669453204">"ក្រដាសប្រាក់ធនាគារមានសញ្ញាយ៉េន"</string>
+ <string name="spoken_emoji_1F4B4" msgid="1068592463669453204">"ក្រដាសប្រាក់ធនាគារមានសញ្ញាយ៉េន"</string>
<string name="spoken_emoji_1F4B5" msgid="1426708699891832564">"លុយដុល្លារ"</string>
<string name="spoken_emoji_1F4B6" msgid="8289249930736444837">"ក្រដាសប្រាក់ធនាគារមានសញ្ញាអឺរ៉ូ"</string>
<string name="spoken_emoji_1F4B7" msgid="5245100496860739429">"ក្រដាសប្រាក់ធនាគារមានសញ្ញាផោន"</string>
@@ -547,7 +547,7 @@
<string name="spoken_emoji_1F4B9" msgid="647509393536679903">"ក្រាហ្វិកនិន្នាការឡើងមានសញ្ញាយ៉េន"</string>
<string name="spoken_emoji_1F4BA" msgid="1269737854891046321">"កៅអី"</string>
<string name="spoken_emoji_1F4BB" msgid="6252883563347816451">"កុំព្យូទ័រផ្ទាល់ខ្លួន"</string>
- <string name="spoken_emoji_1F4BC" msgid="6182597732218446206">"វ៉ាលី"</string>
+ <string name="spoken_emoji_1F4BC" msgid="6182597732218446206">"វ៉ាលី"</string>
<string name="spoken_emoji_1F4BD" msgid="5820961044768829176">"ឌីសតូច"</string>
<string name="spoken_emoji_1F4BE" msgid="4754542485835379808">"ថាសទន់"</string>
<string name="spoken_emoji_1F4BF" msgid="2237481756984721795">"ថាស"</string>
@@ -557,7 +557,7 @@
<string name="spoken_emoji_1F4C3" msgid="3727274466173970142">"ទំព័រកោង"</string>
<string name="spoken_emoji_1F4C4" msgid="4382570710795501612">"ទំព័របញ្ឈរ"</string>
<string name="spoken_emoji_1F4C5" msgid="8693944622627762487">"ប្រតិទិន"</string>
- <string name="spoken_emoji_1F4C6" msgid="8469908708708424640">"ហែកប្រតិទិន"</string>
+ <string name="spoken_emoji_1F4C6" msgid="8469908708708424640">"ហែកប្រតិទិន"</string>
<string name="spoken_emoji_1F4C7" msgid="2665313547987324495">"កាតរៀបតាមអក្សរ"</string>
<string name="spoken_emoji_1F4C8" msgid="8007686702282833600">"ក្រាហ្វិកមាននិន្នាការឡើង"</string>
<string name="spoken_emoji_1F4C9" msgid="2271951411192893684">"ក្រាហ្វិកមាននិន្នាការចុះ"</string>
@@ -573,11 +573,11 @@
<string name="spoken_emoji_1F4D3" msgid="5873386492793610808">"សៀវភៅ"</string>
<string name="spoken_emoji_1F4D4" msgid="4754469936418776360">"សៀវភៅមានក្របពណ៌"</string>
<string name="spoken_emoji_1F4D5" msgid="4642713351802778905">"សៀវភៅបិទ"</string>
- <string name="spoken_emoji_1F4D6" msgid="6987347918381807186">"សៀវភៅបើក"</string>
+ <string name="spoken_emoji_1F4D6" msgid="6987347918381807186">"សៀវភៅបើក"</string>
<string name="spoken_emoji_1F4D7" msgid="7813394163241379223">"សៀវភៅពណ៌បៃតង"</string>
<string name="spoken_emoji_1F4D8" msgid="7189799718984979521">"សៀវភៅពណ៌ខៀវ"</string>
<string name="spoken_emoji_1F4D9" msgid="3874664073186440225">"សៀវភៅពណ៌ទឹកក្រូច"</string>
- <string name="spoken_emoji_1F4DA" msgid="872212072924287762">"សៀវភៅ"</string>
+ <string name="spoken_emoji_1F4DA" msgid="872212072924287762">"សៀវភៅ"</string>
<string name="spoken_emoji_1F4DB" msgid="2015183603583392969">"ស្លាកឈ្មោះ"</string>
<string name="spoken_emoji_1F4DC" msgid="5075845110932456783">"ក្រដាសរមូរ"</string>
<string name="spoken_emoji_1F4DD" msgid="2494006707147586786">"កំណត់ចំណាំ"</string>
@@ -589,7 +589,7 @@
<string name="spoken_emoji_1F4E3" msgid="5588916572878599224">"ឧបករណ៍បំពងសំឡេង"</string>
<string name="spoken_emoji_1F4E4" msgid="2063561529097749707">"ថាសចេញ"</string>
<string name="spoken_emoji_1F4E5" msgid="3232462702926143576">"ថាសចូល"</string>
- <string name="spoken_emoji_1F4E6" msgid="3399454337197561635">"កញ្ចប់"</string>
+ <string name="spoken_emoji_1F4E6" msgid="3399454337197561635">"កញ្ចប់"</string>
<string name="spoken_emoji_1F4E7" msgid="5557136988503873238">"និមិត្តសញ្ញាអ៊ីមែល"</string>
<string name="spoken_emoji_1F4E8" msgid="30698793974124123">"ស្រោមសំបុត្រចូល"</string>
<string name="spoken_emoji_1F4E9" msgid="5947550337678643166">"ស្រោមសំបុត្រមានសញ្ញាព្រួញពីលើ"</string>
@@ -626,7 +626,7 @@
<string name="spoken_emoji_1F50C" msgid="7793219132036431680">"ដុយអគ្គិសនី"</string>
<string name="spoken_emoji_1F50D" msgid="8140244710637926780">"កែវពង្រីកចង្អុលខាងឆ្វេង"</string>
<string name="spoken_emoji_1F50E" msgid="4751821352839693365">"កែវពង្រីកចង្អុលខាងស្ដាំ"</string>
- <string name="spoken_emoji_1F50F" msgid="915079280472199605">"ចាក់សោដោយប្រើប៊ិច"</string>
+ <string name="spoken_emoji_1F50F" msgid="915079280472199605">"ចាក់សោដោយប្រើប៊ិច"</string>
<string name="spoken_emoji_1F510" msgid="7658381761691758318">"បិទសោដោយប្រើកូនសោ"</string>
<string name="spoken_emoji_1F511" msgid="262319867774655688">"សោ"</string>
<string name="spoken_emoji_1F512" msgid="5628688337255115175">"ចាក់សោ"</string>
@@ -645,15 +645,15 @@
<string name="spoken_emoji_1F51F" msgid="8673370823728653973">"គ្រាប់ចុច ១០"</string>
<string name="spoken_emoji_1F520" msgid="7335109890337048900">"និមិត្តសញ្ញាបញ្ចូលសម្រាប់អក្សរឡាតាំងធំ"</string>
<string name="spoken_emoji_1F521" msgid="2693185864450925778">"និមិត្តសញ្ញាបញ្ចូលសម្រាប់អក្សរឡាតាំងតូច"</string>
- <string name="spoken_emoji_1F522" msgid="8419130286280673347">"និមិត្តសញ្ញាបញ្ចូលសម្រាប់លេខ"</string>
+ <string name="spoken_emoji_1F522" msgid="8419130286280673347">"និមិត្តសញ្ញាបញ្ចូលសម្រាប់លេខ"</string>
<string name="spoken_emoji_1F523" msgid="3318053476401719421">"ការបញ្ចូលនិមិត្តសញ្ញា"</string>
<string name="spoken_emoji_1F524" msgid="1625073997522316331">"និមិត្តសញ្ញាបញ្ចូលសម្រាប់អក្សរឡាតាំង"</string>
<string name="spoken_emoji_1F525" msgid="4083884189172963790">"ភ្លើង"</string>
<string name="spoken_emoji_1F526" msgid="2035494936742643580">"ពិលអគ្គិសនី"</string>
<string name="spoken_emoji_1F527" msgid="134257142354034271">"ម៉ាឡេត"</string>
<string name="spoken_emoji_1F528" msgid="700627429570609375">"ញញួរ"</string>
- <string name="spoken_emoji_1F529" msgid="7480548235904988573">"ឡោស៊ី"</string>
- <string name="spoken_emoji_1F52A" msgid="7613580031502317893">"កាំបិត"</string>
+ <string name="spoken_emoji_1F529" msgid="7480548235904988573">"ឡោស៊ី"</string>
+ <string name="spoken_emoji_1F52A" msgid="7613580031502317893">"កាំបិត"</string>
<string name="spoken_emoji_1F52B" msgid="4554906608328118613">"កាំភ្លើងខ្លី"</string>
<string name="spoken_emoji_1F52C" msgid="1330294501371770790">"មីក្រូទស្សន៍"</string>
<string name="spoken_emoji_1F52D" msgid="7549551775445177140">"កែវយឹត"</string>
@@ -662,7 +662,7 @@
<string name="spoken_emoji_1F530" msgid="3572898444281774023">"និមិត្តសញ្ញាជប៉ុនសម្រាប់អ្នកចាប់ផ្ដើម"</string>
<string name="spoken_emoji_1F531" msgid="5225633376450025396">"លំពែងមុខបី"</string>
<string name="spoken_emoji_1F532" msgid="9169568490485180779">"ប៊ូតុងការេពណ៌ខ្មៅ"</string>
- <string name="spoken_emoji_1F533" msgid="6554193837201918598">"ប៊ូតុងការ៉េពណ៌ស"</string>
+ <string name="spoken_emoji_1F533" msgid="6554193837201918598">"ប៊ូតុងការ៉េពណ៌ស"</string>
<string name="spoken_emoji_1F534" msgid="8339298801331865340">"រង្វង់ពណ៌ក្រហមធំ"</string>
<string name="spoken_emoji_1F535" msgid="1227403104835533512">"រង្វង់ពណ៌ខៀវធំ"</string>
<string name="spoken_emoji_1F536" msgid="5477372445510469331">"ពេជ្រពណ៌ទឹកក្រូចធំ"</string>
@@ -745,8 +745,8 @@
<string name="spoken_emoji_1F628" msgid="8875777401624904224">"មុខភ័យខ្លាច"</string>
<string name="spoken_emoji_1F629" msgid="1411538490319190118">"មុខនឿយហត់"</string>
<string name="spoken_emoji_1F62A" msgid="4726686726690289969">"មុខងងុយគេង"</string>
- <string name="spoken_emoji_1F62B" msgid="3221980473921623613">"មុខអស់កម្លាំង"</string>
- <string name="spoken_emoji_1F62C" msgid="4616356691941225182">"មុខក្រញេវក្រញូវ"</string>
+ <string name="spoken_emoji_1F62B" msgid="3221980473921623613">"មុខអស់កម្លាំង"</string>
+ <string name="spoken_emoji_1F62C" msgid="4616356691941225182">"មុខក្រញេវក្រញូវ"</string>
<string name="spoken_emoji_1F62D" msgid="4283677508698812232">"មុខយំលឺៗ"</string>
<string name="spoken_emoji_1F62E" msgid="726083405284353894">"មុខបើកមាត់"</string>
<string name="spoken_emoji_1F62F" msgid="7746620088234710962">"មុខស្ងៀមស្ងាត់"</string>
@@ -784,7 +784,7 @@
<string name="spoken_emoji_1F683" msgid="8772750354339223092">"ទូររថភ្លើង"</string>
<string name="spoken_emoji_1F684" msgid="346396777356203608">"រថភ្លើងល្បឿនលឿន"</string>
<string name="spoken_emoji_1F685" msgid="1237059817190832730">"រថភ្លើងល្បឿនលឿនមានច្រមុះ"</string>
- <string name="spoken_emoji_1F686" msgid="3525197227223620343">"រថភ្លើង"</string>
+ <string name="spoken_emoji_1F686" msgid="3525197227223620343">"រថភ្លើង"</string>
<string name="spoken_emoji_1F687" msgid="5110143437960392837">"មេត្រូ"</string>
<string name="spoken_emoji_1F688" msgid="4702085029871797965">"រថភ្លើងប្រើពន្លឺ"</string>
<string name="spoken_emoji_1F689" msgid="2375851019798817094">"ស្ថានីយ"</string>
@@ -803,7 +803,7 @@
<string name="spoken_emoji_1F696" msgid="6391604457418285404">"តាក់ស៊ីខាងមុខ"</string>
<string name="spoken_emoji_1F697" msgid="7978399334396733790">"រថយន្ត"</string>
<string name="spoken_emoji_1F698" msgid="7006050861129732018">"រថយន្តខាងមុខ"</string>
- <string name="spoken_emoji_1F699" msgid="630317052666590607">"រថយន្តសម្រាប់កម្សាន្ត"</string>
+ <string name="spoken_emoji_1F699" msgid="630317052666590607">"រថយន្តសម្រាប់កម្សាន្ត"</string>
<string name="spoken_emoji_1F69A" msgid="4739797891735823577">"រថយន្តចែកចាយ"</string>
<string name="spoken_emoji_1F69B" msgid="4715997280786620649">"ឡានកាមីយ៉ុង"</string>
<string name="spoken_emoji_1F69C" msgid="5557395610750818161">"ត្រាក់ទ័រ"</string>
@@ -819,7 +819,7 @@
<string name="spoken_emoji_1F6A6" msgid="485575967773793454">"ភ្លើងចរាចរណ៍បញ្ឈរ"</string>
<string name="spoken_emoji_1F6A7" msgid="6411048933816976794">"សញ្ញាសំណង់"</string>
<string name="spoken_emoji_1F6A8" msgid="6345717218374788364">"រថយន្តប៉ូលិសបើកសារ៉ែនវិល"</string>
- <string name="spoken_emoji_1F6A9" msgid="6586380356807600412">"បង្គោលទង់ជាតិរាងត្រីកោណ"</string>
+ <string name="spoken_emoji_1F6A9" msgid="6586380356807600412">"បង្គោលទង់ជាតិរាងត្រីកោណ"</string>
<string name="spoken_emoji_1F6AA" msgid="8954448167261738885">"ទ្វារ"</string>
<string name="spoken_emoji_1F6AB" msgid="5313946262888343544">"សញ្ញាហាមចូល"</string>
<string name="spoken_emoji_1F6AC" msgid="6946858177965948288">"សញ្ញាជក់បារី"</string>
diff --git a/java/res/values-km-rKH/strings-letter-descriptions.xml b/java/res/values-km-rKH/strings-letter-descriptions.xml
new file mode 100644
index 0000000..f58eff4
--- /dev/null
+++ b/java/res/values-km-rKH/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"សញ្ញា ª"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"សញ្ញា µ"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"សញ្ញា º"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"សញ្ញា ß"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"សញ្ញា à"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"សញ្ញា á"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"សញ្ញា â"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"សញ្ញា ã"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"សញ្ញា ä"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"សញ្ញា å"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"សញ្ញា æ"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"សញ្ញា ç"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"សញ្ញា è"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"សញ្ញា é"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"សញ្ញា ê"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"សញ្ញា ë"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"សញ្ញា ì"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"សញ្ញា í"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"សញ្ញា î"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"សញ្ញា ï"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"សញ្ញា ð"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"សញ្ញា ñ"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"សញ្ញា ò"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"សញ្ញា ó"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"សញ្ញា ô"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"សញ្ញា õ"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"សញ្ញា ö"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"សញ្ញា ø"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"សញ្ញា ù"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"សញ្ញា ú"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"សញ្ញា û"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"សញ្ញា ü"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"សញ្ញា ý"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"សញ្ញា þ"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"សញ្ញា ÿ"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"សញ្ញា ā"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"សញ្ញា ă"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"សញ្ញា ą"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"សញ្ញា ć"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"សញ្ញា ĉ"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"សញ្ញា ċ"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"សញ្ញា č"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"សញ្ញា ď"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"សញ្ញា đ"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"សញ្ញា ē"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"សញ្ញា ĕ"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"សញ្ញា ė"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"សញ្ញា ę"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"សញ្ញា ě"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"សញ្ញា ĝ"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"សញ្ញា ğ"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"សញ្ញា ġ"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"សញ្ញា ģ"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"សញ្ញា ĥ"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"សញ្ញា ħ"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"សញ្ញា ĩ"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"សញ្ញា ī"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"សញ្ញា ĭ"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"សញ្ញា į"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"សញ្ញា ı"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"សញ្ញា ij"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"សញ្ញា ĵ"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"សញ្ញា ķ"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"សញ្ញា ĸ"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"សញ្ញា ĺ"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"សញ្ញា ļ"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"សញ្ញា ľ"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"សញ្ញា ŀ"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"សញ្ញា ł"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"សញ្ញា ń"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"សញ្ញា ņ"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"សញ្ញា ň"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"សញ្ញា ʼn"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"សញ្ញា ŋ"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"សញ្ញា ō"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"សញ្ញា ŏ"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"សញ្ញា ő"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"សញ្ញា œ"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"សញ្ញា ŕ"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"សញ្ញា ŗ"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"សញ្ញា ř"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"សញ្ញា ś"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"សញ្ញា ŝ"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"សញ្ញា ş"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"សញ្ញា š"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"សញ្ញា ţ"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"សញ្ញា ť"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"សញ្ញា ŧ"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"សញ្ញា ũ"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"សញ្ញា ū"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"សញ្ញា ŭ"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"សញ្ញា ů"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"សញ្ញា ű"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"សញ្ញា ų"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"សញ្ញា ŵ"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"សញ្ញា ŷ"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"សញ្ញា ź"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"សញ្ញា ż"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"សញ្ញា ž"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"សញ្ញា ſ"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"សញ្ញា ơ"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"សញ្ញា ư"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"សញ្ញា ș"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"សញ្ញា ț"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"សញ្ញា ə"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"សញ្ញា ạ"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"សញ្ញា ả"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"សញ្ញា ấ"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"សញ្ញា ầ"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"សញ្ញា ẩ"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"សញ្ញា ẫ"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"សញ្ញា ậ"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"សញ្ញា ắ"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"សញ្ញា ằ"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"សញ្ញា ẳ"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"សញ្ញា ẵ"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"សញ្ញា ặ"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"សញ្ញា ẹ"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"សញ្ញា ẻ"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"សញ្ញា ẽ"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"សញ្ញា ế"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"សញ្ញា ề"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"សញ្ញា ể"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"សញ្ញា ễ"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"សញ្ញា ệ"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"សញ្ញា ỉ"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"សញ្ញា ị"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"សញ្ញា ọ"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"សញ្ញា ỏ"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"សញ្ញា ố"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"សញ្ញា ồ"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"សញ្ញា ổ"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"សញ្ញា ỗ"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"សញ្ញា ộ"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"សញ្ញា ớ"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"សញ្ញា ờ"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"សញ្ញា ở"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"សញ្ញា ỡ"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"សញ្ញា ợ"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"សញ្ញា ụ"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"សញ្ញា ủ"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"សញ្ញា ứ"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"សញ្ញា ừ"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"សញ្ញា ử"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"សញ្ញា ữ"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"សញ្ញា ự"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"សញ្ញា ỳ"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"សញ្ញា ỵ"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"សញ្ញា ỷ"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"សញ្ញា ỹ"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"សញ្ញា ¡"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"សញ្ញា «"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"សញ្ញា ·"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"សញ្ញា ¹"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"សញ្ញា »"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"សញ្ញា ¿"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"សញ្ញា ‘"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"សញ្ញា ’"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"សញ្ញា ‚"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"សញ្ញា “"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"សញ្ញា ”"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"សញ្ញា †"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"សញ្ញា ‡"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"សញ្ញា ‰"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"សញ្ញា ′"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"សញ្ញា ″"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"សញ្ញា ‹"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"សញ្ញា ›"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"សញ្ញា ⁴"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"សញ្ញា ⁿ"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"សញ្ញា ₱"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"សញ្ញា ℅"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"សញ្ញា →"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"សញ្ញា ↓"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"សញ្ញា ∅"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"សញ្ញា ∆"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"សញ្ញា ≤"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"សញ្ញា ≥"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"សញ្ញា ★"</string>
+</resources>
diff --git a/java/res/values-km-rKH/strings-talkback-descriptions.xml b/java/res/values-km-rKH/strings-talkback-descriptions.xml
index 0f0ac56..e5b7860 100644
--- a/java/res/values-km-rKH/strings-talkback-descriptions.xml
+++ b/java/res/values-km-rKH/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"មិនស្គាល់តួអក្សរ"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"ទីកន្លែង"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"និមិត្តសញ្ញា"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"សញ្ញាអារម្មណ៍"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"អក្សរធំ <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"សញ្ញា I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"សញ្ញា İ"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"មិនស្គាល់និមិត្តសញ្ញា"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"មិនស្គាល់សញ្ញាអារម្មណ៍"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"តួអក្សរជំនួសអាចប្រើបាន"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"បានបដិសេធតួអក្សរជំនួស"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"ការស្នើជំនួសអាចប្រើបាន"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"បានបដិសេធការស្នើជំនួស"</string>
</resources>
diff --git a/java/res/values-km-rKH/strings.xml b/java/res/values-km-rKH/strings.xml
index 2cf51d8..c55c036 100644
--- a/java/res/values-km-rKH/strings.xml
+++ b/java/res/values-km-rKH/strings.xml
@@ -28,7 +28,7 @@
<string name="popup_on_keypress" msgid="123894815723512944">"លេចឡើងនៅពេលចុចគ្រាប់ចុច"</string>
<string name="general_category" msgid="1859088467017573195">"ទូទៅ"</string>
<string name="correction_category" msgid="2236750915056607613">"ការកែអត្ថបទ"</string>
- <string name="gesture_typing_category" msgid="497263612130532630">"បញ្ចូលដោយប្រើកាយវិការ"</string>
+ <string name="gesture_typing_category" msgid="497263612130532630">"បញ្ចូលដោយប្រើកាយវិការ"</string>
<string name="misc_category" msgid="6894192814868233453">"ជម្រើសផ្សេងទៀត"</string>
<string name="advanced_settings" msgid="362895144495591463">"ការកំណត់កម្រិតខ្ពស់"</string>
<string name="advanced_settings_summary" msgid="4487980456152830271">"ជម្រើសសម្រាប់អ្នកជំនាញ"</string>
@@ -38,7 +38,7 @@
<string name="show_language_switch_key_summary" msgid="7343403647474265713">"បង្ហាញនៅពេលដែលបើកភាសាបញ្ចូលច្រើន"</string>
<string name="sliding_key_input_preview" msgid="6604262359510068370">"បង្ហាញទ្រនិចបង្ហាញស្លាយ"</string>
<string name="sliding_key_input_preview_summary" msgid="6340524345729093886">"បង្ហាញសញ្ញាមើលឃើញខណៈពេលដែលរុញពីឆ្វេង ឬគ្រាប់ចុចនិមិត្តសញ្ញា"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"សោលេចឡើងបោះបង់ការពន្យារពេល"</string>
+ <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"សោលេចឡើងបោះបង់ការពន្យារពេល"</string>
<string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"គ្មានការពន្យារពេល"</string>
<string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"លំនាំដើម"</string>
<string name="abbreviation_unit_milliseconds" msgid="8700286094028323363">"<xliff:g id="MILLISECONDS">%s</xliff:g> មិល្លីវិនាទី"</string>
@@ -46,11 +46,10 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"ស្នើឈ្មោះទំនាក់ទំនង"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"ប្រើឈ្មោះពីទំនាក់ទំនងសម្រាប់ការស្នើ និងកែ"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"ការស្នើផ្ទាល់ខ្លួន"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"ធ្វើឲ្យ <xliff:g id="APPLICATION_NAME">%s</xliff:g> ប្រសើរឡើង"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"រយៈពេលចុចដកឃ្លាពីរដង"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"ប៉ះដកឃ្លាពីរដងបញ្ចូលរយៈពេលដែលអនុវត្តតាមដកឃ្លា"</string>
- <string name="auto_cap" msgid="1719746674854628252">"ការសរសេរជាអក្សរធំស្វ័យប្រវត្តិ"</string>
+ <string name="auto_cap" msgid="1719746674854628252">"ការសរសេរជាអក្សរធំស្វ័យប្រវត្តិ"</string>
<string name="auto_cap_summary" msgid="7934452761022946874">"សរសេរពាក្យដំបូងជាអក្សរធំនៃប្រយោគនីមួយៗ"</string>
<string name="edit_personal_dictionary" msgid="3996910038952940420">"វចនានុក្រមផ្ទាល់ខ្លួន"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"ផ្នែកបន្ថែមវចនានុក្រម"</string>
@@ -61,7 +60,7 @@
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3859783767435239118">"បង្ហាញនៅក្នុងរបៀបបញ្ឈរ"</string>
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"លាក់ជានិច្ច"</string>
<string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"ទប់ស្កាត់ពាក្យបំពាន"</string>
- <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"កុំស្នើឲ្យពាក្យបំពានមានសក្ដានុពល"</string>
+ <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"កុំស្នើឲ្យពាក្យបំពានមានសក្ដានុពល"</string>
<string name="auto_correction" msgid="7630720885194996950">"ការកែស្វ័យប្រវត្តិ"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"ចន្លោះមិនឃើញ និងសញ្ញាវណ្ណយុត្តកែពាក្យដែលបានវាយខុសស្វ័យប្រវត្តិ"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"បិទ"</string>
@@ -121,7 +120,7 @@
<string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"ថិរវេលាញ័រពេលចុចគ្រាប់ចុច"</string>
<string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"កម្រិតសំឡេងពេលចុចគ្រាប់ចុច"</string>
<string name="prefs_read_external_dictionary" msgid="2588931418575013067">"អានឯកសារវចនានុក្រមខាងក្រៅ"</string>
- <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"គ្មានឯកសារវចនានុក្រមនៅក្នុងថតទាញយក"</string>
+ <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"គ្មានឯកសារវចនានុក្រមនៅក្នុងថតទាញយក"</string>
<string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ជ្រើសឯកសារវចនានុក្រម ដើម្បីដំឡើង"</string>
<string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"ពិតជាដំឡើងឯកសារនេះសម្រាប់ <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string>
<string name="error" msgid="8940763624668513648">"មានកំហុស"</string>
@@ -148,7 +147,7 @@
<string name="dictionary_provider_name" msgid="3027315045397363079">"កម្មវិធីផ្ដល់វចនានុក្រម"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"សេវាកម្មវចនានុក្រម"</string>
<string name="download_description" msgid="6014835283119198591">"ព័ត៌មានបច្ចុប្បន្នភាពវចនានុក្រម"</string>
- <string name="dictionary_settings_title" msgid="8091417676045693313">"ផ្នែកបន្ថែមវចនានុក្រម"</string>
+ <string name="dictionary_settings_title" msgid="8091417676045693313">"ផ្នែកបន្ថែមវចនានុក្រម"</string>
<string name="dictionary_install_over_metered_network_prompt" msgid="3587517870006332980">"វចនានុក្រមអាចប្រើបាន"</string>
<string name="dictionary_settings_summary" msgid="5305694987799824349">"ការកំណត់សម្រាប់វចនានុក្រម"</string>
<string name="user_dictionaries" msgid="3582332055892252845">"វចនានុក្រមអ្នកប្រើ"</string>
@@ -164,10 +163,10 @@
<string name="message_updating" msgid="4457761393932375219">"ពិនិត្យមើលបច្ចុប្បន្នភាព"</string>
<string name="message_loading" msgid="5638680861387748936">"កំពុងផ្ទុក..."</string>
<string name="main_dict_description" msgid="3072821352793492143">"វចនានុក្រមចម្បង"</string>
- <string name="cancel" msgid="6830980399865683324">"បោះបង់"</string>
+ <string name="cancel" msgid="6830980399865683324">"បោះបង់"</string>
<string name="go_to_settings" msgid="3876892339342569259">"ការកំណត់"</string>
<string name="install_dict" msgid="180852772562189365">"ដំឡើង"</string>
- <string name="cancel_download_dict" msgid="7843340278507019303">"បោះបង់"</string>
+ <string name="cancel_download_dict" msgid="7843340278507019303">"បោះបង់"</string>
<string name="delete_dict" msgid="756853268088330054">"លុប"</string>
<string name="should_download_over_metered_prompt" msgid="1583881200688185508">"ភាសាដែលបានជ្រើសនៅលើឧបករណ៍ចល័តមានវចនានុក្រមអាចប្រើបាន។<br/> យើងផ្ដល់អនុសាសន៍ឲ្យ <b>ទាញយក</b> វចនានុក្រមភាសា <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> ដើម្បីបង្កើនបទពិសោធន៍វាយបញ្ចូលរបស់អ្នក។<br/> <br/> ការទាញយកអាចចំណាយពេលប្រហែលពីរនាទីនៅតាម 3G។ ការគិតថ្លៃអាចអនុវត្តប្រសិនបើអ្នកមិនប្រើ <b>ផែនការទិន្នន័យគ្មានដែនកំណត់</b>.<br/> បើអ្នកមិនប្រាកដថាផែនការណាមួយដែលអ្នកមាន យើងផ្ដល់អនុសាសន៍ឲ្យភ្ជាប់វ៉ាយហ្វាយ ដើម្បីចាប់ផ្ដើមទាញយកដោយស្វ័យប្រវត្តិ។<br/> <br/> ជំនួយ៖ អ្នកអាចទាញយក និងលុបវចនានុក្រមដោយចូលទៅ <b>ភាសា & ការបញ្ចូល</b> នៅក្នុងម៉ឺនុយ <b>ការកំណត់</b> សម្រាប់ឧបករណ៍ចល័ត។"</string>
<string name="download_over_metered" msgid="1643065851159409546">"ទាញយកឥឡូវនេះ (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> មេកាបៃ)"</string>
@@ -185,7 +184,7 @@
<string name="user_dict_settings_add_word_option_name" msgid="6665558053408962865">"ពាក្យ៖"</string>
<string name="user_dict_settings_add_shortcut_option_name" msgid="3094731590655523777">"ផ្លូវកាត់៖"</string>
<string name="user_dict_settings_add_locale_option_name" msgid="4738643440987277705">"ភាសា៖"</string>
- <string name="user_dict_settings_add_word_hint" msgid="4902434148985906707">"វាយបញ្ចូលពាក្យ"</string>
+ <string name="user_dict_settings_add_word_hint" msgid="4902434148985906707">"វាយបញ្ចូលពាក្យ"</string>
<string name="user_dict_settings_add_shortcut_hint" msgid="2265453012555060178">"ផ្លូវកាត់ជាជម្រើស"</string>
<string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"កែពាក្យ"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"កែ"</string>
diff --git a/java/res/values-lo-rLA/strings-action-keys.xml b/java/res/values-lo-rLA/strings-action-keys.xml
index 2399305..e1cd913 100644
--- a/java/res/values-lo-rLA/strings-action-keys.xml
+++ b/java/res/values-lo-rLA/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"ກ່ອນໜ້າ"</string>
<string name="label_done_key" msgid="7564866296502630852">"Done"</string>
<string name="label_send_key" msgid="482252074224462163">"ສົ່ງ"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"ຊອກຫາ"</string>
<string name="label_pause_key" msgid="2225922926459730642">"ຢຸດຊົ່ວຄາວ"</string>
<string name="label_wait_key" msgid="5891247853595466039">"ລໍຖ້າ"</string>
</resources>
diff --git a/java/res/values-lo-rLA/strings-emoji-descriptions.xml b/java/res/values-lo-rLA/strings-emoji-descriptions.xml
index 83a702e..0747fa6 100644
--- a/java/res/values-lo-rLA/strings-emoji-descriptions.xml
+++ b/java/res/values-lo-rLA/strings-emoji-descriptions.xml
@@ -210,7 +210,7 @@
<string name="spoken_emoji_1F330" msgid="3115760035618051575">"ລູກເກົາລັດ"</string>
<string name="spoken_emoji_1F331" msgid="5658888205290008691">"ກ້າໄມ້"</string>
<string name="spoken_emoji_1F332" msgid="2935650450421165938">"ຕົ້ນໄມ້ບໍ່ຜັດໃບ"</string>
- <string name="spoken_emoji_1F333" msgid="5898847427062482675">"ຕົ້ນໄມ້ຜັດໃບ"</string>
+ <string name="spoken_emoji_1F333" msgid="5898847427062482675">"ຕົ້ນໄມ້ຜັດໃບ"</string>
<string name="spoken_emoji_1F334" msgid="6183375224678417894">"ຕົ້ນປາມ"</string>
<string name="spoken_emoji_1F335" msgid="5352418412103584941">"ກະບອງເພັດ"</string>
<string name="spoken_emoji_1F337" msgid="3839107352363566289">"ທິວລິບ"</string>
@@ -450,7 +450,7 @@
<string name="spoken_emoji_1F458" msgid="5704243858031107692">"ກິໂມໂນ"</string>
<string name="spoken_emoji_1F459" msgid="3553148747050035251">"ບິກີນີ"</string>
<string name="spoken_emoji_1F45A" msgid="1389654639484716101">"ເສື້ອຜ້າຜູ່ຍິງ"</string>
- <string name="spoken_emoji_1F45B" msgid="1113293170254222904">"ກະເປົາ"</string>
+ <string name="spoken_emoji_1F45B" msgid="1113293170254222904">"ກະເປົາ"</string>
<string name="spoken_emoji_1F45C" msgid="3410257778598006936">"ກະເປົາ"</string>
<string name="spoken_emoji_1F45D" msgid="812176504300064819">"ກະເປົາ"</string>
<string name="spoken_emoji_1F45E" msgid="2901741399934723562">"ເກີບຜູ່ຊາຍ"</string>
diff --git a/java/res/values-lo-rLA/strings-letter-descriptions.xml b/java/res/values-lo-rLA/strings-letter-descriptions.xml
new file mode 100644
index 0000000..ecc0b7a
--- /dev/null
+++ b/java/res/values-lo-rLA/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"ໂຕບົ່ງຊີ້ລຳດັບເພດຍິງ"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"ສັນຍາລັກໄມໂຄຣ"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"ໂຕບົ່ງຊີ້ລຳດັບເພດຊາຍ"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Sharp S"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, grave"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, acute"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, circumflex"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, tilde"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, diaeresis"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, ring above"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, ligature"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, cedilla"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, grave"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, acute"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, circumflex"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, diaeresis"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, grave"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, acute"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, circumflex"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, diaeresis"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, tilde"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, grave"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, acute"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, circumflex"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, tilde"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, diaeresis"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, stroke"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, grave"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, acute"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, circumflex"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, diaeresis"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, acute"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, diaeresis"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, macron"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, breve"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, ogonek"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, acute"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, circumflex"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, dot above"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, caron"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, caron"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, stroke"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, macron"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, breve"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, dot above"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, ogonek"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, caron"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, circumflex"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, breve"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, dot above"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, cedilla"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, circumflex"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, stroke"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, tilde"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, macron"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, breve"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, ogonek"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"Dotless I"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, ligature"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, circumflex"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, cedilla"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, acute"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, cedilla"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, caron"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, middle dot"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, stroke"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, acute"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, cedilla"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, caron"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, preceded by apostrophe"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, macron"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, breve"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, double acute"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, ligature"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, acute"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, cedilla"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, caron"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, acute"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, circumflex"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, cedilla"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, caron"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, cedilla"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, caron"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, stroke"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, tilde"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, macron"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, breve"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, ring above"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, double acute"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, ogonek"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, circumflex"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, circumflex"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, acute"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, dot above"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, caron"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"Long S"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, horn"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, horn"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, comma below"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, comma below"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, dot below"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, hook above"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, breve and acute"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, breve and grave"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, breve and hook above"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, breve and tilde"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, breve and dot below"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, dot below"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, hook above"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, tilde"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, hook above"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, dot below"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, dot below"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, hook above"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, circumflex and acute"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, circumflex and grave"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, circumflex and hook above"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, circumflex and tilde"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, circumflex and dot below"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, horn and acute"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, horn and grave"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, horn and hook above"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, horn and tilde"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, horn and dot below"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, dot below"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, hook above"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, horn and acute"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, horn and grave"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, horn and hook above"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, horn and tilde"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, horn and dot below"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, grave"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, dot below"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, hook above"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, tilde"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Inverted exclamation mark"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Left-pointing double angle quotation mark"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"ຈ້ຳເມັດທາງກາງ"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Superscript one"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Right-pointing double angle quotation mark"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Inverted question mark"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Left single quotation mark"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Right single quotation mark"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Single low-9 quotation mark"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"ເຄື່ອງໝາຍວົງຢືມຊ້າຍ"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"ເຄື່ອງໝາຍວົງຢືມຂວາ"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Dagger"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Double dagger"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"ເຄື່ອງໝາຍຕໍ່ໄມລ໌"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Prime"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Double prime"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Single left-pointing angle quotation mark"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Single right-pointing angle quotation mark"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"ໂຕຍົກເລກສີ່"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"ໂຕຍົກ n ໂຕນ້ອຍ"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"ເຄື່ອງໝາຍເປໂຊ"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"CARE OF"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"ລູກສອນຊີ້ໄປຂວາ"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"ລູກສອນຊີ້ລົງ"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"ຊຸດຫວ່າງເປົ່າ"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"ເພີ່ມ"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"ໜ້ອຍກວ່າ ຫຼືເທົ່າກັບ"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"ຫຼາຍກວ່າ ຫຼືເທົ່າກັບ"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"ດາວດຳ"</string>
+</resources>
diff --git a/java/res/values-lo-rLA/strings-talkback-descriptions.xml b/java/res/values-lo-rLA/strings-talkback-descriptions.xml
index c6140fd..187b63a 100644
--- a/java/res/values-lo-rLA/strings-talkback-descriptions.xml
+++ b/java/res/values-lo-rLA/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"ໂຕອັກສອນທີ່ບໍ່ຮູ້ຈັກ"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"ສະຖານທີ່"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"ສັນຍາລັກ"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"ອີໂມຕິຄອນ"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"ໂຕພິມໃຫຍ່ <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"ໂຕພິມໃຫຍ່ I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"ໂຕພິມໃຫຍ່ I ມີຈ້ຳເມັດຢູ່ເທິງ"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"ສັນຍາລັກທີ່ບໍ່ຮູ້ຈັກ"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"ອີໂມຈິທີ່ບໍ່ຮູ້ຈັກ"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"ມີໂຕອັກສອນສຳຮອງໃຫ້ເລືອກ"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"ປິດໂຕອັກສອນສຳຮອງແລ້ວ"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"ມີຄຳແນະນຳສຳຮອງໃຫ້ເລືອກ"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"ປິດການແນະນຳສຳຮອງແລ້ວ"</string>
</resources>
diff --git a/java/res/values-lo-rLA/strings.xml b/java/res/values-lo-rLA/strings.xml
index c8ef7ac..8947a8b 100644
--- a/java/res/values-lo-rLA/strings.xml
+++ b/java/res/values-lo-rLA/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"ແນະນຳລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"ໃຊ້ຊື່ຈາກລາຍຊື່ຜູ່ຕິດຕໍ່ສຳລັບການແນະນຳ ແລະ ການຊ່ວຍແກ້ຄຳ"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"ຄຳແນະນຳຕາມການນຳໃຊ້ຂອງທ່ານ"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"ປັບປຸງ <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"ຍະຫວ່າງສອງເທື່ອເພື່ອໃສ່ຈ້ຳເມັດ"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"ກົດທີ່ປຸ່ມຍະຫວ່າງສອງເທື່ອເພື່ອໃສ່ຈ້ຳເມັດແລ້ວຕາມດ້ວຍການຍະຫວ່າງ"</string>
<string name="auto_cap" msgid="1719746674854628252">"ເຮັດໂຕພິມໃຫຍ່ອັດຕະໂນມັດ"</string>
diff --git a/java/res/values-mn-rMN/strings-action-keys.xml b/java/res/values-mn-rMN/strings-action-keys.xml
index a855386..8ebb5bb 100644
--- a/java/res/values-mn-rMN/strings-action-keys.xml
+++ b/java/res/values-mn-rMN/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Өмнөх"</string>
<string name="label_done_key" msgid="7564866296502630852">"Дууссан"</string>
<string name="label_send_key" msgid="482252074224462163">"Илгээх"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Хайлт"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Түр зогсоох"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Хүлээх"</string>
</resources>
diff --git a/java/res/values-mn-rMN/strings-letter-descriptions.xml b/java/res/values-mn-rMN/strings-letter-descriptions.xml
new file mode 100644
index 0000000..b8f8d85
--- /dev/null
+++ b/java/res/values-mn-rMN/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Эм хүйсийн дугаар заагч"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Микро тэмдэг"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Эр хүйсийн дугаар заагч"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Хурц S"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"А, зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"А, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"А, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"А, долгионтой"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"А, хоёр цэгтэй"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, дээрээ цагирагтай"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, залгагдсан"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, дэвсгэртэй"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, хоёр цэгтэй"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, хоёр цэгтэй"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Зураастай ди"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, долгионтой"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, долгионтой"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, хоёр цэгтэй"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, хөндлөн зураастай"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, хоёр цэгтэй"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Гэдэстэй багана"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, хоёр цэгтэй"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, хөндлөн малгайтай"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"А, тавган малгайтай"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"А, сүүлтэй"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"С, дээрээ цэгтэй"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, аяган малгайтай"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, аяган малгайтай"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, хөндлөн зураастай"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, хөндлөн малгайтай"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, тавган малгайтай"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, дээрээ цэгтэй"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, сүүлтэй"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, аяган малгайтай"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, тавган малгайтай"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, дээрээ цэгтэй"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, дэвсгэртэй"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, хөндлөн зураастай"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, долгионтой"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, хөндлөн малгайтай"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, тавган малгайтай"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, сүүлтэй"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"Цэггүй I"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, залгагдсан"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, дэвсгэртэй"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Кра"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, дэвсгэртэй"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, аяган малгайтай"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, дунд цэгтэй"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, хөндлөн зураастай"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, дэвсгэртэй"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, аяган малгайтай"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N,"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Инг"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, хөндлөн малгайтай"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, тавган малгайтай"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, давхар баруун малгайтай"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, залгагдсан"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, дэвсгэртэй"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, аяган малгайтай"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, дэвсгэртэй"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, аяган малгайтай"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, дэвсгэртэй"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, аяган малгайтай"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, хөндлөн зураастай"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, долгионтой"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, хөндлөн малгайтай"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, тавган малгайтай"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, дээрээ цагирагтай"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, давхар баруун малгайтай"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, сүүлтэй"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, дээвэр малгайтай"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, баруун малгайтай"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, дээрээ цэгтэй"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, аяган малгайтай"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"Урт S"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, эвэртэй"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, эвэртэй"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, доор таслалтай"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, доор таслалтай"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Шва"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"А, доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"А, дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, дээвэр болон баруун малгайтай"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"А, дээвэр болон зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"А, дээвэр болон дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"А, дээвэр болон долгионтой"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"А, дээвэр болон доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"А, тавган болон баруун малгайтай"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"А, тавган болон зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"А, тавган болон дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"А, тавган болон долгионтой"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"А, тавган болон доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, долгионтой"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, дээвэр болон баруун малгайтай"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, дээвэр болон зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, дээвэр болон дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, дээвэр болон долгионтой"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, дээвэр болон доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, дээвэр болон баруун малгайтай"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, дээвэр болон зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, дээвэр болон дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, дээвэр болон долгионтой"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, дээвэр болон доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, эвэр болон баруун малгайтай"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, эвэр болон зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, эвэр болон дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, эвэр болон долгионтой"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, эвэр болон доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, эвэр болон баруун малгайтай"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, эвэр болон зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, эвэр болон дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, эвэр болон долгионтой"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, эвэр болон доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, зүүн малгайтай"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, доор цэгтэй"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, дээр дэгээтэй"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, долгионтой"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Урвуу анхаарлын тэмдэг"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Зүүн заасан давхар хашилт"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Дунд цэг"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Мөрний дээрх нэг"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Баруун заасан давхар хашилт"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Урвуу асуултын тэмдэг"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Зүүн дан хашилт"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Баруун дан хашилт"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Дан доогуур-9 хашилт"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Зүүн давхар хашилт"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Баруун давхар хашилт"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Чинжаал"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Давхар чинжаал"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Нэг мильд тэмдэг"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Штрих"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Давхар штрих"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Зүүн заасан дан хашилт"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Баруун заасан дан хашилт"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Мөрний дээрх дөрөв"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"Мөрний дээрх жижиг латин n"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Песо тэмдэг"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Анхааралд"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Баруун сум"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Доош сум"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Хоосон олонлог"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Өсөлт"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Бага буюу тэнцүү"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Их буюу тэнцүү"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Хар од"</string>
+</resources>
diff --git a/java/res/values-mn-rMN/strings-talkback-descriptions.xml b/java/res/values-mn-rMN/strings-talkback-descriptions.xml
index 1c1e6e7..d2c583e 100644
--- a/java/res/values-mn-rMN/strings-talkback-descriptions.xml
+++ b/java/res/values-mn-rMN/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Үл мэдэгдэх тэмдэгт"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Газар"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Симбол"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Эмотикон"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"Том <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"Том I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"Том I, дээрээ цэгтэй"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Үл мэдэгдэх симбол"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Үл мэдэгдэх эможи"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Бусад тэмдэгтүүд ашиглах боломжтой"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Бусад тэмдэгтүүдийг хаагдсан"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Бусад санал болголтууд ашиглах боломжтой"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Бусад санал болголтууд хаагдсан"</string>
</resources>
diff --git a/java/res/values-mn-rMN/strings.xml b/java/res/values-mn-rMN/strings.xml
index bfce751..67e8b4e 100644
--- a/java/res/values-mn-rMN/strings.xml
+++ b/java/res/values-mn-rMN/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Харилцагчдын нэрс санал болгох"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Санал болгох, залруулахда Харилцагчдын нэрсээс ашиглах"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Хувийн тохиргоотой зөвлөмжүүд"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> сайжруулах"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Давхар зайтай цэг"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Ардаа зайтай цэг оруулахын тулд Зай авах дээр давхар товшино уу"</string>
<string name="auto_cap" msgid="1719746674854628252">"Автоматаар томруулах"</string>
diff --git a/java/res/values-pt-rPT/strings-action-keys.xml b/java/res/values-pt-rPT/strings-action-keys.xml
index 1b5921f..73a6c49 100644
--- a/java/res/values-pt-rPT/strings-action-keys.xml
+++ b/java/res/values-pt-rPT/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Ant."</string>
<string name="label_done_key" msgid="7564866296502630852">"Conc."</string>
<string name="label_send_key" msgid="482252074224462163">"Env."</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Pesquisar"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Pausa"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Esp."</string>
</resources>
diff --git a/java/res/values-pt-rPT/strings-letter-descriptions.xml b/java/res/values-pt-rPT/strings-letter-descriptions.xml
new file mode 100644
index 0000000..377b157
--- /dev/null
+++ b/java/res/values-pt-rPT/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Indicador ordinal feminino"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Sinal de micro"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Indicador ordinal masculino"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"S curto"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, grave"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, agudo"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, circunflexo"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, til"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, diérese"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, anel sobreposto"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, ligadura"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, cedilha"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, grave"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, agudo"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, circunflexo"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, diérese"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, grave"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, agudo"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, circunflexo"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, diérese"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, til"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, grave"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, agudo"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, circunflexo"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, til"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, diérese"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, traço"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, grave"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, agudo"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, circunflexo"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, diérese"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, agudo"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, diérese"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, mácron"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, breve"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, ogonek"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, agudo"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, circunflexo"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, ponto sobreposto"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, caron"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, caron"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, traço"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, mácron"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, breve"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, ponto sobreposto"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, ogonek"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, caron"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, circunflexo"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, breve"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, ponto sobreposto"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, cedilha"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, circunflexo"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, traço"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, til"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, mácron"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, breve"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, ogonek"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"I sem ponto"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, ligadura"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, circunflexo"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, cedilha"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, agudo"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, cedilha"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, caron"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, ponto intermédio"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, traço"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, agudo"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, cedilha"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, caron"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, precedido de apóstrofe"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, mácron"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, breve"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, duplo agudo"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, ligadura"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, agudo"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, cedilha"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, caron"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, agudo"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, circunflexo"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, cedilha"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, caron"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, cedilha"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, caron"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, traço"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, til"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, mácron"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, breve"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, anel sobreposto"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, duplo agudo"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, ogonek"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, circunflexo"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, circunflexo"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, agudo"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, ponto sobreposto"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, caron"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"S longo"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, chifre"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, chifre"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, vírgula subposta"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, vírgula subposta"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, ponto subposto"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, circunflexo e agudo"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, circunflexo e grave"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, circunflexo e gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, circunflexo e til"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, circunflexo e ponto subposto"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, breve e agudo"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, breve e grave"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, breve e gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, breve e til"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, breve e ponto subposto"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, ponto subposto"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, til"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, circunflexo e agudo"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, circunflexo e grave"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, circunflexo e gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, circunflexo e til"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, circunflexo e ponto subposto"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, ponto subposto"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, ponto subposto"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, circunflexo e agudo"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, circunflexo e grave"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, circunflexo e gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, circunflexo e til"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, circunflexo e ponto subposto"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, chifre e agudo"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, chifre e grave"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, chifre e gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, chifre e til"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, chifre e ponto subposto"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, ponto subposto"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, chifre e agudo"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, chifre e grave"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, chifre e gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, chifre e til"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, chifre e ponto subposto"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, grave"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, ponto subposto"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, gancho sobreposto"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, til"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Ponto de exclamação invertido"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Aspas angulares duplas esquerdas"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Ponto intermédio"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Um sobrescrito"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Aspas angulares duplas direitas"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Ponto de interrogação invertido"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Aspa simples esquerda"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Aspa simples direita"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Aspa simples subposta"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Aspas duplas esquerdas"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Aspas duplas direitas"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Adaga"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Adaga dupla"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Sinal de permilagem"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Plica"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Plica dupla"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Aspa angular simples esquerda"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Aspa angular simples direita"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Quatro sobrescrito"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"N latino minúsculo sobrescrito"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Sinal de peso"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Ao cuidado de"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Seta para a direita"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Seta para baixo"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Conjunto vazio"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Delta"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Menor do que ou igual a"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Maior do que ou igual a"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Estrela negra"</string>
+</resources>
diff --git a/java/res/values-pt-rPT/strings-talkback-descriptions.xml b/java/res/values-pt-rPT/strings-talkback-descriptions.xml
index 91d187e..30bbd3f 100644
--- a/java/res/values-pt-rPT/strings-talkback-descriptions.xml
+++ b/java/res/values-pt-rPT/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Caráter desconhecido"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Locais"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Símbolos"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Ícones expressivos"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"<xliff:g id="LOWER_LETTER">%s</xliff:g> maiúsculo"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"I maiúsculo"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"I maiúsculo, ponto sobreposto"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Símbolo desconhecido"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Emoji desconhecido"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Os carateres alternativos estão disponíveis"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Os carateres alternativos são ignorados"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"As sugestões alternativas estão disponíveis"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"As sugestões alternativas são ignoradas"</string>
</resources>
diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml
index 7db5ccf..2129588 100644
--- a/java/res/values-pt-rPT/strings.xml
+++ b/java/res/values-pt-rPT/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Sugerir nomes de Contactos"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilizar nomes dos Contactos para sugestões e correções"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Sugestões personalizadas"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Melhorar <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Ponto de espaço duplo"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Tocar duas vezes na barra espaço insere ponto seguido de espaço"</string>
<string name="auto_cap" msgid="1719746674854628252">"Letras maiúsculas automáticas"</string>
diff --git a/java/res/values-ro/strings-action-keys.xml b/java/res/values-ro/strings-action-keys.xml
index bee4b12..1a15415 100644
--- a/java/res/values-ro/strings-action-keys.xml
+++ b/java/res/values-ro/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Înap."</string>
<string name="label_done_key" msgid="7564866296502630852">"Gata"</string>
<string name="label_send_key" msgid="482252074224462163">"Trim."</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Căutați"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Pauză"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Așt."</string>
</resources>
diff --git a/java/res/values-ro/strings-letter-descriptions.xml b/java/res/values-ro/strings-letter-descriptions.xml
new file mode 100644
index 0000000..46cbd1a
--- /dev/null
+++ b/java/res/values-ro/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Indicator de ordine feminin"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Semnul miu"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Indicator de ordine masculin"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"S ascuțit"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, accent grav"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, accent ascuțit"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, accent circumflex"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, tildă"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, semn diacritic"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, cerc deasupra"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, ligatură"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, sedilă"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, accent grav"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, accent ascuțit"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, accent circumflex"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, semn diacritic"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, accent grav"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, accent ascuțit"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, accent circumflex"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, semn diacritic"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, tildă"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, accent grav"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, accent ascuțit"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, accent circumflex"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, tildă"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, semn diacritic"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, tăiat cu linie"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, accent grav"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, accent ascuțit"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, accent circumflex"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, semn diacritic"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, accent ascuțit"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, semn diacritic"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, macron"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, căciulă"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, ogonek"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, accent ascuțit"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, accent circumflex"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, punct deasupra"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, caron"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, caron"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, tăiat cu linie"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, macron"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, căciulă"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, punct deasupra"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, ogonek"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, caron"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, accent circumflex"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, căciulă"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, punct deasupra"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, sedilă"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, accent circumflex"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, tăiat cu linie"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, tildă"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, macron"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, căciulă"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, ogonek"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"I fără punct"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, ligatură"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, accent circumflex"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, sedilă"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, accent ascuțit"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, sedilă"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, caron"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, punct la mijloc"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, tăiat cu linie"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, accent ascuțit"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, sedilă"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, caron"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, precedat de apostrof"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, macron"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, căciulă"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, accent ascuțit dublu"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, ligatură"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, accent ascuțit"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, sedilă"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, caron"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, accent ascuțit"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, accent circumflex"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, sedilă"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, caron"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, sedilă"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, caron"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, tăiat cu linie"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, tildă"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, macron"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, căciulă"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, cerc deasupra"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, accent ascuțit dublu"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, ogonek"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, accent circumflex"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, accent circumflex"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, accent ascuțit"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, punct deasupra"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, caron"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"S lung"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, corn"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, corn"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, virgulă dedesubt"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, virgulă dedesubt"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, punct dedesubt"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, accent circumflex și ascuțit"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, accent circumflex și grav"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, accent circumflex și cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, accent circumflex și tildă"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, accent circumflex și punct dedesubt"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, căciulă și accent ascuțit"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, căciulă și accent grav"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, căciulă și cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, căciulă și tildă"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, căciulă și punct dedesubt"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, punct dedesubt"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, tildă"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, accent circumflex și ascuțit"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, accent circumflex și grav"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, accent circumflex și cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, accent circumflex și tildă"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, accent circumflex și punct dedesubt"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, punct dedesubt"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, punct dedesubt"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, accent circumflex și ascuțit"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, accent circumflex și grav"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, accent circumflex și cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, accent circumflex și tildă"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, accent circumflex și punct dedesubt"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, corn și accent ascuțit"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, corn și accent grav"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, corn și cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, corn și tildă"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, corn și punct dedesubt"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, punct dedesubt"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, corn și accent ascuțit"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, corn și accent grav"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, corn și cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, corn și tildă"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, corn și punct dedesubt"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, accent grav"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, punct dedesubt"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, cârlig deasupra"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, tildă"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Semnul exclamării inversat"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Ghilimele duble la stânga"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Punct la mijloc"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Unu exponent"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Ghilimele duble la dreapta"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Semnul întrebării inversat"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Ghilimele simple la stânga"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Ghilimele simple la dreapta"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Ghilimele simple jos"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Ghilimele duble la stânga"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Ghilimele duble la dreapta"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Cruce"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Cruce dublă"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Semnul la mie"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Prim"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Prim dublu"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Ghilimele simple la stânga"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Ghilimele simple la dreapta"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Patru exponent"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"n latin exponent"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Semnul peso"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"În atenția"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Săgeată la dreapta"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Săgeată în jos"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Zero barat"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Increment"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Mai mic sau egal cu"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Mai mare sau egal cu"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Stea neagră"</string>
+</resources>
diff --git a/java/res/values-ro/strings-talkback-descriptions.xml b/java/res/values-ro/strings-talkback-descriptions.xml
index 6e5db4d..52885c8 100644
--- a/java/res/values-ro/strings-talkback-descriptions.xml
+++ b/java/res/values-ro/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Caracter necunoscut"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Locații"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Simboluri"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Emoticonuri"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"<xliff:g id="LOWER_LETTER">%s</xliff:g> mare"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"I mare"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"I mare, punct deasupra"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Simbol necunoscut"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Emoji necunoscut"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Sunt disponibile caracterele alternative"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"S-au închis caracterele alternative"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Sunt disponibile sugestiile alternative"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"S-au închis sugestiile alternative"</string>
</resources>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index 628b1a2..8e1bb1c 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Sugeraţi nume din Agendă"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilizaţi numele din Agendă pentru sugestii şi corecţii"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Sugestii personalizate"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Îmbunătățiți <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Inserează punct spațiu"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Dubla atingere a barei de spațiu inserează punct urmat de spațiu"</string>
<string name="auto_cap" msgid="1719746674854628252">"Scriere automată cu majuscule"</string>
diff --git a/java/res/values-sk/strings-action-keys.xml b/java/res/values-sk/strings-action-keys.xml
index ffc5be2..84e1c31 100644
--- a/java/res/values-sk/strings-action-keys.xml
+++ b/java/res/values-sk/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Pred."</string>
<string name="label_done_key" msgid="7564866296502630852">"OK"</string>
<string name="label_send_key" msgid="482252074224462163">"Posl."</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Hľadať"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Pauza"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Čakať"</string>
</resources>
diff --git a/java/res/values-sk/strings-letter-descriptions.xml b/java/res/values-sk/strings-letter-descriptions.xml
new file mode 100644
index 0000000..e6bba4a
--- /dev/null
+++ b/java/res/values-sk/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Indikátor radovej číslovky ženského rodu"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Znak mikro"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Indikátor radovej číslovky mužského rodu"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Ostré S"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A s opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A s dĺžňom"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A s vokáňom"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A s vlnovkou"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A s dvoma bodkami"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A s krúžkom"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"Ligatúra písmen A, E"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C s háčikom pod písmenom"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E s opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E s dĺžňom"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E s vokáňom"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E s dvoma bodkami"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I s opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I s dĺžňom"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I s vokáňom"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I s dvoma bodkami"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N s vlnovkou"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O s opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O s dĺžňom"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O s vokáňom"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O s vlnovkou"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O s dvoma bodkami"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"Prečiarknuté O"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U s opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U s dĺžňom"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U s vokáňom"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U s dvoma bodkami"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y s dĺžňom"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y s dvoma bodkami"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A s vodorovnou čiarkou"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A s oblúčikom"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A s nožičkou"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C s dĺžňom"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C s vokáňom"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C s bodkou nad písmenom"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C s mäkčeňom"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D s mäkčeňom"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"Prečiarknuté D"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E s vodorovnou čiarkou"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E s oblúčikom"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E s bodkou nad písmenom"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E s nožičkou"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E s mäkčeňom"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G s vokáňom"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G s oblúčikom"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G s bodkou nad písmenom"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G s háčikom pod písmenom"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H s vokáňom"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"Prečiarknuté H"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I s vlnovkou"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I s vodorovnou čiarkou"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I s oblúčikom"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I s nožičkou"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"I bez bodky"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"Ligatúra písmen I, J"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J s vokáňom"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K s háčikom pod písmenom"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L s dĺžňom"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L s háčikom pod písmenom"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L s mäkčeňom"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L s bodkou uprostred"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"Prečiarknuté L"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N s dĺžňom"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N s háčikom pod písmenom"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N s mäkčeňom"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N s apostrofom na začiatku"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O s vodorovnou čiarkou"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O s oblúčikom"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O s dvoma dĺžňami"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"Ligatúra písmen O, E"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R s dĺžňom"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R s háčikom pod písmenom"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R s mäkčeňom"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S s dĺžňom"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S s vokáňom"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S s háčikom pod písmenom"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S s mäkčeňom"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T s háčikom pod písmenom"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T s mäkčeňom"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"Prečiarknuté T"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U s vlnovkou"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U s vodorovnou čiarkou"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U s oblúčikom"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U s krúžkom"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U s dvoma dĺžňami"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U s nožičkou"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W s vokáňom"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y s vokáňom"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z s dĺžňom"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z s bokou nad písmenom"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z s mäkčeňom"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"Dlhé S"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O s rohom"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U s rohom"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S s čiarkou pod písmenom"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T s čiarkou pod písmenom"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A s bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A s háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A s vokáňom aj dĺžňom"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A s vokáňom aj opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A s vokáňom aj háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A s vokáňom aj vlnovkou"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A s vokáňom aj bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A s oblúčikom aj dĺžňom"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A s oblúčikom aj opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A s oblúčikom aj háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A s oblúčikom aj vlnovkou"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A s oblúčikom aj bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E s bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E s háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E s vlnovkou"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E s vokáňom aj dĺžňom"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E s vokáňom aj opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E s vokáňom aj háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E s vokáňom aj vlnovkou"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E s vokáňom aj bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I s háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I s bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O s bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O s háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O s vokáňom aj dĺžňom"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O s vokáňom aj opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O s vokáňom aj háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O s vokáňom aj vlnovkou"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O s vokáňom aj bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O s rohom aj dĺžňom"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O s rohom aj opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O s rohom aj háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O s rohom aj vlnovkou"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O s rohom aj bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U s bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U s háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U s rohom aj dĺžňom"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U s rohom aj opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U s rohom aj háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U s rohom aj vlnovkou"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U s rohom aj bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y s opačným dĺžňom"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y s bodkou pod písmenom"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y s háčikom nad písmenom"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y s vlnovkou"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Obrátený výkričník"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Lomené ľavé dvojité úvodzovky"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Bodka uprostred"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Jednotka v hornom indexe"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Lomené pravé dvojité úvodzovky"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Obrátený otáznik"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Ľavé jednoduché úvodzovky"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Pravé jednoduché úvodzovky"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Dolné jednoduché úvodzovky"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Ľavé dvojité úvodzovky"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Pravé dvojité úvodzovky"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Krížik"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Dvojitý krížik"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Znak promile"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Indexová čiarka"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Dvojitá indexová čiarka"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Jednoduché ľavé úvodzovky"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Jednoduché pravé úvodzovky"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Štvorka v hornom indexe"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"Latinka – malé písmeno n v hornom indexe"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Znak pesa"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Malé písmená c a o oddelené lomkou"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Šípka vpravo"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Šípka nadol"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Prázdna množina"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Prírastok"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Menšie alebo rovné ako"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Väčšie alebo rovné ako"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Čierna hviezda"</string>
+</resources>
diff --git a/java/res/values-sk/strings-talkback-descriptions.xml b/java/res/values-sk/strings-talkback-descriptions.xml
index 9fde012..2cd094e 100644
--- a/java/res/values-sk/strings-talkback-descriptions.xml
+++ b/java/res/values-sk/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Neznámy znak"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Miesta"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Symboly"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Emotikony"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"Veľké písmeno – <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"Veľké I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"Veľké I s bodkou nad písmenom"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Neznámy symbol"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Neznámy symbol Emodži"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Alternatívne znaky sú dostupné"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Alternatívne znaky boli zrušené"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Alternatívne návrhy sú dostupné"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Alternatívne návrhy boli zrušené"</string>
</resources>
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
index f439bd0..023193b 100644
--- a/java/res/values-sk/strings.xml
+++ b/java/res/values-sk/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Navrhnúť mená kontaktov"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Používať mená z Kontaktov na návrhy a opravy"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Prispôsobené návrhy"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Zlepšiť aplikáciu <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Bodka s medzerou"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Dvojitým klepnutím na medzerník vložíte bodku a medzeru."</string>
<string name="auto_cap" msgid="1719746674854628252">"Veľké písmená automaticky"</string>
diff --git a/java/res/values-uk/strings-action-keys.xml b/java/res/values-uk/strings-action-keys.xml
index 8b71498..206fcf0 100644
--- a/java/res/values-uk/strings-action-keys.xml
+++ b/java/res/values-uk/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Назад"</string>
<string name="label_done_key" msgid="7564866296502630852">"ОК"</string>
<string name="label_send_key" msgid="482252074224462163">"Слати"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Пошук"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Пауза"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Ждати"</string>
</resources>
diff --git a/java/res/values-uk/strings-letter-descriptions.xml b/java/res/values-uk/strings-letter-descriptions.xml
new file mode 100644
index 0000000..1199771
--- /dev/null
+++ b/java/res/values-uk/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Індикатор порядкового числівника жіночого роду"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Знак мікро"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Індикатор порядкового числівника чоловічого роду"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Есцет"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, гравіс"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, акут"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, циркумфлекс"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, тильда"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, трема"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, кільце вгорі"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, лігатура"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, седиль"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, гравіс"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, акут"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, циркумфлекс"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, трема"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, гравіс"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, акут"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, циркумфлекс"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, трема"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Ет"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, тильда"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, гравіс"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, акут"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, циркумфлекс"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, тильда"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, трема"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, риска"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, гравіс"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, акут"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, циркумфлекс"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, трема"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, акут"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Торн"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, трема"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, макрон"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, бреве"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, хвостик"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, акут"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, циркумфлекс"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, крапка вгорі"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, гачек"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, гачек"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, риска"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, макрон"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, бреве"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, крапка вгорі"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, хвостик"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, гачек"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, циркумфлекс"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, бреве"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, крапка вгорі"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, седиль"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, циркумфлекс"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, риска"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, тильда"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, макрон"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, бреве"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, хвостик"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"I без крапки"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, лігатура"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, циркумфлекс"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, седиль"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Кра"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, акут"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, седіль"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, гачек"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, інтерпункт"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, риска"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, акут"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, седиль"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, гачек"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, після апострофа"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Енг"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, макрон"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, бреве"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, подвійний акут"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, лігатура"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, акут"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, седиль"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, гачек"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, акут"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, циркумфлекс"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, седиль"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, гачек"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, седиль"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, гачек"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, риска"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, тильда"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, макрон"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, бреве"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, кільце вгорі"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, подвійний акут"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, хвостик"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, циркумфлекс"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, циркумфлекс"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, акут"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, крапка вгорі"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, гачек"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"Довгий звук S"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, ріг"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, ріг"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, кома внизу"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, кома внизу"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Шва"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, крапка внизу"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, гачок угорі"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, циркумфлекс і акут"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, циркумфлекс і гравіс"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, циркумфлекс і гачок угорі"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, циркумфлекс і тильда"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, циркумфлекс і крапка внизу"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, бреве й акут"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, бреве та гравіс"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, бреве та гачок угорі"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, бреве та тильда"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, бреве та крапка внизу"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, крапка внизу"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, гачок угорі"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, тильда"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, циркумфлекс і акут"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, циркумфлекс і гравіс"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, циркумфлекс і гачок угорі"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, циркумфлекс і тильда"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, циркумфлекс і крапка внизу"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, гачок угорі"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, крапка внизу"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, крапка внизу"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, гачок угорі"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, циркумфлекс і акут"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, циркумфлекс і гравіс"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, циркумфлекс і гачок угорі"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, циркумфлекс і тильда"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, циркумфлекс і крапка внизу"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, ріг і акут"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, ріг і гравіс"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, ріг і гачок угорі"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, ріг і тильда"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, ріг і крапка внизу"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, крапка внизу"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, гачок угорі"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, ріг і акут"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, ріг і гравіс"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, ріг і гачок угорі"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, ріг і тильда"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, ріг і крапка внизу"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, гравіс"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, крапка внизу"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, гачок угорі"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, тильда"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Перевернутий знак оклику"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Ліві подвійні кутові лапки"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Інтерпункт"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Верхній індекс, один"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Праві подвійні кутові лапки"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Перевернутий знак запитання"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Ліві одинарні лапки"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Праві одинарні лапки"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Ліві нижні одинарні лапки"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Ліві подвійні лапки"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Праві подвійні лапки"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Хрестик"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Подвійний хрестик"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Знак проміле"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Штрих"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Подвійний штрих"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Ліві одинарні кутові лапки"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Праві одинарні кутові лапки"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Верхній індекс, чотири"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"Верхній індекс, мала латинська літера n"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Знак песо"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Через"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Стрілка праворуч"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Стрілка вниз"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Порожня множина"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Крок"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Менше або дорівнює"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Більше або дорівнює"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Чорна зірка"</string>
+</resources>
diff --git a/java/res/values-uk/strings-talkback-descriptions.xml b/java/res/values-uk/strings-talkback-descriptions.xml
index e4df115..80e4710 100644
--- a/java/res/values-uk/strings-talkback-descriptions.xml
+++ b/java/res/values-uk/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Невідомий символ"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Місця"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Символи"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Смайли"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"Велика <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"Велика I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"Велика I, крапка вгорі"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Невідомий символ"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Невідомий смайл Emoji"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Доступні альтернативні символи"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Альтернативні символи відхилено"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Доступні альтернативні пропозиції"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Альтернативні пропозиції відхилено"</string>
</resources>
diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml
index 1d146a5..a7fcfd4 100644
--- a/java/res/values-uk/strings.xml
+++ b/java/res/values-uk/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Пропон. імена контактів"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Використ. імена зі списку контактів для пропозицій і виправлень"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Персональні пропозиції"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Покращувати додаток <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Крапка подвійним пробілом"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Подвійне натискання пробілу вставляє крапку з пробілом після неї"</string>
<string name="auto_cap" msgid="1719746674854628252">"Авто викор. вел. літер"</string>
diff --git a/java/res/values-v20/platform-theme.xml b/java/res/values-v20/platform-theme.xml
new file mode 100644
index 0000000..52e7f35
--- /dev/null
+++ b/java/res/values-v20/platform-theme.xml
@@ -0,0 +1,26 @@
+<?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.
+*/
+-->
+
+<!-- TODO: This file is temporarily placed under values-v20. -->
+<!-- TODO: It might be moved under values-v21. -->
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+ <style name="platformActivityTheme" parent="@android:style/Theme.Material.Light" />
+ <style name="platformDialogTheme" parent="@android:style/Theme.Material.Light.Dialog" />
+</resources>
diff --git a/java/res/values-v21/platform-theme.xml b/java/res/values-v21/platform-theme.xml
deleted file mode 100644
index a49e364..0000000
--- a/java/res/values-v21/platform-theme.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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.
-*/
--->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <style name="platformActivityTheme" parent="@android:style/Theme.Material.Light" />
- <!-- From packages/apps/Settings -->
- <style name="platformSettingsTheme" parent="@android:style/Theme.Material.Settings">
- <item name="android:actionBarStyle">@android:style/Widget.Material.Light.ActionBar.Solid</item>
- <item name="android:alertDialogTheme">@style/Theme.AlertDialog</item>
- </style>
- <!-- From packages/apps/Settings -->
- <style name="Theme.AlertDialog" parent="@*android:style/Theme.Material.Light.Dialog.Alert">
- <!-- Used by the ActionBar: @color/theme_primary -->
- <item name="android:colorPrimary">#ff263238</item>
- <!-- Used by the StatusBar: @color/theme_primary_dark -->
- <item name="android:colorPrimaryDark">#ff21272b</item>
- <!-- Used by controls, e.g. CheckBox, ProgressBar, etc.: @color/theme_accent -->
- <item name="android:colorAccent">#ff009688</item>
- </style>
- <style name="platformDialogTheme" parent="@android:style/Theme.Material.Light.Dialog" />
-</resources>
diff --git a/java/res/values-vi/strings-action-keys.xml b/java/res/values-vi/strings-action-keys.xml
index 16b7c95..3c40608 100644
--- a/java/res/values-vi/strings-action-keys.xml
+++ b/java/res/values-vi/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Trước"</string>
<string name="label_done_key" msgid="7564866296502630852">"Xong"</string>
<string name="label_send_key" msgid="482252074224462163">"Gửi"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Tìm kiếm"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Tdừng"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Đợi"</string>
</resources>
diff --git a/java/res/values-vi/strings-letter-descriptions.xml b/java/res/values-vi/strings-letter-descriptions.xml
new file mode 100644
index 0000000..74f199f
--- /dev/null
+++ b/java/res/values-vi/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Chỉ báo thứ tự giống cái"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Ký hiệu micrô"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Chỉ báo thứ tự giống đực"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Sharp S"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, dấu huyền"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, dấu sắc"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, dấu mũ"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, dấu ngã"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, dấu tách đôi"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, dấu nhẫn phía trên"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, dấu gạch nối"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, dấu móc dưới"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, dấu huyền"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, dấu sắc"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, dấu mũ"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, dấu tách đôi"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, dấu huyền"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, dấu sắc"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, dấu mũ"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, dấu tách đôi"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, dấu ngã"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, dấu huyền"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, dấu sắc"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, dấu mũ"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, dấu ngã"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, dấu tách đôi"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, nét gạch"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, dấu huyền"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, dấu sắc"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, dấu mũ"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, dấu tách đôi"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, dấu sắc"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Dấu móc"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, dấu tách đôi"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, sự làm dấu"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, dấu ngân"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, một cái đuôi nhỏ"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, dấu sắc"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, dấu mũ"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, dấu chấm phía trên"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, dấu mũ ngược"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, dấu mũ ngược"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, nét gạch"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, sự làm dấu"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, dấu ngân"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, dấu chấm phía trên"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, một cái đuôi nhỏ"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, dấu mũ ngược"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, dấu mũ"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, dấu ngân"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, dấu chấm phía trên"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, dấu móc dưới"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, dấu mũ"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, nét gạch"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, dấu ngã"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, sự làm dấu"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, dấu ngân"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, một cái đuôi nhỏ"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"I không dấu chấm"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, dấu gạch nối"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, dấu mũ"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, dấu móc dưới"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, dấu sắc"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, dấu móc dưới"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, dấu mũ ngược"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, chấm ở giữa"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, nét gạch"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, dấu sắc"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, dấu móc dưới"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, dấu mũ ngược"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, theo sau dấu móc lửng"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, sự làm dấu"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, dấu ngân"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, hai dấu sắc"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, dấu gạch nối"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, dấu sắc"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, dấu móc dưới"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, dấu mũ ngược"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, dấu sắc"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, dấu mũ"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, dấu móc dưới"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, dấu mũ ngược"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, dấu móc dưới"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, dấu mũ ngược"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, nét gạch"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, dấu ngã"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, sự làm dấu"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, dấu ngân"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, dấu nhẫn ở trên"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, hai dấu sắc"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, một cái đuôi nhỏ"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, dấu mũ"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, dấu mũ"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, dấu sắc"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, dấu chấm phía trên"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, dấu mũ ngược"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"S dài"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, dấu móc"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, dấu móc"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, dấu phẩy phía dưới"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, dấu phẩy phía dưới"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Âm Schwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, dấu móc phía trên"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, dấu mũ và dấu sắc"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, dấu mũ và dấu huyền"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, dấu mũ và móc phía trên"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, dấu mũ và dấu ngã"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, dấu mũ và dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, dấu ngân và dấu sắc"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, dấu ngân và dấu huyền"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, dấu ngân và móc phía trên"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, dấu ngân và dấu ngã"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, dấu ngân và dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, móc phía trên"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, dấu ngã"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, dấu mũ và dấu sắc"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, dấu mũ và dấu huyền"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, dấu mũ và móc phía trên"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, dấu mũ và dấu ngã"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, dấu mũ và dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, móc phía trên"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, móc phía trên"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, dấu mũ và dấu sắc"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, dấu mũ và dấu huyền"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, dấu mũ và móc phía trên"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, dấu mũ và dấu ngã"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, dấu mũ và dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, dấu móc và dấu sắc"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, dấu móc và dấu huyền"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, dấu móc và móc phía trên"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, dấu móc và dấu ngã"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, dấu móc và dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, móc phía trên"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, dấu móc và dấu sắc"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, dấu móc và dấu huyền"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, dấu móc và móc phía trên"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, dấu móc và dấu ngã"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, dấu móc và dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, dấu huyền"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, dấu chấm phía dưới"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, móc phía trên"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, dấu ngã"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Dấu cảm thán đảo ngược"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Dấu ngoặc kép mở"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Dấu chấm ở giữa"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Chỉ số trên một"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Dấu ngoặc kép đóng"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Dấu hỏi đảo ngược"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Dấu ngoặc đơn mở"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Dấu ngoặc đơn đóng"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Dấu trích dẫn đơn"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Dấu ngoặc kép mở"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Dấu ngoặc kép đóng"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Dấu chữ thập"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Dấu chữ thập kép"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Dấu cho mỗi ngàn"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Dấu phẩy"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Hai phẩy"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Dấu ngoặc đơn mở"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Dấu ngoặc đơn đóng"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Chỉ số trên bốn"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"Chỉ số trên của n thường"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Ký hiệu đồng Pêsô"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Dấu phần trăm"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Mũi tên về phía phải"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Mũi tên xuống dưới"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Tập rỗng"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Tăng dần"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Nhỏ hơn hoặc bằng"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Lớn hơn hoặc bằng"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Sao đen"</string>
+</resources>
diff --git a/java/res/values-vi/strings-talkback-descriptions.xml b/java/res/values-vi/strings-talkback-descriptions.xml
index ad63fa5..659b1d3 100644
--- a/java/res/values-vi/strings-talkback-descriptions.xml
+++ b/java/res/values-vi/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Ký tự không xác định"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Địa điểm"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Biểu tượng"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Biểu tượng cảm xúc"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"<xliff:g id="LOWER_LETTER">%s</xliff:g> hoa"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"I hoa"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"I hoa, dấu chấm phía trên"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Ký hiệu không xác định"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Biểu tượng cảm xúc không xác định"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Có ký tự thay thế"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Ký tự thay thế đã bị loại bỏ"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Có đề xuất thay thế"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Đề xuất thay thế đã bị loại bỏ"</string>
</resources>
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
index 100175f..d95ff61 100644
--- a/java/res/values-vi/strings.xml
+++ b/java/res/values-vi/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Đề xuất tên liên hệ"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Sử dụng tên từ Danh bạ cho các đề xuất và chỉnh sửa"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Đề xuất được cá nhân hóa"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Cải thiện <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Dấu cách đôi"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Nhấn đúp vào phím cách sẽ chèn thêm một dấu sau dấu cách"</string>
<string name="auto_cap" msgid="1719746674854628252">"Tự động viết hoa"</string>
diff --git a/java/res/values-zu/strings-action-keys.xml b/java/res/values-zu/strings-action-keys.xml
index 5d60a6c..fe36678 100644
--- a/java/res/values-zu/strings-action-keys.xml
+++ b/java/res/values-zu/strings-action-keys.xml
@@ -25,8 +25,7 @@
<string name="label_previous_key" msgid="1421141755779895275">"Okwedlule"</string>
<string name="label_done_key" msgid="7564866296502630852">"Kwenziwe"</string>
<string name="label_send_key" msgid="482252074224462163">"Thumela"</string>
- <!-- no translation found for label_search_key (7965186050435796642) -->
- <skip />
+ <string name="label_search_key" msgid="7965186050435796642">"Sesha"</string>
<string name="label_pause_key" msgid="2225922926459730642">"Misa isikhashana"</string>
<string name="label_wait_key" msgid="5891247853595466039">"Linda"</string>
</resources>
diff --git a/java/res/values-zu/strings-letter-descriptions.xml b/java/res/values-zu/strings-letter-descriptions.xml
new file mode 100644
index 0000000..54eb6e5
--- /dev/null
+++ b/java/res/values-zu/strings-letter-descriptions.xml
@@ -0,0 +1,208 @@
+<?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.
+*/
+ -->
+
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Isikhombi sobesifazane"</string>
+ <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Uphawu olukhulu"</string>
+ <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Isikhombi sowesilisa"</string>
+ <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Sharp S"</string>
+ <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, grave"</string>
+ <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, acute"</string>
+ <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, circumflex"</string>
+ <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, tilde"</string>
+ <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, diaeresis"</string>
+ <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, ring ngenhla"</string>
+ <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, ligature"</string>
+ <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, cedilla"</string>
+ <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, grave"</string>
+ <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, acute"</string>
+ <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, circumflex"</string>
+ <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, diaeresis"</string>
+ <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, grave"</string>
+ <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, acute"</string>
+ <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, circumflex"</string>
+ <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, diaeresis"</string>
+ <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string>
+ <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, tilde"</string>
+ <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, grave"</string>
+ <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, acute"</string>
+ <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, circumflex"</string>
+ <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, tilde"</string>
+ <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, diaeresis"</string>
+ <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, stroke"</string>
+ <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, grave"</string>
+ <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, acute"</string>
+ <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, circumflex"</string>
+ <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, diaeresis"</string>
+ <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, acute"</string>
+ <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string>
+ <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, diaeresis"</string>
+ <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, macron"</string>
+ <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, breve"</string>
+ <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, ogonek"</string>
+ <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, acute"</string>
+ <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, circumflex"</string>
+ <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, icashazi ngenhla"</string>
+ <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, caron"</string>
+ <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, caron"</string>
+ <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, stroke"</string>
+ <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, macron"</string>
+ <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, breve"</string>
+ <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, icashazi ngenhla"</string>
+ <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, ogonek"</string>
+ <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, caron"</string>
+ <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, circumflex"</string>
+ <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, breve"</string>
+ <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, icashazi ngenhla"</string>
+ <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, cedilla"</string>
+ <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, circumflex"</string>
+ <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, stroke"</string>
+ <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, tilde"</string>
+ <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, macron"</string>
+ <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, breve"</string>
+ <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, ogonek"</string>
+ <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"Dotless I"</string>
+ <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, ligature"</string>
+ <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, circumflex"</string>
+ <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, cedilla"</string>
+ <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string>
+ <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, acute"</string>
+ <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, cedilla"</string>
+ <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, caron"</string>
+ <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, icashazi eliphakathi"</string>
+ <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, stroke"</string>
+ <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, acute"</string>
+ <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, cedilla"</string>
+ <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, caron"</string>
+ <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, kulandele i-apostrophe"</string>
+ <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string>
+ <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, macron"</string>
+ <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, breve"</string>
+ <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, double acute"</string>
+ <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, ligature"</string>
+ <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, acute"</string>
+ <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, cedilla"</string>
+ <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, caron"</string>
+ <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, acute"</string>
+ <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, circumflex"</string>
+ <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, cedilla"</string>
+ <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, caron"</string>
+ <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, cedilla"</string>
+ <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, caron"</string>
+ <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, stroke"</string>
+ <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, tilde"</string>
+ <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, macron"</string>
+ <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, breve"</string>
+ <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, indingilizi ngenhla"</string>
+ <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, double acute"</string>
+ <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, ogonek"</string>
+ <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, circumflex"</string>
+ <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, circumflex"</string>
+ <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, acute"</string>
+ <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, icashazi ngenhla"</string>
+ <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, caron"</string>
+ <string name="spoken_accented_letter_017F" msgid="317501463253362415">"Long S"</string>
+ <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, horn"</string>
+ <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, horn"</string>
+ <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, ukhefana ngezansi"</string>
+ <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, ukhefana ngezansi"</string>
+ <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa"</string>
+ <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, icashazi ngenhla"</string>
+ <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, ihhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, circumflex ne-acute"</string>
+ <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, circumflex ne-grave"</string>
+ <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, circumflex nehhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, circumflex ne-tilde"</string>
+ <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, circumflex necashazi ngenhla"</string>
+ <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, breve ne-acute"</string>
+ <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, breve ne-grave"</string>
+ <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, breve nehhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, breve ne-tilde"</string>
+ <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, breve necashazi ngezansi"</string>
+ <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, icashazi ngezansi"</string>
+ <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, ihhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, tilde"</string>
+ <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, circumflex ne-acute"</string>
+ <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, circumflex ne-grave"</string>
+ <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, circumflex nehhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, circumflex ne-tilde"</string>
+ <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, circumflex necashazi ngezansi"</string>
+ <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, ihhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, icashazi ngezansi"</string>
+ <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, icashazi ngezansi"</string>
+ <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, ihhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, circumflex ne-acute"</string>
+ <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, circumflex ne-grave"</string>
+ <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, circumflex nehhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, circumflex ne-tilde"</string>
+ <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, circumflex necashazi ngezansi"</string>
+ <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, horn ne-acute"</string>
+ <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, horn ne-grave"</string>
+ <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, horn nehhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, horn ne-tilde"</string>
+ <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, horn necashazi ngezansi"</string>
+ <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, icashazi ngezansi"</string>
+ <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, uhhuku ngehla"</string>
+ <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, horn ne-acute"</string>
+ <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, horn ne-grave"</string>
+ <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, horn nehhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, horn ne-tilde"</string>
+ <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, horn necashazi ngezansi"</string>
+ <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, grave"</string>
+ <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, icashazi ngezansi"</string>
+ <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, ihhuku ngenhla"</string>
+ <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, tilde"</string>
+ <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Umbabazi okokushiwo"</string>
+ <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Umaki wokukopisha onama-engeli amabili okhombe ngakwesokunxele"</string>
+ <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Icashazi eliphakathi"</string>
+ <string name="spoken_symbol_00B9" msgid="8026257165451461231">"I-Superscript one"</string>
+ <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Umaki wokukopisha onama-engeli amabili okhombe ngakwesokudla"</string>
+ <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Umbuzi okokushiwo"</string>
+ <string name="spoken_symbol_2018" msgid="4886476295598930225">"Umaki wokukopisha oyedwa ongakwesokunxele"</string>
+ <string name="spoken_symbol_2019" msgid="8892530161598134083">"Umaki wokukopisha oyedwa ongakwesokudla"</string>
+ <string name="spoken_symbol_201A" msgid="2072987157683446644">"Umaki wokukopisha owodwa ophansi 9"</string>
+ <string name="spoken_symbol_201C" msgid="4588048378803665427">"Umaki wokukopisha ongakubili ongakwekunxele"</string>
+ <string name="spoken_symbol_201D" msgid="1642776849495925895">"Umaki wokukopisha ongakubili ongakwekudla"</string>
+ <string name="spoken_symbol_2020" msgid="9084628638189344431">"Dagger"</string>
+ <string name="spoken_symbol_2021" msgid="5081396468559426475">"Double dagger"</string>
+ <string name="spoken_symbol_2030" msgid="9068837172419431755">"Per mille sign"</string>
+ <string name="spoken_symbol_2032" msgid="3014506329156664396">"Prime"</string>
+ <string name="spoken_symbol_2033" msgid="1251022699713475088">"Double prime"</string>
+ <string name="spoken_symbol_2039" msgid="6989616457213775957">"Umaki wokukopisha oyedwa ngokhombe ngakwesokunxele"</string>
+ <string name="spoken_symbol_203A" msgid="31245095449823701">"Umaki wokukopisha oyedwa ngokhombe ngakwesokudla"</string>
+ <string name="spoken_symbol_2074" msgid="2116717717093306894">"Superscript four"</string>
+ <string name="spoken_symbol_207F" msgid="1706731172134246659">"I-Superscript latin uhlambu oluncane u-n"</string>
+ <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Uphawu lwe-Peso"</string>
+ <string name="spoken_symbol_2105" msgid="7289404939366976829">"Ukunakekela ko"</string>
+ <string name="spoken_symbol_2192" msgid="827804523596125414">"Umcibisholo wangakwesokudla"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Umcibisholo oyaphansi"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"Isethi engenalutho"</string>
+ <string name="spoken_symbol_2206" msgid="4856786565708380687">"Nciphisa"</string>
+ <string name="spoken_symbol_2264" msgid="5092061257745123554">"Okuncane noma okulinganayo"</string>
+ <string name="spoken_symbol_2265" msgid="1907966479878036357">"Okukhulu noma okulinganayo"</string>
+ <string name="spoken_symbol_2605" msgid="5202920479405857753">"Inkanyezi emnyama"</string>
+</resources>
diff --git a/java/res/values-zu/strings-talkback-descriptions.xml b/java/res/values-zu/strings-talkback-descriptions.xml
index 9f344d8..6d3de70 100644
--- a/java/res/values-zu/strings-talkback-descriptions.xml
+++ b/java/res/values-zu/strings-talkback-descriptions.xml
@@ -25,8 +25,7 @@
<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>
- <!-- no translation found for spoken_description_unknown (5139930082759824442) -->
- <skip />
+ <string name="spoken_description_unknown" msgid="5139930082759824442">"Uhlamvu olungaziwa"</string>
<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>
@@ -72,22 +71,13 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Izindawo"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Amasimbuli"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Izithombe-mzwelo"</string>
- <!-- no translation found for spoken_description_upper_case (4904835255229433916) -->
- <skip />
- <!-- no translation found for spoken_letter_0049 (4743162182646977944) -->
- <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 />
- <!-- no translation found for spoken_open_more_keys_keyboard (6832897688371903747) -->
- <skip />
- <!-- no translation found for spoken_close_more_keys_keyboard (3524914657934712026) -->
- <skip />
- <!-- no translation found for spoken_open_more_suggestions (4231720702882969760) -->
- <skip />
- <!-- no translation found for spoken_close_more_suggestions (9118455416075032839) -->
- <skip />
+ <string name="spoken_description_upper_case" msgid="4904835255229433916">"Ufeleba <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
+ <string name="spoken_letter_0049" msgid="4743162182646977944">"Ufeleba I"</string>
+ <string name="spoken_letter_0130" msgid="4766619646231612274">"Ufeleba I, icashazi ngenhla"</string>
+ <string name="spoken_symbol_unknown" msgid="717298227061173706">"Uphawu olungaziwa"</string>
+ <string name="spoken_emoji_unknown" msgid="5981009928135394306">"I-emoji engaziwa"</string>
+ <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Ezinye izinhlamvu ziyatholakala"</string>
+ <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Ezinye izinhlamvu ziyalahlwa"</string>
+ <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Ezinye iziphakamiso ziyatholakala"</string>
+ <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Ezinye iziphakamiso ziyalahlwa"</string>
</resources>
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
index 8e3942f..c72352d 100644
--- a/java/res/values-zu/strings.xml
+++ b/java/res/values-zu/strings.xml
@@ -46,8 +46,7 @@
<string name="use_contacts_dict" msgid="4435317977804180815">"Sikisela amagama Othintana nabo"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Amagama abasebenzisi kusuka Kothintana nabo bokusikisela nokulungisa"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Iziphakamiso ezenziwe okomuntu siqu"</string>
- <!-- no translation found for enable_metrics_logging (5506372337118822837) -->
- <skip />
+ <string name="enable_metrics_logging" msgid="5506372337118822837">"Thuthukisa i-<xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Isikhathi se-Double-space"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Ukuthepha kabili kubha yesikhala kufaka isikhathi esilandelwa yisikhala"</string>
<string name="auto_cap" msgid="1719746674854628252">"Ukwenza ofeleba okuzenzakalelayo"</string>
diff --git a/java/res/values/platform-theme.xml b/java/res/values/platform-theme.xml
index e688597..8e131a2 100644
--- a/java/res/values/platform-theme.xml
+++ b/java/res/values/platform-theme.xml
@@ -20,6 +20,5 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="platformActivityTheme" parent="@android:style/Theme.Holo" />
- <style name="platformSettingsTheme" parent="@android:style/Theme.Holo" />
<style name="platformDialogTheme" parent="@android:style/Theme.Holo.Dialog" />
</resources>
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index cb951d2..e71d951 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -21,77 +21,61 @@
<PreferenceScreen
android:title="@string/settings_screen_input"
android:key="screen_input">
- <SwitchPreference
+ <CheckBoxPreference
android:key="auto_cap"
android:title="@string/auto_cap"
android:summary="@string/auto_cap_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
- <SwitchPreference
+ android:defaultValue="true"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="pref_key_use_double_space_period"
android:title="@string/use_double_space_period"
android:summary="@string/use_double_space_period_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
- <SwitchPreference
+ android:defaultValue="true"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="vibrate_on"
android:title="@string/vibrate_on_keypress"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="@bool/config_default_vibration_enabled" />
- <SwitchPreference
+ android:defaultValue="@bool/config_default_vibration_enabled"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="sound_on"
android:title="@string/sound_on_keypress"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="@bool/config_default_sound_enabled" />
- <SwitchPreference
+ android:defaultValue="@bool/config_default_sound_enabled"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="popup_on"
android:title="@string/popup_on_keypress"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="@bool/config_default_key_preview_popup" />
- <SwitchPreference
+ android:defaultValue="@bool/config_default_key_preview_popup"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="pref_voice_input_key"
android:title="@string/voice_input"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
+ android:defaultValue="true"
+ android:persistent="true" />
</PreferenceScreen>
<ListPreference
android:key="pref_keyboard_theme"
android:title="@string/keyboard_theme"
- android:persistent="true"
android:entryValues="@array/keyboard_theme_ids"
- android:entries="@array/keyboard_theme_names" />
+ android:entries="@array/keyboard_theme_names"
+ android:persistent="true" />
<PreferenceScreen
android:title="@string/settings_screen_multi_lingual"
android:key="screen_multi_lingual">
- <SwitchPreference
+ <CheckBoxPreference
android:key="pref_show_language_switch_key"
android:title="@string/show_language_switch_key"
android:summary="@string/show_language_switch_key_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
- <SwitchPreference
+ android:defaultValue="true"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="pref_include_other_imes_in_language_switch_list"
android:dependency="pref_show_language_switch_key"
android:title="@string/include_other_imes_in_language_switch_list"
android:summary="@string/include_other_imes_in_language_switch_list_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="false" />
+ android:defaultValue="false"
+ android:persistent="true" />
<PreferenceScreen
android:fragment="com.android.inputmethod.latin.settings.AdditionalSubtypeSettings"
android:key="custom_input_styles"
@@ -100,31 +84,25 @@
<PreferenceScreen
android:title="@string/settings_screen_gesture"
android:key="screen_gesture">
- <SwitchPreference
+ <CheckBoxPreference
android:key="gesture_input"
android:title="@string/gesture_input"
android:summary="@string/gesture_input_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
- <SwitchPreference
+ android:defaultValue="true"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="pref_gesture_floating_preview_text"
android:dependency="gesture_input"
android:title="@string/gesture_floating_preview_text"
android:summary="@string/gesture_floating_preview_text_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
- <SwitchPreference
+ android:defaultValue="true"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="pref_gesture_preview_trail"
android:dependency="gesture_input"
android:title="@string/gesture_preview_trail"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
+ android:defaultValue="true"
+ android:persistent="true" />
</PreferenceScreen>
<PreferenceScreen
android:title="@string/settings_screen_correction"
@@ -145,55 +123,47 @@
android:value="@string/dictionary_pack_client_id" />
</intent>
</PreferenceScreen>
- <SwitchPreference
+ <CheckBoxPreference
android:key="pref_key_block_potentially_offensive"
android:title="@string/prefs_block_potentially_offensive_title"
android:summary="@string/prefs_block_potentially_offensive_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="@bool/config_block_potentially_offensive" />
+ android:defaultValue="@bool/config_block_potentially_offensive"
+ android:persistent="true" />
<ListPreference
android:key="auto_correction_threshold"
android:title="@string/auto_correction"
android:summary="@string/auto_correction_summary"
- android:persistent="true"
android:entryValues="@array/auto_correction_threshold_mode_indexes"
android:entries="@array/auto_correction_threshold_modes"
- android:defaultValue="@string/auto_correction_threshold_mode_index_modest" />
+ android:defaultValue="@string/auto_correction_threshold_mode_index_modest"
+ android:persistent="true" />
<ListPreference
android:key="show_suggestions_setting"
android:summary="@string/prefs_show_suggestions_summary"
android:title="@string/prefs_show_suggestions"
- android:persistent="true"
android:entryValues="@array/prefs_suggestion_visibility_values"
android:entries="@array/prefs_suggestion_visibilities"
- android:defaultValue="@string/prefs_suggestion_visibility_default_value" />
- <SwitchPreference
+ android:defaultValue="@string/prefs_suggestion_visibility_default_value"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="pref_key_use_personalized_dicts"
android:title="@string/use_personalized_dicts"
android:summary="@string/use_personalized_dicts_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
- <SwitchPreference
+ android:defaultValue="true"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="pref_key_use_contacts_dict"
android:title="@string/use_contacts_dict"
android:summary="@string/use_contacts_dict_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
- <SwitchPreference
+ android:defaultValue="true"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="next_word_prediction"
android:title="@string/bigram_prediction"
android:summary="@string/bigram_prediction_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
- </PreferenceScreen>
+ android:defaultValue="true"
+ android:persistent="true" />
+ </PreferenceScreen>
<PreferenceScreen
android:title="@string/settings_screen_advanced"
android:key="screen_advanced">
@@ -211,24 +181,20 @@
latin:maxValue="100" /> <!-- percent -->
<!-- The settigs for showing setup wizard application icon shouldn't be persistent and
the default value is added programmatically. -->
- <SwitchPreference
+ <CheckBoxPreference
android:key="pref_show_setup_wizard_icon"
android:title="@string/show_setup_wizard_icon"
- android:summary="@string/show_setup_wizard_icon_summary"
- android:switchTextOn=""
- android:switchTextOff="" />
+ android:summary="@string/show_setup_wizard_icon_summary" />
<!-- title will be set programmatically to embed application name -->
- <SwitchPreference
+ <CheckBoxPreference
android:key="pref_enable_metrics_logging"
android:summary="@string/enable_metrics_logging_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
+ android:defaultValue="true"
+ android:persistent="true" />
<PreferenceScreen
android:key="screen_debug"
android:title="Debug settings"
- android:persistent="true"
- android:defaultValue="false" />
- </PreferenceScreen>
+ android:defaultValue="false"
+ android:persistent="true" />
+ </PreferenceScreen>
</PreferenceScreen>
diff --git a/java/res/xml/prefs_for_debug.xml b/java/res/xml/prefs_for_debug.xml
index be4c8b3..ae29a8a 100644
--- a/java/res/xml/prefs_for_debug.xml
+++ b/java/res/xml/prefs_for_debug.xml
@@ -20,28 +20,22 @@
android:title="@string/prefs_debug_mode"
android:key="english_ime_debug_settings"
>
- <SwitchPreference
+ <CheckBoxPreference
android:key="debug_mode"
android:title="@string/prefs_debug_mode"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="false" />
- <SwitchPreference
+ android:defaultValue="false"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="force_non_distinct_multitouch"
android:title="@string/prefs_force_non_distinct_multitouch"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="false" />
- <SwitchPreference
+ android:defaultValue="false"
+ android:persistent="true" />
+ <CheckBoxPreference
android:key="pref_sliding_key_input_preview"
android:title="@string/sliding_key_input_preview"
android:summary="@string/sliding_key_input_preview_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
+ android:defaultValue="true"
+ android:persistent="true" />
<com.android.inputmethod.latin.settings.SeekBarDialogPreference
android:key="pref_key_longpress_timeout"
android:title="@string/prefs_key_longpress_timeout_settings"
diff --git a/java/res/xml/spell_checker_settings.xml b/java/res/xml/spell_checker_settings.xml
index e3db485..3d95018 100644
--- a/java/res/xml/spell_checker_settings.xml
+++ b/java/res/xml/spell_checker_settings.xml
@@ -17,12 +17,10 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
>
- <SwitchPreference
+ <CheckBoxPreference
android:key="pref_spellcheck_use_contacts"
android:title="@string/use_contacts_for_spellchecking_option_title"
android:summary="@string/use_contacts_for_spellchecking_option_summary"
- android:switchTextOn=""
- android:switchTextOff=""
- android:persistent="true"
- android:defaultValue="true" />
+ android:defaultValue="true"
+ android:persistent="true" />
</PreferenceScreen>
diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
index 8182593..702efb3 100644
--- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
@@ -451,7 +451,7 @@
locatePreviewPlacerView();
getLocationInWindow(mOriginCoords);
- mKeyPreviewChoreographer.placeKeyPreviewAndShow(key, keyboard.mIconsSet, mKeyDrawParams,
+ mKeyPreviewChoreographer.placeAndShowKeyPreview(key, keyboard.mIconsSet, mKeyDrawParams,
getWidth(), mOriginCoords, mDrawingPreviewPlacerView, isHardwareAccelerated());
}
@@ -554,11 +554,11 @@
// though there may be some chances that the value is zero. <code>width == 0</code>
// will cause zero-division error at
// {@link MoreKeysKeyboardParams#setParameters(int,int,int,int,int,int,boolean,int)}.
- final boolean singleMoreKeyWithPreview = mKeyPreviewDrawParams.isPopupEnabled()
+ final boolean isSingleMoreKeyWithPreview = mKeyPreviewDrawParams.isPopupEnabled()
&& !key.noKeyPreview() && moreKeys.length == 1
&& mKeyPreviewDrawParams.getVisibleWidth() > 0;
final MoreKeysKeyboard.Builder builder = new MoreKeysKeyboard.Builder(
- context, key, getKeyboard(), singleMoreKeyWithPreview,
+ context, key, getKeyboard(), isSingleMoreKeyWithPreview,
mKeyPreviewDrawParams.getVisibleWidth(),
mKeyPreviewDrawParams.getVisibleHeight(), newLabelPaint(key));
moreKeysKeyboard = builder.build();
diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
index 353e07c..e0184d7 100644
--- a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
@@ -261,13 +261,13 @@
* @param context the context of {@link MoreKeysKeyboardView}.
* @param key the {@link Key} that invokes more keys keyboard.
* @param keyboard the {@link Keyboard} that contains the parentKey.
- * @param singleMoreKeyWithPreview true if the <code>key</code> has only one more key
- * and key popup preview is enabled.
+ * @param isSingleMoreKeyWithPreview true if the <code>key</code> has just a single
+ * "more key" and its key popup preview is enabled.
* @param keyPreviewDrawParams the parameter to place key preview.
- * @param paintToMeasure the {@link Paint} object to measure a more key width
+ * @param paintToMeasure the {@link Paint} object to measure a "more key" width
*/
public Builder(final Context context, final Key key, final Keyboard keyboard,
- final boolean singleMoreKeyWithPreview, final int keyPreviewVisibleWidth,
+ final boolean isSingleMoreKeyWithPreview, final int keyPreviewVisibleWidth,
final int keyPreviewVisibleHeight, final Paint paintToMeasure) {
super(context, new MoreKeysKeyboardParams());
load(keyboard.mMoreKeysTemplate, keyboard.mId);
@@ -275,10 +275,11 @@
// TODO: More keys keyboard's vertical gap is currently calculated heuristically.
// Should revise the algorithm.
mParams.mVerticalGap = keyboard.mVerticalGap / 2;
+ // This {@link MoreKeysKeyboard} is invoked from the <code>key</code>.
mParentKey = key;
final int keyWidth, rowHeight;
- if (singleMoreKeyWithPreview) {
+ if (isSingleMoreKeyWithPreview) {
// Use pre-computed width and height if this more keys keyboard has only one key to
// mitigate visual flicker between key preview and more keys keyboard.
// Caveats for the visual assets: To achieve this effect, both the key preview
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java b/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java
index 6fc300b..cd29c8d 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java
@@ -105,7 +105,7 @@
mFreeKeyPreviewViews.add(keyPreviewView);
}
- public void placeKeyPreviewAndShow(final Key key, final KeyboardIconsSet iconsSet,
+ public void placeAndShowKeyPreview(final Key key, final KeyboardIconsSet iconsSet,
final KeyDrawParams drawParams, final int keyboardViewWidth, final int[] keyboardOrigin,
final ViewGroup placerView, final boolean withAnimation) {
final KeyPreviewView keyPreviewView = getKeyPreviewView(key, placerView);
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
index 0c196f2..95e1340 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
@@ -64,11 +64,12 @@
public static final int NOT_A_VALID_TIMESTAMP = -1;
// Format to get unigram flags from native side via getWordPropertyNative().
- private static final int FORMAT_WORD_PROPERTY_OUTPUT_FLAG_COUNT = 4;
+ private static final int FORMAT_WORD_PROPERTY_OUTPUT_FLAG_COUNT = 5;
private static final int FORMAT_WORD_PROPERTY_IS_NOT_A_WORD_INDEX = 0;
private static final int FORMAT_WORD_PROPERTY_IS_BLACKLISTED_INDEX = 1;
private static final int FORMAT_WORD_PROPERTY_HAS_BIGRAMS_INDEX = 2;
private static final int FORMAT_WORD_PROPERTY_HAS_SHORTCUTS_INDEX = 3;
+ private static final int FORMAT_WORD_PROPERTY_IS_BEGINNING_OF_SENTENCE_INDEX = 4;
// Format to get probability and historical info from native side via getWordPropertyNative().
public static final int FORMAT_WORD_PROPERTY_OUTPUT_PROBABILITY_INFO_COUNT = 4;
@@ -176,10 +177,12 @@
private static native int getNgramProbabilityNative(long dict, int[] word0,
boolean isBeginningOfSentence, int[] word1);
private static native void getWordPropertyNative(long dict, int[] word,
- int[] outCodePoints, boolean[] outFlags, int[] outProbabilityInfo,
- ArrayList<int[]> outBigramTargets, ArrayList<int[]> outBigramProbabilityInfo,
- ArrayList<int[]> outShortcutTargets, ArrayList<Integer> outShortcutProbabilities);
- private static native int getNextWordNative(long dict, int token, int[] outCodePoints);
+ boolean isBeginningOfSentence, int[] outCodePoints, boolean[] outFlags,
+ int[] outProbabilityInfo, ArrayList<int[]> outBigramTargets,
+ ArrayList<int[]> outBigramProbabilityInfo, ArrayList<int[]> outShortcutTargets,
+ ArrayList<Integer> outShortcutProbabilities);
+ private static native int getNextWordNative(long dict, int token, int[] outCodePoints,
+ boolean[] outIsBeginningOfSentence);
private static native void getSuggestionsNative(long dict, long proximityInfo,
long traverseSession, int[] xCoordinates, int[] yCoordinates, int[] times,
int[] pointerIds, int[] inputCodePoints, int inputSize, int[] suggestOptions,
@@ -360,8 +363,8 @@
isBeginningOfSentenceArray[0], wordCodePoints);
}
- public WordProperty getWordProperty(final String word) {
- if (TextUtils.isEmpty(word)) {
+ public WordProperty getWordProperty(final String word, final boolean isBeginningOfSentence) {
+ if (word == null) {
return null;
}
final int[] codePoints = StringUtils.toCodePointArray(word);
@@ -373,14 +376,15 @@
final ArrayList<int[]> outBigramProbabilityInfo = new ArrayList<>();
final ArrayList<int[]> outShortcutTargets = new ArrayList<>();
final ArrayList<Integer> outShortcutProbabilities = new ArrayList<>();
- getWordPropertyNative(mNativeDict, codePoints, outCodePoints, outFlags, outProbabilityInfo,
- outBigramTargets, outBigramProbabilityInfo, outShortcutTargets,
- outShortcutProbabilities);
+ getWordPropertyNative(mNativeDict, codePoints, isBeginningOfSentence, outCodePoints,
+ outFlags, outProbabilityInfo, outBigramTargets, outBigramProbabilityInfo,
+ outShortcutTargets, outShortcutProbabilities);
return new WordProperty(codePoints,
outFlags[FORMAT_WORD_PROPERTY_IS_NOT_A_WORD_INDEX],
outFlags[FORMAT_WORD_PROPERTY_IS_BLACKLISTED_INDEX],
outFlags[FORMAT_WORD_PROPERTY_HAS_BIGRAMS_INDEX],
- outFlags[FORMAT_WORD_PROPERTY_HAS_SHORTCUTS_INDEX], outProbabilityInfo,
+ outFlags[FORMAT_WORD_PROPERTY_HAS_SHORTCUTS_INDEX],
+ outFlags[FORMAT_WORD_PROPERTY_IS_BEGINNING_OF_SENTENCE_INDEX], outProbabilityInfo,
outBigramTargets, outBigramProbabilityInfo, outShortcutTargets,
outShortcutProbabilities);
}
@@ -401,9 +405,12 @@
*/
public GetNextWordPropertyResult getNextWordProperty(final int token) {
final int[] codePoints = new int[Constants.DICTIONARY_MAX_WORD_LENGTH];
- final int nextToken = getNextWordNative(mNativeDict, token, codePoints);
+ final boolean[] isBeginningOfSentence = new boolean[1];
+ final int nextToken = getNextWordNative(mNativeDict, token, codePoints,
+ isBeginningOfSentence);
final String word = StringUtils.getStringFromNullTerminatedCodePointArray(codePoints);
- return new GetNextWordPropertyResult(getWordProperty(word), nextToken);
+ return new GetNextWordPropertyResult(
+ getWordProperty(word, isBeginningOfSentence[0]), nextToken);
}
// Add a unigram entry to binary dictionary with unigram attributes in native code.
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
index 2f1aca6..b8feb22 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
@@ -487,7 +487,7 @@
public SuggestionResults getSuggestionResults(final WordComposer composer,
final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
- final int sessionId, final ArrayList<SuggestedWordInfo> rawSuggestions) {
+ final int sessionId) {
final Dictionaries dictionaries = mDictionaries;
final SuggestionResults suggestionResults =
new SuggestionResults(dictionaries.mLocale, SuggestedWords.MAX_SUGGESTIONS);
@@ -501,21 +501,13 @@
languageWeight);
if (null == dictionarySuggestions) continue;
suggestionResults.addAll(dictionarySuggestions);
- if (null != rawSuggestions) {
- rawSuggestions.addAll(dictionarySuggestions);
+ if (null != suggestionResults.mRawSuggestions) {
+ suggestionResults.mRawSuggestions.addAll(dictionarySuggestions);
}
}
return suggestionResults;
}
- public boolean isValidMainDictWord(final String word) {
- final Dictionary mainDict = mDictionaries.getDict(Dictionary.TYPE_MAIN);
- if (TextUtils.isEmpty(word) || mainDict == null) {
- return false;
- }
- return mainDict.isValidWord(word);
- }
-
public boolean isValidWord(final String word, final boolean ignoreCase) {
if (TextUtils.isEmpty(word)) {
return false;
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index 1884e41..37879cf 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -122,12 +122,6 @@
return mBinaryDictionary.isValidDictionary();
}
- // TODO: Remove and always enable beginning of sentence prediction. Currently, this is enabled
- // only for ContextualDictionary.
- protected boolean enableBeginningOfSentencePrediction() {
- return false;
- }
-
/**
* Creates a new expandable binary dictionary.
*
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 670d856..9d03e8a 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -100,30 +100,43 @@
? typedWord.substring(0, typedWord.length() - trailingSingleQuotesCount)
: typedWord;
- final ArrayList<SuggestedWordInfo> rawSuggestions;
- if (ProductionFlag.INCLUDE_RAW_SUGGESTIONS) {
- rawSuggestions = new ArrayList<>();
- } else {
- rawSuggestions = null;
- }
final SuggestionResults suggestionResults = mDictionaryFacilitator.getSuggestionResults(
wordComposer, prevWordsInfo, proximityInfo, blockOffensiveWords,
- additionalFeaturesOptions, SESSION_TYPING, rawSuggestions);
+ additionalFeaturesOptions, SESSION_TYPING);
+ final boolean isPrediction = !wordComposer.isComposingWord();
+ final boolean shouldMakeSuggestionsAllUpperCase = wordComposer.isAllUpperCase()
+ && !wordComposer.isResumed();
final boolean isOnlyFirstCharCapitalized =
wordComposer.isOrWillBeOnlyFirstCharCapitalized();
+
+ final ArrayList<SuggestedWordInfo> suggestionsContainer =
+ new ArrayList<>(suggestionResults);
+ final int suggestionsCount = suggestionsContainer.size();
+ if (isOnlyFirstCharCapitalized || shouldMakeSuggestionsAllUpperCase
+ || 0 != trailingSingleQuotesCount) {
+ for (int i = 0; i < suggestionsCount; ++i) {
+ final SuggestedWordInfo wordInfo = suggestionsContainer.get(i);
+ final SuggestedWordInfo transformedWordInfo = getTransformedSuggestedWordInfo(
+ wordInfo, suggestionResults.mLocale, shouldMakeSuggestionsAllUpperCase,
+ isOnlyFirstCharCapitalized, trailingSingleQuotesCount);
+ suggestionsContainer.set(i, transformedWordInfo);
+ }
+ }
+ SuggestedWordInfo.removeDups(typedWord, suggestionsContainer);
+
// If resumed, then we don't want to upcase everything: resuming on a fully-capitalized
// words is rarely done to switch to another fully-capitalized word, but usually to a
// normal, non-capitalized suggestion.
- final boolean isAllUpperCase = wordComposer.isAllUpperCase() && !wordComposer.isResumed();
final String firstSuggestion;
final String whitelistedWord;
if (suggestionResults.isEmpty()) {
whitelistedWord = firstSuggestion = null;
} else {
final SuggestedWordInfo firstSuggestedWordInfo = getTransformedSuggestedWordInfo(
- suggestionResults.first(), suggestionResults.mLocale, isAllUpperCase,
- isOnlyFirstCharCapitalized, trailingSingleQuotesCount);
+ suggestionResults.first(), suggestionResults.mLocale,
+ shouldMakeSuggestionsAllUpperCase, isOnlyFirstCharCapitalized,
+ trailingSingleQuotesCount);
firstSuggestion = firstSuggestedWordInfo.mWord;
if (!firstSuggestedWordInfo.isKindOf(SuggestedWordInfo.KIND_WHITELIST)) {
whitelistedWord = null;
@@ -132,8 +145,6 @@
}
}
- final boolean isPrediction = !wordComposer.isComposingWord();
-
// We allow auto-correction if we have a whitelisted word, or if the word is not a valid
// word of more than 1 char, except if the first suggestion is the same as the typed string
// because in this case if it's strong enough to auto-correct that will mistakenly designate
@@ -171,19 +182,6 @@
suggestionResults.first(), consideredWord, mAutoCorrectionThreshold);
}
- final ArrayList<SuggestedWordInfo> suggestionsContainer =
- new ArrayList<>(suggestionResults);
- final int suggestionsCount = suggestionsContainer.size();
- if (isOnlyFirstCharCapitalized || isAllUpperCase || 0 != trailingSingleQuotesCount) {
- for (int i = 0; i < suggestionsCount; ++i) {
- final SuggestedWordInfo wordInfo = suggestionsContainer.get(i);
- final SuggestedWordInfo transformedWordInfo = getTransformedSuggestedWordInfo(
- wordInfo, suggestionResults.mLocale, isAllUpperCase,
- isOnlyFirstCharCapitalized, trailingSingleQuotesCount);
- suggestionsContainer.set(i, transformedWordInfo);
- }
- }
-
if (!TextUtils.isEmpty(typedWord)) {
suggestionsContainer.add(0, new SuggestedWordInfo(typedWord,
SuggestedWordInfo.MAX_SCORE, SuggestedWordInfo.KIND_TYPED,
@@ -191,7 +189,6 @@
SuggestedWordInfo.NOT_AN_INDEX /* indexOfTouchPointOfSecondWord */,
SuggestedWordInfo.NOT_A_CONFIDENCE /* autoCommitFirstWordConfidence */));
}
- SuggestedWordInfo.removeDups(suggestionsContainer);
final ArrayList<SuggestedWordInfo> suggestionsList;
if (DBG && !suggestionsContainer.isEmpty()) {
@@ -200,12 +197,13 @@
suggestionsList = suggestionsContainer;
}
- callback.onGetSuggestedWords(new SuggestedWords(suggestionsList, rawSuggestions,
+ callback.onGetSuggestedWords(new SuggestedWords(suggestionsList,
+ suggestionResults.mRawSuggestions,
// TODO: this first argument is lying. If this is a whitelisted word which is an
// actual word, it says typedWordValid = false, which looks wrong. We should either
// rename the attribute or change the value.
!isPrediction && !allowsToBeAutoCorrected /* typedWordValid */,
- hasAutoCorrection, /* willAutoCorrect */
+ hasAutoCorrection /* willAutoCorrect */,
false /* isObsoleteSuggestions */, isPrediction, sequenceNumber));
}
@@ -216,15 +214,9 @@
final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
final int sessionId, final int sequenceNumber,
final OnGetSuggestedWordsCallback callback) {
- final ArrayList<SuggestedWordInfo> rawSuggestions;
- if (ProductionFlag.INCLUDE_RAW_SUGGESTIONS) {
- rawSuggestions = new ArrayList<>();
- } else {
- rawSuggestions = null;
- }
final SuggestionResults suggestionResults = mDictionaryFacilitator.getSuggestionResults(
wordComposer, prevWordsInfo, proximityInfo, blockOffensiveWords,
- additionalFeaturesOptions, sessionId, rawSuggestions);
+ additionalFeaturesOptions, sessionId);
final ArrayList<SuggestedWordInfo> suggestionsContainer =
new ArrayList<>(suggestionResults);
final int suggestionsCount = suggestionsContainer.size();
@@ -245,7 +237,7 @@
final SuggestedWordInfo rejected = suggestionsContainer.remove(0);
suggestionsContainer.add(1, rejected);
}
- SuggestedWordInfo.removeDups(suggestionsContainer);
+ SuggestedWordInfo.removeDups(null /* typedWord */, suggestionsContainer);
// For some reason some suggestions with MIN_VALUE are making their way here.
// TODO: Find a more robust way to detect distractors.
@@ -257,7 +249,8 @@
// In the batch input mode, the most relevant suggested word should act as a "typed word"
// (typedWordValid=true), not as an "auto correct word" (willAutoCorrect=false).
- callback.onGetSuggestedWords(new SuggestedWords(suggestionsContainer, rawSuggestions,
+ callback.onGetSuggestedWords(new SuggestedWords(suggestionsContainer,
+ suggestionResults.mRawSuggestions,
true /* typedWordValid */,
false /* willAutoCorrect */,
false /* isObsoleteSuggestions */,
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index 72461e1..f22af79 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -316,10 +316,6 @@
return mDebugString;
}
- public int codePointCount() {
- return mCodePointCount;
- }
-
public int codePointAt(int i) {
return mWord.codePointAt(i);
}
@@ -333,23 +329,29 @@
}
}
- // TODO: Consolidate this method and StringUtils.removeDupes() in the future.
- public static void removeDups(ArrayList<SuggestedWordInfo> candidates) {
- if (candidates.size() <= 1) {
+ // This will always remove the higher index if a duplicate is found.
+ public static void removeDups(final String typedWord,
+ ArrayList<SuggestedWordInfo> candidates) {
+ if (candidates.isEmpty()) {
return;
}
- int i = 1;
- while (i < candidates.size()) {
- final SuggestedWordInfo cur = candidates.get(i);
- for (int j = 0; j < i; ++j) {
- final SuggestedWordInfo previous = candidates.get(j);
- if (cur.mWord.equals(previous.mWord)) {
- candidates.remove(cur.mScore < previous.mScore ? i : j);
- --i;
- break;
- }
+ if (!TextUtils.isEmpty(typedWord)) {
+ removeSuggestedWordInfoFrom(typedWord, candidates, -1 /* startIndexExclusive */);
+ }
+ for (int i = 0; i < candidates.size(); ++i) {
+ removeSuggestedWordInfoFrom(candidates.get(i).mWord, candidates,
+ i /* startIndexExclusive */);
+ }
+ }
+
+ private static void removeSuggestedWordInfoFrom(final String word,
+ final ArrayList<SuggestedWordInfo> candidates, final int startIndexExclusive) {
+ for (int i = startIndexExclusive + 1; i < candidates.size(); ++i) {
+ final SuggestedWordInfo previous = candidates.get(i);
+ if (word.equals(previous.mWord)) {
+ candidates.remove(i);
+ --i;
}
- ++i;
}
}
}
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index 32c6942..c9d0dcf 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -728,14 +728,13 @@
mConnection.setComposingText(getTextWithUnderline(
mWordComposer.getTypedWord()), 1);
} else {
- final boolean swapWeakSpace = maybeStripSpace(inputTransaction,
- inputTransaction.mEvent.isSuggestionStripPress());
+ final boolean swapWeakSpace = tryStripSpaceAndReturnWhetherShouldSwapInstead(
+ inputTransaction, inputTransaction.mEvent.isSuggestionStripPress());
- sendKeyCodePoint(settingsValues, codePoint);
-
- if (swapWeakSpace) {
- swapSwapperAndSpace(inputTransaction);
+ if (swapWeakSpace && trySwapSwapperAndSpace(inputTransaction)) {
mSpaceState = SpaceState.WEAK;
+ } else {
+ sendKeyCodePoint(settingsValues, codePoint);
}
// In case the "add to dictionary" hint was still displayed.
mSuggestionStripViewAccessor.dismissAddToDictionaryHint();
@@ -780,7 +779,8 @@
}
}
- final boolean swapWeakSpace = maybeStripSpace(inputTransaction, isFromSuggestionStrip);
+ final boolean swapWeakSpace = tryStripSpaceAndReturnWhetherShouldSwapInstead(
+ inputTransaction, isFromSuggestionStrip);
final boolean isInsideDoubleQuoteOrAfterDigit = Constants.CODE_DOUBLE_QUOTE == codePoint
&& mConnection.isInsideDoubleQuoteOrAfterDigit();
@@ -804,16 +804,14 @@
promotePhantomSpace(settingsValues);
}
- if (!shouldAvoidSendingCode) {
- sendKeyCodePoint(settingsValues, codePoint);
- }
-
- if (Constants.CODE_SPACE == codePoint) {
- if (maybeDoubleSpacePeriod(inputTransaction)) {
- inputTransaction.requireShiftUpdate(InputTransaction.SHIFT_UPDATE_NOW);
- inputTransaction.setRequiresUpdateSuggestions();
- mSpaceState = SpaceState.DOUBLE;
- } else if (!mSuggestedWords.isPunctuationSuggestions()) {
+ if (tryPerformDoubleSpacePeriod(inputTransaction)) {
+ mSpaceState = SpaceState.DOUBLE;
+ inputTransaction.setRequiresUpdateSuggestions();
+ } else if (swapWeakSpace && trySwapSwapperAndSpace(inputTransaction)) {
+ mSpaceState = SpaceState.SWAP_PUNCTUATION;
+ mSuggestionStripViewAccessor.setNeutralSuggestionStrip();
+ } else if (Constants.CODE_SPACE == codePoint) {
+ if (!mSuggestedWords.isPunctuationSuggestions()) {
mSpaceState = SpaceState.WEAK;
}
@@ -821,11 +819,12 @@
if (wasComposingWord || mSuggestedWords.isEmpty()) {
inputTransaction.setRequiresUpdateSuggestions();
}
+
+ if (!shouldAvoidSendingCode) {
+ sendKeyCodePoint(settingsValues, codePoint);
+ }
} else {
- if (swapWeakSpace) {
- swapSwapperAndSpace(inputTransaction);
- mSpaceState = SpaceState.SWAP_PUNCTUATION;
- } else if ((SpaceState.PHANTOM == inputTransaction.mSpaceState
+ if ((SpaceState.PHANTOM == inputTransaction.mSpaceState
&& settingsValues.isUsuallyFollowedBySpace(codePoint))
|| (Constants.CODE_DOUBLE_QUOTE == codePoint
&& isInsideDoubleQuoteOrAfterDigit)) {
@@ -843,6 +842,8 @@
mSpaceState = SpaceState.PHANTOM;
}
+ sendKeyCodePoint(settingsValues, codePoint);
+
// Set punctuation right away. onUpdateSelection will fire but tests whether it is
// already displayed or not, so it's okay.
mSuggestionStripViewAccessor.setNeutralSuggestionStrip();
@@ -1008,16 +1009,18 @@
* This method will check that there are two characters before the cursor and that the first
* one is a space before it does the actual swapping.
* @param inputTransaction The transaction in progress.
+ * @return true if the swap has been performed, false if it was prevented by preliminary checks.
*/
- private void swapSwapperAndSpace(final InputTransaction inputTransaction) {
- final CharSequence lastTwo = mConnection.getTextBeforeCursor(2, 0);
- // It is guaranteed lastTwo.charAt(1) is a swapper - else this method is not called.
- if (lastTwo != null && lastTwo.length() == 2 && lastTwo.charAt(0) == Constants.CODE_SPACE) {
- mConnection.deleteSurroundingText(2, 0);
- final String text = lastTwo.charAt(1) + " ";
- mConnection.commitText(text, 1);
- inputTransaction.requireShiftUpdate(InputTransaction.SHIFT_UPDATE_NOW);
+ private boolean trySwapSwapperAndSpace(final InputTransaction inputTransaction) {
+ final int codePointBeforeCursor = mConnection.getCodePointBeforeCursor();
+ if (Constants.CODE_SPACE != codePointBeforeCursor) {
+ return false;
}
+ mConnection.deleteSurroundingText(1, 0);
+ final String text = inputTransaction.mEvent.getTextToCommit() + " ";
+ mConnection.commitText(text, 1);
+ inputTransaction.requireShiftUpdate(InputTransaction.SHIFT_UPDATE_NOW);
+ return true;
}
/*
@@ -1026,8 +1029,8 @@
* @param isFromSuggestionStrip Whether this code point is coming from the suggestion strip.
* @return whether we should swap the space instead of removing it.
*/
- private boolean maybeStripSpace(final InputTransaction inputTransaction,
- final boolean isFromSuggestionStrip) {
+ private boolean tryStripSpaceAndReturnWhetherShouldSwapInstead(
+ final InputTransaction inputTransaction, final boolean isFromSuggestionStrip) {
final int codePoint = inputTransaction.mEvent.mCodePoint;
if (Constants.CODE_ENTER == codePoint &&
SpaceState.SWAP_PUNCTUATION == inputTransaction.mSpaceState) {
@@ -1068,37 +1071,42 @@
* period-space sequence of characters. This typically happens when the user presses space
* twice in a row quickly.
* This method will check that the double-space-to-period is active in settings, that the
- * two spaces have been input close enough together, and that the previous character allows
- * for the transformation to take place. If all of these conditions are fulfilled, this
- * method applies the transformation and returns true. Otherwise, it does nothing and
- * returns false.
+ * two spaces have been input close enough together, that the typed character is a space
+ * and that the previous character allows for the transformation to take place. If all of
+ * these conditions are fulfilled, this method applies the transformation and returns true.
+ * Otherwise, it does nothing and returns false.
*
* @param inputTransaction The transaction in progress.
* @return true if we applied the double-space-to-period transformation, false otherwise.
*/
- private boolean maybeDoubleSpacePeriod(final InputTransaction inputTransaction) {
- if (!inputTransaction.mSettingsValues.mUseDoubleSpacePeriod) return false;
- if (!isDoubleSpacePeriodCountdownActive(inputTransaction)) return false;
- // We only do this when we see two spaces and an accepted code point before the cursor.
- // The code point may be a surrogate pair but the two spaces may not, so we need 4 chars.
- final CharSequence lastThree = mConnection.getTextBeforeCursor(4, 0);
- if (null == lastThree) return false;
- final int length = lastThree.length();
- if (length < 3) return false;
- if (lastThree.charAt(length - 1) != Constants.CODE_SPACE) return false;
- if (lastThree.charAt(length - 2) != Constants.CODE_SPACE) return false;
- // We know there are spaces in pos -1 and -2, and we have at least three chars.
- // If we have only three chars, isSurrogatePairs can't return true as charAt(1) is a space,
- // so this is fine.
+ private boolean tryPerformDoubleSpacePeriod(final InputTransaction inputTransaction) {
+ // Check the setting, the typed character and the countdown. If any of the conditions is
+ // not fulfilled, return false.
+ if (!inputTransaction.mSettingsValues.mUseDoubleSpacePeriod
+ || Constants.CODE_SPACE != inputTransaction.mEvent.mCodePoint
+ || !isDoubleSpacePeriodCountdownActive(inputTransaction)) {
+ return false;
+ }
+ // We only do this when we see one space and an accepted code point before the cursor.
+ // The code point may be a surrogate pair but the space may not, so we need 3 chars.
+ final CharSequence lastTwo = mConnection.getTextBeforeCursor(3, 0);
+ if (null == lastTwo) return false;
+ final int length = lastTwo.length();
+ if (length < 2) return false;
+ if (lastTwo.charAt(length - 1) != Constants.CODE_SPACE) return false;
+ // We know there is a space in pos -1, and we have at least two chars. If we have only two
+ // chars, isSurrogatePairs can't return true as charAt(1) is a space, so this is fine.
final int firstCodePoint =
- Character.isSurrogatePair(lastThree.charAt(0), lastThree.charAt(1)) ?
- Character.codePointAt(lastThree, 0) : lastThree.charAt(length - 3);
+ Character.isSurrogatePair(lastTwo.charAt(0), lastTwo.charAt(1)) ?
+ Character.codePointAt(lastTwo, length - 3) : lastTwo.charAt(length - 2);
if (canBeFollowedByDoubleSpacePeriod(firstCodePoint)) {
cancelDoubleSpacePeriodCountdown();
- mConnection.deleteSurroundingText(2, 0);
+ mConnection.deleteSurroundingText(1, 0);
final String textToInsert = inputTransaction.mSettingsValues.mSpacingAndPunctuations
.mSentenceSeparatorAndSpace;
mConnection.commitText(textToInsert, 1);
+ inputTransaction.requireShiftUpdate(InputTransaction.SHIFT_UPDATE_NOW);
+ inputTransaction.setRequiresUpdateSuggestions();
return true;
}
return false;
diff --git a/java/src/com/android/inputmethod/latin/makedict/WordProperty.java b/java/src/com/android/inputmethod/latin/makedict/WordProperty.java
index 31cb597..cd78e22 100644
--- a/java/src/com/android/inputmethod/latin/makedict/WordProperty.java
+++ b/java/src/com/android/inputmethod/latin/makedict/WordProperty.java
@@ -70,8 +70,8 @@
// Construct word property using information from native code.
// This represents invalid word when the probability is BinaryDictionary.NOT_A_PROBABILITY.
public WordProperty(final int[] codePoints, final boolean isNotAWord,
- final boolean isBlacklisted, final boolean hasBigram,
- final boolean hasShortcuts, final int[] probabilityInfo,
+ final boolean isBlacklisted, final boolean hasBigram, final boolean hasShortcuts,
+ final boolean isBeginningOfSentence, final int[] probabilityInfo,
final ArrayList<int[]> bigramTargets, final ArrayList<int[]> bigramProbabilityInfo,
final ArrayList<int[]> shortcutTargets,
final ArrayList<Integer> shortcutProbabilities) {
@@ -79,7 +79,7 @@
mProbabilityInfo = createProbabilityInfoFromArray(probabilityInfo);
mShortcutTargets = new ArrayList<>();
mBigrams = new ArrayList<>();
- mIsBeginningOfSentence = false;
+ mIsBeginningOfSentence = isBeginningOfSentence;
mIsNotAWord = isNotAWord;
mIsBlacklistEntry = isBlacklisted;
mHasShortcuts = hasShortcuts;
diff --git a/java/src/com/android/inputmethod/latin/personalization/ContextualDictionary.java b/java/src/com/android/inputmethod/latin/personalization/ContextualDictionary.java
index a96018f..ac55b93 100644
--- a/java/src/com/android/inputmethod/latin/personalization/ContextualDictionary.java
+++ b/java/src/com/android/inputmethod/latin/personalization/ContextualDictionary.java
@@ -43,11 +43,6 @@
}
@Override
- protected boolean enableBeginningOfSentencePrediction() {
- return true;
- }
-
- @Override
public boolean isValidWord(final String word) {
// Strings out of this dictionary should not be considered existing words.
return false;
diff --git a/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java b/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java
index aede003..a98b0f1 100644
--- a/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java
@@ -75,7 +75,13 @@
return;
}
if (null != prevWord) {
- userHistoryDictionary.addNgramEntry(prevWordsInfo, word, frequency, timestamp);
+ if (prevWordsInfo.mPrevWordsInfo[0].mIsBeginningOfSentence) {
+ // Beginning-of-Sentence n-gram entry is treated as a n-gram entry of invalid word.
+ userHistoryDictionary.addNgramEntry(prevWordsInfo, word,
+ FREQUENCY_FOR_WORDS_NOT_IN_DICTS, timestamp);
+ } else {
+ userHistoryDictionary.addNgramEntry(prevWordsInfo, word, frequency, timestamp);
+ }
}
}
}
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
index 9d82412..689f878 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
@@ -126,9 +126,17 @@
final PreferenceScreen inputScreen =
(PreferenceScreen) findPreference(Settings.SCREEN_INPUT);
+ final PreferenceScreen multiLingualScreen =
+ (PreferenceScreen) findPreference(Settings.SCREEN_MULTI_LINGUAL);
+ final PreferenceScreen gestureScreen =
+ (PreferenceScreen) findPreference(Settings.SCREEN_GESTURE);
+ final PreferenceScreen correctionScreen =
+ (PreferenceScreen) findPreference(Settings.SCREEN_CORRECTION);
final PreferenceScreen advancedScreen =
(PreferenceScreen) findPreference(Settings.SCREEN_ADVANCED);
- final Preference debugScreen = findPreference(Settings.SCREEN_DEBUG);
+ final PreferenceScreen debugScreen =
+ (PreferenceScreen) findPreference(Settings.SCREEN_DEBUG);
+
if (Settings.isInternal(prefs)) {
final Intent debugSettingsIntent = new Intent(Intent.ACTION_MAIN);
debugSettingsIntent.setClassName(
@@ -149,8 +157,6 @@
removePreference(Settings.PREF_VIBRATION_DURATION_SETTINGS, advancedScreen);
}
if (!Settings.ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS) {
- final PreferenceScreen multiLingualScreen =
- (PreferenceScreen) findPreference(Settings.SCREEN_MULTI_LINGUAL);
removePreference(Settings.PREF_SHOW_LANGUAGE_SWITCH_KEY, multiLingualScreen);
removePreference(
Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST, multiLingualScreen);
@@ -185,8 +191,6 @@
removePreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON, advancedScreen);
}
- final PreferenceScreen correctionScreen =
- (PreferenceScreen) findPreference(Settings.SCREEN_CORRECTION);
final PreferenceScreen dictionaryLink =
(PreferenceScreen) findPreference(Settings.PREF_CONFIGURE_DICTIONARIES_KEY);
final Intent intent = dictionaryLink.getIntent();
@@ -221,7 +225,7 @@
}
if (!Settings.readFromBuildConfigIfGestureInputEnabled(res)) {
- removePreference(Settings.SCREEN_GESTURE, getPreferenceScreen());
+ getPreferenceScreen().removePreference(gestureScreen);
}
AdditionalFeaturesSettingUtils.addAdditionalFeaturesPreferences(context, this);
@@ -462,13 +466,14 @@
@Override
public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
- if (!FeedbackUtils.isFeedbackFormSupported()) {
- return;
+ if (FeedbackUtils.isFeedbackFormSupported()) {
+ menu.add(NO_MENU_GROUP, MENU_FEEDBACK /* itemId */, MENU_FEEDBACK /* order */,
+ R.string.send_feedback);
}
- menu.add(NO_MENU_GROUP, MENU_FEEDBACK /* itemId */, MENU_FEEDBACK /* order */,
- R.string.send_feedback);
- menu.add(NO_MENU_GROUP, MENU_ABOUT /* itemId */, MENU_ABOUT /* order */,
- FeedbackUtils.getAboutKeyboardTitleResId());
+ final int aboutResId = FeedbackUtils.getAboutKeyboardTitleResId();
+ if (aboutResId != 0) {
+ menu.add(NO_MENU_GROUP, MENU_ABOUT /* itemId */, MENU_ABOUT /* order */, aboutResId);
+ }
}
@Override
@@ -479,8 +484,11 @@
return true;
}
if (itemId == MENU_ABOUT) {
- startActivity(FeedbackUtils.getAboutKeyboardIntent(getActivity()));
- return true;
+ final Intent aboutIntent = FeedbackUtils.getAboutKeyboardIntent(getActivity());
+ if (aboutIntent != null) {
+ startActivity(aboutIntent);
+ return true;
+ }
}
return super.onOptionsItemSelected(item);
}
diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java
index 46f5cde..ad5aad7 100644
--- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java
+++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java
@@ -49,6 +49,7 @@
import com.android.inputmethod.latin.PunctuationSuggestions;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.SuggestedWords;
+import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
import com.android.inputmethod.latin.utils.AutoCorrectionUtils;
import com.android.inputmethod.latin.utils.ResourceUtils;
import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;
@@ -250,8 +251,8 @@
final int positionInStrip =
getPositionInSuggestionStrip(indexInSuggestedWords, suggestedWords);
// Use identity for strings, not #equals : it's the typed word if it's the same object
- final boolean isTypedWord =
- suggestedWords.getWord(indexInSuggestedWords) == suggestedWords.mTypedWord;
+ final boolean isTypedWord = suggestedWords.getInfo(indexInSuggestedWords).isKindOf(
+ SuggestedWordInfo.KIND_TYPED);
final int color;
if (positionInStrip == mCenterPositionInStrip && suggestedWords.mWillAutoCorrect) {
diff --git a/java/src/com/android/inputmethod/latin/utils/CombinedFormatUtils.java b/java/src/com/android/inputmethod/latin/utils/CombinedFormatUtils.java
index c660075..34f59e8 100644
--- a/java/src/com/android/inputmethod/latin/utils/CombinedFormatUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/CombinedFormatUtils.java
@@ -31,6 +31,7 @@
public static final String HISTORICAL_INFO_TAG = "historicalInfo";
public static final String HISTORICAL_INFO_SEPARATOR = ":";
public static final String WORD_TAG = "word";
+ public static final String BEGINNING_OF_SENTENCE_TAG = "beginning_of_sentence";
public static final String NOT_A_WORD_TAG = "not_a_word";
public static final String BLACKLISTED_TAG = "blacklisted";
@@ -56,6 +57,9 @@
builder.append(" " + WORD_TAG + "=" + wordProperty.mWord);
builder.append(",");
builder.append(formatProbabilityInfo(wordProperty.mProbabilityInfo));
+ if (wordProperty.mIsBeginningOfSentence) {
+ builder.append("," + BEGINNING_OF_SENTENCE_TAG + "=true");
+ }
if (wordProperty.mIsNotAWord) {
builder.append("," + NOT_A_WORD_TAG + "=true");
}
diff --git a/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java b/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java
index 0b362c4..5c109a6 100644
--- a/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java
+++ b/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java
@@ -17,7 +17,9 @@
package com.android.inputmethod.latin.utils;
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
+import com.android.inputmethod.latin.define.ProductionFlag;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.Locale;
@@ -29,6 +31,7 @@
*/
public final class SuggestionResults extends TreeSet<SuggestedWordInfo> {
public final Locale mLocale;
+ public final ArrayList<SuggestedWordInfo> mRawSuggestions;
private final int mCapacity;
public SuggestionResults(final Locale locale, final int capacity) {
@@ -40,6 +43,11 @@
super(comparator);
mLocale = locale;
mCapacity = capacity;
+ if (ProductionFlag.INCLUDE_RAW_SUGGESTIONS) {
+ mRawSuggestions = new ArrayList<>();
+ } else {
+ mRawSuggestions = null;
+ }
}
@Override
diff --git a/native/jni/HostUnitTests.mk b/native/jni/HostUnitTests.mk
index 572d365..6967d9b 100644
--- a/native/jni/HostUnitTests.mk
+++ b/native/jni/HostUnitTests.mk
@@ -44,7 +44,7 @@
LOCAL_MODULE := liblatinime_host_unittests
LOCAL_MODULE_TAGS := tests
LOCAL_SRC_FILES := $(addprefix $(LATIN_IME_TEST_SRC_DIR)/, $(LATIN_IME_CORE_TEST_FILES))
-LOCAL_STATIC_LIBRARIES += liblatinime_host_static_for_unittests libgtest_host libgtest_main_host
+LOCAL_STATIC_LIBRARIES += liblatinime_host_static_for_unittests
include $(BUILD_HOST_NATIVE_TEST)
endif # Darwin - TODO: Remove this
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
index e51f717..6b4fb79 100644
--- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
+++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
@@ -301,34 +301,55 @@
// If token is 0, this method newly starts iterating the dictionary. This method returns 0 when
// the dictionary does not have a next word.
static jint latinime_BinaryDictionary_getNextWord(JNIEnv *env, jclass clazz,
- jlong dict, jint token, jintArray outCodePoints) {
+ jlong dict, jint token, jintArray outCodePoints, jbooleanArray outIsBeginningOfSentence) {
Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict);
if (!dictionary) return 0;
- const jsize outCodePointsLength = env->GetArrayLength(outCodePoints);
- if (outCodePointsLength != MAX_WORD_LENGTH) {
- AKLOGE("Invalid outCodePointsLength: %d", outCodePointsLength);
+ const jsize codePointBufSize = env->GetArrayLength(outCodePoints);
+ if (codePointBufSize != MAX_WORD_LENGTH) {
+ AKLOGE("Invalid outCodePointsLength: %d", codePointBufSize);
ASSERT(false);
return 0;
}
- int wordCodePoints[outCodePointsLength];
- memset(wordCodePoints, 0, sizeof(wordCodePoints));
- const int nextToken = dictionary->getNextWordAndNextToken(token, wordCodePoints);
+ int wordCodePoints[codePointBufSize];
+ int wordCodePointCount = 0;
+ const int nextToken = dictionary->getNextWordAndNextToken(token, wordCodePoints,
+ &wordCodePointCount);
JniDataUtils::outputCodePoints(env, outCodePoints, 0 /* start */,
- MAX_WORD_LENGTH /* maxLength */, wordCodePoints, outCodePointsLength,
+ MAX_WORD_LENGTH /* maxLength */, wordCodePoints, wordCodePointCount,
false /* needsNullTermination */);
+ bool isBeginningOfSentence = false;
+ if (wordCodePointCount > 0 && wordCodePoints[0] == CODE_POINT_BEGINNING_OF_SENTENCE) {
+ isBeginningOfSentence = true;
+ }
+ JniDataUtils::putBooleanToArray(env, outIsBeginningOfSentence, 0 /* index */,
+ isBeginningOfSentence);
return nextToken;
}
static void latinime_BinaryDictionary_getWordProperty(JNIEnv *env, jclass clazz,
- jlong dict, jintArray word, jintArray outCodePoints, jbooleanArray outFlags,
- jintArray outProbabilityInfo, jobject outBigramTargets, jobject outBigramProbabilityInfo,
- jobject outShortcutTargets, jobject outShortcutProbabilities) {
+ jlong dict, jintArray word, jboolean isBeginningOfSentence, jintArray outCodePoints,
+ jbooleanArray outFlags, jintArray outProbabilityInfo, jobject outBigramTargets,
+ jobject outBigramProbabilityInfo, jobject outShortcutTargets,
+ jobject outShortcutProbabilities) {
Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict);
if (!dictionary) return;
const jsize wordLength = env->GetArrayLength(word);
- int wordCodePoints[wordLength];
+ if (wordLength > MAX_WORD_LENGTH) {
+ AKLOGE("Invalid wordLength: %d", wordLength);
+ return;
+ }
+ int wordCodePoints[MAX_WORD_LENGTH];
env->GetIntArrayRegion(word, 0, wordLength, wordCodePoints);
- const WordProperty wordProperty = dictionary->getWordProperty(wordCodePoints, wordLength);
+ int codePointCount = wordLength;
+ if (isBeginningOfSentence) {
+ codePointCount = CharUtils::attachBeginningOfSentenceMarker(
+ wordCodePoints, wordLength, MAX_WORD_LENGTH);
+ if (codePointCount < 0) {
+ AKLOGE("Cannot attach Beginning-of-Sentence marker.");
+ return;
+ }
+ }
+ const WordProperty wordProperty = dictionary->getWordProperty(wordCodePoints, codePointCount);
wordProperty.outputProperties(env, outCodePoints, outFlags, outProbabilityInfo,
outBigramTargets, outBigramProbabilityInfo, outShortcutTargets,
outShortcutProbabilities);
@@ -553,14 +574,18 @@
return false;
}
- // TODO: Migrate historical information.
int wordCodePoints[MAX_WORD_LENGTH];
+ int wordCodePointCount = 0;
int token = 0;
// Add unigrams.
do {
- token = dictionary->getNextWordAndNextToken(token, wordCodePoints);
- const int wordLength = CharUtils::getCodePointCount(MAX_WORD_LENGTH, wordCodePoints);
- const WordProperty wordProperty = dictionary->getWordProperty(wordCodePoints, wordLength);
+ token = dictionary->getNextWordAndNextToken(token, wordCodePoints, &wordCodePointCount);
+ const WordProperty wordProperty = dictionary->getWordProperty(wordCodePoints,
+ wordCodePointCount);
+ if (wordCodePoints[0] == CODE_POINT_BEGINNING_OF_SENTENCE) {
+ // Skip beginning-of-sentence unigram.
+ continue;
+ }
if (dictionaryStructureWithBufferPolicy->needsToRunGC(true /* mindsBlockByGC */)) {
dictionaryStructureWithBufferPolicy = runGCAndGetNewStructurePolicy(
std::move(dictionaryStructureWithBufferPolicy), dictFilePathChars);
@@ -569,8 +594,8 @@
return false;
}
}
- if (!dictionaryStructureWithBufferPolicy->addUnigramEntry(wordCodePoints, wordLength,
- wordProperty.getUnigramProperty())) {
+ if (!dictionaryStructureWithBufferPolicy->addUnigramEntry(wordCodePoints,
+ wordCodePointCount, wordProperty.getUnigramProperty())) {
LogUtils::logToJava(env, "Cannot add unigram to the new dict.");
return false;
}
@@ -578,9 +603,9 @@
// Add bigrams.
do {
- token = dictionary->getNextWordAndNextToken(token, wordCodePoints);
- const int wordLength = CharUtils::getCodePointCount(MAX_WORD_LENGTH, wordCodePoints);
- const WordProperty wordProperty = dictionary->getWordProperty(wordCodePoints, wordLength);
+ token = dictionary->getNextWordAndNextToken(token, wordCodePoints, &wordCodePointCount);
+ const WordProperty wordProperty = dictionary->getWordProperty(wordCodePoints,
+ wordCodePointCount);
if (dictionaryStructureWithBufferPolicy->needsToRunGC(true /* mindsBlockByGC */)) {
dictionaryStructureWithBufferPolicy = runGCAndGetNewStructurePolicy(
std::move(dictionaryStructureWithBufferPolicy), dictFilePathChars);
@@ -589,8 +614,8 @@
return false;
}
}
- const PrevWordsInfo prevWordsInfo(wordCodePoints, wordLength,
- false /* isStartOfSentence */);
+ const PrevWordsInfo prevWordsInfo(wordCodePoints, wordCodePointCount,
+ wordProperty.getUnigramProperty()->representsBeginningOfSentence());
for (const BigramProperty &bigramProperty : *wordProperty.getBigramProperties()) {
if (!dictionaryStructureWithBufferPolicy->addNgramEntry(&prevWordsInfo,
&bigramProperty)) {
@@ -667,13 +692,13 @@
},
{
const_cast<char *>("getWordPropertyNative"),
- const_cast<char *>("(J[I[I[Z[ILjava/util/ArrayList;Ljava/util/ArrayList;"
+ const_cast<char *>("(J[IZ[I[Z[ILjava/util/ArrayList;Ljava/util/ArrayList;"
"Ljava/util/ArrayList;Ljava/util/ArrayList;)V"),
reinterpret_cast<void *>(latinime_BinaryDictionary_getWordProperty)
},
{
const_cast<char *>("getNextWordNative"),
- const_cast<char *>("(JI[I)I"),
+ const_cast<char *>("(JI[I[Z)I"),
reinterpret_cast<void *>(latinime_BinaryDictionary_getNextWord)
},
{
diff --git a/native/jni/src/suggest/core/dictionary/bigram_dictionary.cpp b/native/jni/src/suggest/core/dictionary/bigram_dictionary.cpp
index 295e760..56339fe 100644
--- a/native/jni/src/suggest/core/dictionary/bigram_dictionary.cpp
+++ b/native/jni/src/suggest/core/dictionary/bigram_dictionary.cpp
@@ -57,6 +57,10 @@
if (bigramsIt.getBigramPos() == NOT_A_DICT_POS) {
continue;
}
+ if (prevWordsInfo->isNthPrevWordBeginningOfSentence(1 /* n */)
+ && bigramsIt.getProbability() == NOT_A_PROBABILITY) {
+ continue;
+ }
const int codePointCount = mDictionaryStructurePolicy->
getCodePointsAndProbabilityAndReturnCodePointCount(bigramsIt.getBigramPos(),
MAX_WORD_LENGTH, bigramCodePoints, &unigramProbability);
diff --git a/native/jni/src/suggest/core/dictionary/dictionary.cpp b/native/jni/src/suggest/core/dictionary/dictionary.cpp
index bf0d0b1..e553bc0 100644
--- a/native/jni/src/suggest/core/dictionary/dictionary.cpp
+++ b/native/jni/src/suggest/core/dictionary/dictionary.cpp
@@ -145,10 +145,11 @@
codePoints, codePointCount);
}
-int Dictionary::getNextWordAndNextToken(const int token, int *const outCodePoints) {
+int Dictionary::getNextWordAndNextToken(const int token, int *const outCodePoints,
+ int *const outCodePointCount) {
TimeKeeper::setCurrentTime();
return mDictionaryStructureWithBufferPolicy->getNextWordAndNextToken(
- token, outCodePoints);
+ token, outCodePoints, outCodePointCount);
}
void Dictionary::logDictionaryInfo(JNIEnv *const env) const {
diff --git a/native/jni/src/suggest/core/dictionary/dictionary.h b/native/jni/src/suggest/core/dictionary/dictionary.h
index a96c876..83447de 100644
--- a/native/jni/src/suggest/core/dictionary/dictionary.h
+++ b/native/jni/src/suggest/core/dictionary/dictionary.h
@@ -103,7 +103,8 @@
// Method to iterate all words in the dictionary.
// The returned token has to be used to get the next word. If token is 0, this method newly
// starts iterating the dictionary.
- int getNextWordAndNextToken(const int token, int *const outCodePoints);
+ int getNextWordAndNextToken(const int token, int *const outCodePoints,
+ int *const outCodePointCount);
const DictionaryStructureWithBufferPolicy *getDictionaryStructurePolicy() const {
return mDictionaryStructureWithBufferPolicy.get();
diff --git a/native/jni/src/suggest/core/dictionary/property/word_property.cpp b/native/jni/src/suggest/core/dictionary/property/word_property.cpp
index 6f5f808..5bdd560 100644
--- a/native/jni/src/suggest/core/dictionary/property/word_property.cpp
+++ b/native/jni/src/suggest/core/dictionary/property/word_property.cpp
@@ -28,7 +28,8 @@
MAX_WORD_LENGTH /* maxLength */, mCodePoints.data(), mCodePoints.size(),
false /* needsNullTermination */);
jboolean flags[] = {mUnigramProperty.isNotAWord(), mUnigramProperty.isBlacklisted(),
- !mBigrams.empty(), mUnigramProperty.hasShortcuts()};
+ !mBigrams.empty(), mUnigramProperty.hasShortcuts(),
+ mUnigramProperty.representsBeginningOfSentence()};
env->SetBooleanArrayRegion(outFlags, 0 /* start */, NELEMS(flags), flags);
int probabilityInfo[] = {mUnigramProperty.getProbability(), mUnigramProperty.getTimestamp(),
mUnigramProperty.getLevel(), mUnigramProperty.getCount()};
diff --git a/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h b/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h
index e2771f9..b726011 100644
--- a/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h
+++ b/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h
@@ -104,7 +104,8 @@
// Method to iterate all words in the dictionary.
// The returned token has to be used to get the next word. If token is 0, this method newly
// starts iterating the dictionary.
- virtual int getNextWordAndNextToken(const int token, int *const outCodePoints) = 0;
+ virtual int getNextWordAndNextToken(const int token, int *const outCodePoints,
+ int *const outCodePointCount) = 0;
virtual bool isCorrupted() const = 0;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp
index 4ac0f40..9780ae0 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp
@@ -478,10 +478,9 @@
return WordProperty(&codePointVector, &unigramProperty, &bigrams);
}
-int Ver4PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const outCodePoints) {
- // TODO: Return code point count like other methods.
- // Null termination.
- outCodePoints[0] = 0;
+int Ver4PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const outCodePoints,
+ int *const outCodePointCount) {
+ *outCodePointCount = 0;
if (token == 0) {
mTerminalPtNodePositionsForIteratingWords.clear();
DynamicPtReadingHelper::TraversePolicyToGetAllTerminalPtNodePositions traversePolicy(
@@ -498,13 +497,8 @@
}
const int terminalPtNodePos = mTerminalPtNodePositionsForIteratingWords[token];
int unigramProbability = NOT_A_PROBABILITY;
- const int codePointCount = getCodePointsAndProbabilityAndReturnCodePointCount(
+ *outCodePointCount = getCodePointsAndProbabilityAndReturnCodePointCount(
terminalPtNodePos, MAX_WORD_LENGTH, outCodePoints, &unigramProbability);
- if (codePointCount < MAX_WORD_LENGTH) {
- // Null termination. outCodePoints have to be null terminated or contain MAX_WORD_LENGTH
- // code points.
- outCodePoints[codePointCount] = 0;
- }
const int nextToken = token + 1;
if (nextToken >= terminalPtNodePositionsVectorSize) {
// All words have been iterated.
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h
index 2e948ac..16b1bd2 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h
@@ -134,7 +134,8 @@
const WordProperty getWordProperty(const int *const codePoints,
const int codePointCount) const;
- int getNextWordAndNextToken(const int token, int *const outCodePoints);
+ int getNextWordAndNextToken(const int token, int *const outCodePoints,
+ int *const outCodePointCount);
bool isCorrupted() const {
return mIsCorrupted;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp
index 7e1f3b2..5c62b9c 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp
@@ -391,7 +391,9 @@
return WordProperty(&codePointVector, &unigramProperty, &bigrams);
}
-int PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const outCodePoints) {
+int PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const outCodePoints,
+ int *const outCodePointCount) {
+ *outCodePointCount = 0;
if (token == 0) {
// Start iterating the dictionary.
mTerminalPtNodePositionsForIteratingWords.clear();
@@ -409,8 +411,8 @@
}
const int terminalPtNodePos = mTerminalPtNodePositionsForIteratingWords[token];
int unigramProbability = NOT_A_PROBABILITY;
- getCodePointsAndProbabilityAndReturnCodePointCount(terminalPtNodePos, MAX_WORD_LENGTH,
- outCodePoints, &unigramProbability);
+ *outCodePointCount = getCodePointsAndProbabilityAndReturnCodePointCount(terminalPtNodePos,
+ MAX_WORD_LENGTH, outCodePoints, &unigramProbability);
const int nextToken = token + 1;
if (nextToken >= terminalPtNodePositionsVectorSize) {
// All words have been iterated.
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h
index dce9436..ec84074 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h
@@ -137,7 +137,8 @@
const WordProperty getWordProperty(const int *const codePoints,
const int codePointCount) const;
- int getNextWordAndNextToken(const int token, int *const outCodePoints);
+ int getNextWordAndNextToken(const int token, int *const outCodePoints,
+ int *const outCodePointCount);
bool isCorrupted() const {
return mIsCorrupted;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp
index f7f2a32..46107d9 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp
@@ -489,10 +489,9 @@
return WordProperty(&codePointVector, &unigramProperty, &bigrams);
}
-int Ver4PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const outCodePoints) {
- // TODO: Return code point count like other methods.
- // Null termination.
- outCodePoints[0] = 0;
+int Ver4PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const outCodePoints,
+ int *const outCodePointCount) {
+ *outCodePointCount = 0;
if (token == 0) {
mTerminalPtNodePositionsForIteratingWords.clear();
DynamicPtReadingHelper::TraversePolicyToGetAllTerminalPtNodePositions traversePolicy(
@@ -509,13 +508,8 @@
}
const int terminalPtNodePos = mTerminalPtNodePositionsForIteratingWords[token];
int unigramProbability = NOT_A_PROBABILITY;
- const int codePointCount = getCodePointsAndProbabilityAndReturnCodePointCount(
+ *outCodePointCount = getCodePointsAndProbabilityAndReturnCodePointCount(
terminalPtNodePos, MAX_WORD_LENGTH, outCodePoints, &unigramProbability);
- if (codePointCount < MAX_WORD_LENGTH) {
- // Null termination. outCodePoints have to be null terminated or contain MAX_WORD_LENGTH
- // code points.
- outCodePoints[codePointCount] = 0;
- }
const int nextToken = token + 1;
if (nextToken >= terminalPtNodePositionsVectorSize) {
// All words have been iterated.
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h
index 0a20965..5d66a2c 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h
@@ -113,7 +113,8 @@
const WordProperty getWordProperty(const int *const codePoints,
const int codePointCount) const;
- int getNextWordAndNextToken(const int token, int *const outCodePoints);
+ int getNextWordAndNextToken(const int token, int *const outCodePoints,
+ int *const outCodePointCount);
bool isCorrupted() const {
return mIsCorrupted;
diff --git a/native/jni/src/utils/char_utils.h b/native/jni/src/utils/char_utils.h
index f28ed56..6378650 100644
--- a/native/jni/src/utils/char_utils.h
+++ b/native/jni/src/utils/char_utils.h
@@ -98,6 +98,10 @@
// Beginning-of-Sentence.
static AK_FORCE_INLINE int attachBeginningOfSentenceMarker(int *const codePoints,
const int codePointCount, const int maxCodePoint) {
+ if (codePointCount > 0 && codePoints[0] == CODE_POINT_BEGINNING_OF_SENTENCE) {
+ // Marker has already been attached.
+ return codePointCount;
+ }
if (codePointCount >= maxCodePoint) {
// the code points cannot be marked as a Beginning-of-Sentence.
return 0;
diff --git a/native/jni/src/utils/jni_data_utils.h b/native/jni/src/utils/jni_data_utils.h
index 67a66fd..3514aee 100644
--- a/native/jni/src/utils/jni_data_utils.h
+++ b/native/jni/src/utils/jni_data_utils.h
@@ -69,18 +69,23 @@
static void outputCodePoints(JNIEnv *env, jintArray intArrayToOutputCodePoints, const int start,
const int maxLength, const int *const codePoints, const int codePointCount,
const bool needsNullTermination) {
- const int outputCodePointCount = std::min(maxLength, codePointCount);
- int outputCodePonts[outputCodePointCount];
- for (int i = 0; i < outputCodePointCount; ++i) {
+ const int codePointBufSize = std::min(maxLength, codePointCount);
+ int outputCodePonts[codePointBufSize];
+ int outputCodePointCount = 0;
+ for (int i = 0; i < codePointBufSize; ++i) {
const int codePoint = codePoints[i];
+ int codePointToOutput = codePoint;
if (!CharUtils::isInUnicodeSpace(codePoint)) {
- outputCodePonts[i] = CODE_POINT_REPLACEMENT_CHARACTER;
+ if (codePoint == CODE_POINT_BEGINNING_OF_SENTENCE) {
+ // Just skip Beginning-of-Sentence marker.
+ continue;
+ }
+ codePointToOutput = CODE_POINT_REPLACEMENT_CHARACTER;
} else if (codePoint >= 0x01 && codePoint <= 0x1F) {
// Control code.
- outputCodePonts[i] = CODE_POINT_REPLACEMENT_CHARACTER;
- } else {
- outputCodePonts[i] = codePoint;
+ codePointToOutput = CODE_POINT_REPLACEMENT_CHARACTER;
}
+ outputCodePonts[outputCodePointCount++] = codePointToOutput;
}
env->SetIntArrayRegion(intArrayToOutputCodePoints, start, outputCodePointCount,
outputCodePonts);
@@ -90,6 +95,11 @@
}
}
+ static void putBooleanToArray(JNIEnv *env, jbooleanArray array, const int index,
+ const jboolean value) {
+ env->SetBooleanArrayRegion(array, index, 1 /* len */, &value);
+ }
+
static void putIntToArray(JNIEnv *env, jintArray array, const int index, const int value) {
env->SetIntArrayRegion(array, index, 1 /* len */, &value);
}
diff --git a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
index fbce9a8..6ba18d6 100644
--- a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
+++ b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
@@ -995,7 +995,8 @@
0 /* offset */, dictFile.length(), true /* useFullEditDistance */,
Locale.getDefault(), TEST_LOCALE, true /* isUpdatable */);
- final WordProperty invalidWordProperty = binaryDictionary.getWordProperty("dummyWord");
+ final WordProperty invalidWordProperty = binaryDictionary.getWordProperty("dummyWord",
+ false /* isBeginningOfSentence */);
assertFalse(invalidWordProperty.isValid());
final ArrayList<String> words = new ArrayList<>();
@@ -1018,7 +1019,8 @@
}
words.add(word);
wordProbabilities.put(word, unigramProbability);
- final WordProperty wordProperty = binaryDictionary.getWordProperty(word);
+ final WordProperty wordProperty = binaryDictionary.getWordProperty(word,
+ false /* isBeginningOfSentence */);
assertEquals(word, wordProperty.mWord);
assertTrue(wordProperty.isValid());
assertEquals(isNotAWord, wordProperty.mIsNotAWord);
@@ -1058,7 +1060,8 @@
continue;
}
final HashSet<String> bigramWord1s = bigrams.get(word0);
- final WordProperty wordProperty = binaryDictionary.getWordProperty(word0);
+ final WordProperty wordProperty = binaryDictionary.getWordProperty(word0,
+ false /* isBeginningOfSentence */);
assertEquals(bigramWord1s.size(), wordProperty.mBigrams.size());
for (int j = 0; j < wordProperty.mBigrams.size(); j++) {
final String word1 = wordProperty.mBigrams.get(j).mWord;
@@ -1095,7 +1098,8 @@
0 /* offset */, dictFile.length(), true /* useFullEditDistance */,
Locale.getDefault(), TEST_LOCALE, true /* isUpdatable */);
- final WordProperty invalidWordProperty = binaryDictionary.getWordProperty("dummyWord");
+ final WordProperty invalidWordProperty = binaryDictionary.getWordProperty("dummyWord",
+ false /* isBeginningOfSentence */);
assertFalse(invalidWordProperty.isValid());
final ArrayList<String> words = new ArrayList<>();
@@ -1189,7 +1193,8 @@
binaryDictionary.addUnigramEntry("aaa", unigramProbability, "zzz",
shortcutProbability, false /* isBeginningOfSentence */,
false /* isNotAWord */, false /* isBlacklisted */, 0 /* timestamp */);
- WordProperty wordProperty = binaryDictionary.getWordProperty("aaa");
+ WordProperty wordProperty = binaryDictionary.getWordProperty("aaa",
+ false /* isBeginningOfSentence */);
assertEquals(1, wordProperty.mShortcutTargets.size());
assertEquals("zzz", wordProperty.mShortcutTargets.get(0).mWord);
assertEquals(shortcutProbability, wordProperty.mShortcutTargets.get(0).getProbability());
@@ -1197,7 +1202,8 @@
binaryDictionary.addUnigramEntry("aaa", unigramProbability, "zzz",
updatedShortcutProbability, false /* isBeginningOfSentence */,
false /* isNotAWord */, false /* isBlacklisted */, 0 /* timestamp */);
- wordProperty = binaryDictionary.getWordProperty("aaa");
+ wordProperty = binaryDictionary.getWordProperty("aaa",
+ false /* isBeginningOfSentence */);
assertEquals(1, wordProperty.mShortcutTargets.size());
assertEquals("zzz", wordProperty.mShortcutTargets.get(0).mWord);
assertEquals(updatedShortcutProbability,
@@ -1208,7 +1214,8 @@
final HashMap<String, Integer> shortcutTargets = new HashMap<>();
shortcutTargets.put("zzz", updatedShortcutProbability);
shortcutTargets.put("yyy", shortcutProbability);
- wordProperty = binaryDictionary.getWordProperty("aaa");
+ wordProperty = binaryDictionary.getWordProperty("aaa",
+ false /* isBeginningOfSentence */);
assertEquals(2, wordProperty.mShortcutTargets.size());
for (WeightedString shortcutTarget : wordProperty.mShortcutTargets) {
assertTrue(shortcutTargets.containsKey(shortcutTarget.mWord));
@@ -1219,7 +1226,8 @@
shortcutTargets.put("zzz", updatedShortcutProbability);
shortcutTargets.put("yyy", shortcutProbability);
binaryDictionary.flushWithGC();
- wordProperty = binaryDictionary.getWordProperty("aaa");
+ wordProperty = binaryDictionary.getWordProperty("aaa",
+ false /* isBeginningOfSentence */);
assertEquals(2, wordProperty.mShortcutTargets.size());
for (WeightedString shortcutTarget : wordProperty.mShortcutTargets) {
assertTrue(shortcutTargets.containsKey(shortcutTarget.mWord));
@@ -1289,7 +1297,8 @@
}
for (final String word : words) {
- final WordProperty wordProperty = binaryDictionary.getWordProperty(word);
+ final WordProperty wordProperty = binaryDictionary.getWordProperty(word,
+ false /* isBeginningOfSentence */);
assertEquals((int)unigramProbabilities.get(word),
wordProperty.mProbabilityInfo.mProbability);
if (!shortcutTargets.containsKey(word)) {
@@ -1333,6 +1342,8 @@
binaryDictionary.addUnigramEntry("ddd", unigramProbability, null /* shortcutTarget */,
Dictionary.NOT_A_PROBABILITY, false /* isBeginningOfSentence */,
true /* isNotAWord */, true /* isBlacklisted */, 0 /* timestamp */);
+ binaryDictionary.addNgramEntry(PrevWordsInfo.BEGINNING_OF_SENTENCE,
+ "aaa", bigramProbability, 0 /* timestamp */);
assertEquals(unigramProbability, binaryDictionary.getFrequency("aaa"));
assertEquals(unigramProbability, binaryDictionary.getFrequency("bbb"));
assertTrue(isValidBigram(binaryDictionary, "aaa", "bbb"));
@@ -1344,12 +1355,16 @@
assertEquals(unigramProbability, binaryDictionary.getFrequency("bbb"));
if (canCheckBigramProbability(toFormatVersion)) {
assertEquals(bigramProbability, getBigramProbability(binaryDictionary, "aaa", "bbb"));
+ assertEquals(bigramProbability, binaryDictionary.getNgramProbability(
+ PrevWordsInfo.BEGINNING_OF_SENTENCE, "aaa"));
}
assertTrue(isValidBigram(binaryDictionary, "aaa", "bbb"));
- WordProperty wordProperty = binaryDictionary.getWordProperty("ccc");
+ WordProperty wordProperty = binaryDictionary.getWordProperty("ccc",
+ false /* isBeginningOfSentence */);
assertEquals(1, wordProperty.mShortcutTargets.size());
assertEquals("xxx", wordProperty.mShortcutTargets.get(0).mWord);
- wordProperty = binaryDictionary.getWordProperty("ddd");
+ wordProperty = binaryDictionary.getWordProperty("ddd",
+ false /* isBeginningOfSentence */);
assertTrue(wordProperty.mIsBlacklistEntry);
assertTrue(wordProperty.mIsNotAWord);
}
diff --git a/tests/src/com/android/inputmethod/latin/InputLogicTests.java b/tests/src/com/android/inputmethod/latin/InputLogicTests.java
index 460f600..0552c22 100644
--- a/tests/src/com/android/inputmethod/latin/InputLogicTests.java
+++ b/tests/src/com/android/inputmethod/latin/InputLogicTests.java
@@ -482,6 +482,7 @@
}
public void testPredictionsWithDoubleSpaceToPeriod() {
+ mLatinIME.clearPersonalizedDictionariesForTest();
final String WORD_TO_TYPE = "Barack ";
type(WORD_TO_TYPE);
sleep(DELAY_TO_WAIT_FOR_PREDICTIONS);
@@ -516,14 +517,21 @@
suggestedWords.size() > 0 ? suggestedWords.getWord(0) : null);
}
- public void testNoPredictionsAfterPeriod() {
+ public void testPredictionsAfterPeriod() {
+ mLatinIME.clearPersonalizedDictionariesForTest();
final String WORD_TO_TYPE = "Barack. ";
type(WORD_TO_TYPE);
sleep(DELAY_TO_WAIT_FOR_PREDICTIONS);
runMessages();
- // Test the first prediction is not displayed
- final SuggestedWords suggestedWords = mLatinIME.getSuggestedWordsForTest();
- assertEquals("no prediction after period", 0, suggestedWords.size());
+ SuggestedWords suggestedWords = mLatinIME.getSuggestedWordsForTest();
+ assertEquals("No prediction after period after inputting once.", 0, suggestedWords.size());
+
+ type(WORD_TO_TYPE);
+ sleep(DELAY_TO_WAIT_FOR_PREDICTIONS);
+ runMessages();
+ suggestedWords = mLatinIME.getSuggestedWordsForTest();
+ assertEquals("Beginning-of-Sentence prediction after inputting 2 times.", "Barack",
+ suggestedWords.size() > 0 ? suggestedWords.getWord(0) : null);
}
public void testPredictionsAfterRecorrection() {
diff --git a/tests/src/com/android/inputmethod/latin/ShiftModeTests.java b/tests/src/com/android/inputmethod/latin/ShiftModeTests.java
index a319ffd..db3c9ba 100644
--- a/tests/src/com/android/inputmethod/latin/ShiftModeTests.java
+++ b/tests/src/com/android/inputmethod/latin/ShiftModeTests.java
@@ -111,24 +111,16 @@
assertTrue("(Spanish) Auto caps after inverted bang", isCapsModeAutoShifted());
}
- public void DISABLED_testOtherSentenceSeparators() {
- // We only run this test on Kitkat+ because previous versions of Android don't
- // have an Armenian locale. For some reason I don't know, when the requested
- // locale is not present as a device locale, then the application under test can't
- // access the resources in that locale -- though it works when the app is actually
- // running on the device and not under test. If we ever figure out what's going
- // on, remove this test.
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
- changeLanguage("hy-AM");
- assertTrue("(Armenian) Auto caps at start", isCapsModeAutoShifted());
- type("Hey. ");
- assertFalse("(Armenian) No auto-caps after latin period", isCapsModeAutoShifted());
- type("Hey\u0589");
- assertFalse("(Armenian) No auto-caps directly after armenian period",
- isCapsModeAutoShifted());
- type(" ");
- assertTrue("(Armenian) Auto-caps after armenian period-whitespace",
- isCapsModeAutoShifted());
- }
+ public void testOtherSentenceSeparators() {
+ changeLanguage("hy_AM");
+ assertTrue("(Armenian) Auto caps at start", isCapsModeAutoShifted());
+ type("Hey. ");
+ assertFalse("(Armenian) No auto-caps after latin period", isCapsModeAutoShifted());
+ type("Hey\u0589");
+ assertFalse("(Armenian) No auto-caps directly after armenian period",
+ isCapsModeAutoShifted());
+ type(" ");
+ assertTrue("(Armenian) Auto-caps after armenian period-whitespace",
+ isCapsModeAutoShifted());
}
}
diff --git a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
index 4b332ca..406046a 100644
--- a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
+++ b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
@@ -614,7 +614,8 @@
0 /* offset */, file.length(), true /* useFullEditDistance */,
Locale.ENGLISH, dictName, false /* isUpdatable */);
for (final String word : words) {
- final WordProperty wordProperty = binaryDictionary.getWordProperty(word);
+ final WordProperty wordProperty = binaryDictionary.getWordProperty(word,
+ false /* isBeginningOfSentence */);
assertEquals(word, wordProperty.mWord);
assertEquals(UNIGRAM_FREQ, wordProperty.getProbability());
if (shortcuts.containsKey(word)) {
diff --git a/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java b/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java
index 020d632..c746c83 100644
--- a/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java
+++ b/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java
@@ -22,6 +22,7 @@
import android.text.TextUtils;
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
+import com.android.inputmethod.latin.utils.LocaleUtils;
import java.util.Locale;
@@ -109,5 +110,19 @@
allPathsForCaps("Liebe Sara, \n ", c | w | s, sp, false);
allPathsForCaps("Liebe Sara \n ", c | w | s, sp, false);
allPathsForCaps("Liebe Sara.\n ", c | w | s, sp, false);
+
+ // Test armenian period
+ sp = job.runInLocale(res, LocaleUtils.constructLocaleFromString("hy_AM"));
+ assertTrue("Period is not sentence separator in Armenian",
+ !sp.isSentenceSeparator('.'));
+ assertTrue("Sentence separator is Armenian period in Armenian",
+ sp.isSentenceSeparator(0x589));
+ // No space : capitalize only if MODE_CHARACTERS
+ allPathsForCaps("Word", c, sp, false);
+ allPathsForCaps("Word.", c, sp, false);
+ // Space, but no armenian period : capitalize if MODE_WORDS but not SENTENCES
+ allPathsForCaps("Word. ", c | w, sp, false);
+ // Armenian period : capitalize if MODE_SENTENCES
+ allPathsForCaps("Word\u0589 ", c | w | s, sp, false);
}
}