diff options
Diffstat (limited to 'java')
116 files changed, 4768 insertions, 1160 deletions
diff --git a/java/res/layout/dictionary_line.xml b/java/res/layout/dictionary_line.xml index 7268cd468..bb1843d6c 100644 --- a/java/res/layout/dictionary_line.xml +++ b/java/res/layout/dictionary_line.xml @@ -42,7 +42,7 @@ android:orientation="vertical"> <TextView - android:id="@+android:id/title" + android:id="@android:id/title" android:layout_marginLeft="5dip" android:layout_marginStart="5dip" android:layout_width="wrap_content" @@ -59,7 +59,7 @@ android:layout_marginLeft="5dip"> <TextView - android:id="@+android:id/summary" + android:id="@android:id/summary" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" @@ -77,14 +77,14 @@ </LinearLayout> <com.android.inputmethod.dictionarypack.ButtonSwitcher - android:id="@+android:id/wordlist_button_switcher" + android:id="@+id/wordlist_button_switcher" android:layout_weight="0" android:layout_marginStart="13dip" android:layout_marginLeft="13dip" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button - android:id="@+android:id/dict_install_button" + android:id="@+id/dict_install_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|center_vertical" @@ -92,7 +92,7 @@ android:textAppearance="?android:attr/textAppearanceMedium" android:text="@string/install_dict" /> <Button - android:id="@+android:id/dict_cancel_button" + android:id="@+id/dict_cancel_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|center_vertical" @@ -100,7 +100,7 @@ android:textAppearance="?android:attr/textAppearanceMedium" android:text="@string/cancel_download_dict" /> <Button - android:id="@+android:id/dict_delete_button" + android:id="@+id/dict_delete_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|center_vertical" diff --git a/java/res/layout/key_preview.xml b/java/res/layout/key_preview.xml deleted file mode 100644 index 16d4c72c3..000000000 --- a/java/res/layout/key_preview.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2013, 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. -*/ ---> - -<TextView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:minWidth="32dp" - android:gravity="center" - style="?attr/keyPreviewTextViewStyle" -/> diff --git a/java/res/raw/main_es.dict b/java/res/raw/main_es.dict Binary files differindex 83eefe4f6..0911b70f1 100644 --- a/java/res/raw/main_es.dict +++ b/java/res/raw/main_es.dict diff --git a/java/res/values-af/strings-action-keys.xml b/java/res/values-af/strings-action-keys.xml index bef175b16..c7ae3f759 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 000000000..1238a4312 --- /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 09abb5f6c..3b6ba0ad2 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 0367c474a..295c855bd 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 26e45135b..51c253823 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 000000000..5c9486975 --- /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 1b1da01e5..84c3cb0c8 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 b20175738..35eb17cce 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 5dcf4a337..2760fb076 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 000000000..a6569ec94 --- /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 5bbf65571..9b01c75ed 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 cd5e1d4f8..7f0782ddf 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 fe51c79d4..abbdcbe9f 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 b8b02e149..6514e85f3 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 000000000..514bc6cbd --- /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 3956777ea..e209b5494 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 0375ad2bb..75697ad92 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 b8b02e149..6514e85f3 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 000000000..514bc6cbd --- /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 3956777ea..e209b5494 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 0375ad2bb..75697ad92 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 ae393bbf6..859877c89 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 000000000..4687f1be0 --- /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 c70040fae..988dd5cd1 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 0c466c201..bda2756e7 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 052798d02..7f1a28e29 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 000000000..711f68905 --- /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 6f2970795..f7334d9d0 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 160b2ee43..a5babcd61 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 398c081d6..f72a6feeb 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 000000000..1b0e72f42 --- /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 435aaba51..a43b64ec7 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 297048ca5..705121e3f 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 3ad6c3395..5fa92357c 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 000000000..ae3ddabce --- /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 0cf7e7ce4..5d23b09e8 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 7c0026e5e..43dcc6354 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 d6b11b7ce..3ff6d49b1 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-letter-descriptions.xml b/java/res/values-km-rKH/strings-letter-descriptions.xml new file mode 100644 index 000000000..f58eff4d1 --- /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 0f0ac5600..e5b786048 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 91ba5b96f..c55c0367f 100644 --- a/java/res/values-km-rKH/strings.xml +++ b/java/res/values-km-rKH/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-lo-rLA/strings-action-keys.xml b/java/res/values-lo-rLA/strings-action-keys.xml index 239930583..e1cd91367 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-letter-descriptions.xml b/java/res/values-lo-rLA/strings-letter-descriptions.xml new file mode 100644 index 000000000..ecc0b7a71 --- /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 c6140fda9..187b63ae5 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 c8ef7acea..8947a8b30 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 a855386d0..8ebb5bb1f 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 000000000..b8f8d85e3 --- /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 1c1e6e7f3..d2c583e5a 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 bfce751af..67e8b4ef0 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 1b5921f3e..73a6c498f 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 000000000..377b1578f --- /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 91d187ec9..30bbd3fb3 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 7db5ccf6c..212958800 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 bee4b12ea..1a1541529 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 000000000..46cbd1adb --- /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 6e5db4d02..52885c84d 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 628b1a2e1..8e1bb1cb0 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 ffc5be2d6..84e1c3172 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 000000000..e6bba4a8a --- /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 9fde012b3..2cd094ee1 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 f439bd0ff..023193bf6 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 8b71498c1..206fcf0da 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 000000000..1199771a4 --- /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 e4df115ae..80e471052 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 1d146a511..a7fcfd440 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-vi/strings-action-keys.xml b/java/res/values-vi/strings-action-keys.xml index 16b7c959e..3c4060883 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 000000000..74f199f08 --- /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 ad63fa52f..659b1d36f 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 100175f63..d95ff61f7 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 5d60a6cca..fe36678e8 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 000000000..54eb6e5ff --- /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 9f344d8bf..6d3de70a5 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 8e3942f60..c72352dd9 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/attrs.xml b/java/res/values/attrs.xml index a1f478bd5..fcb919d0b 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -26,8 +26,6 @@ <attr name="keyboardViewStyle" format="reference" /> <!-- MainKeyboardView style --> <attr name="mainKeyboardViewStyle" format="reference" /> - <!-- Key preview text view style --> - <attr name="keyPreviewTextViewStyle" format="reference"/> <!-- EmojiPalettesView style --> <attr name="emojiPalettesViewStyle" format="reference" /> <!-- MoreKeysKeyboard style --> @@ -106,8 +104,8 @@ <attr name="longPressShiftLockTimeout" format="integer" /> <!-- Ignore special key timeout while typing in millisecond. --> <attr name="ignoreAltCodeKeyTimeout" format="integer" /> - <!-- Layout resource for key press feedback.--> - <attr name="keyPreviewLayout" format="reference" /> + <!-- Background resource for key press feedback.--> + <attr name="keyPreviewBackground" format="reference" /> <!-- Vertical offset of the key press feedback from the key. --> <attr name="keyPreviewOffset" format="dimension" /> <!-- Height of the key press feedback popup. --> diff --git a/java/res/values/keyboard-themes.xml b/java/res/values/keyboard-themes.xml index a06082c6e..28a34c315 100644 --- a/java/res/values/keyboard-themes.xml +++ b/java/res/values/keyboard-themes.xml @@ -20,13 +20,14 @@ <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- For keyboard color scheme option dialog. --> <string-array name="keyboard_theme_names" translatable="false"> - <!-- TODO: Make this item as translatable string resource. --> - <item>Material</item> - <item>@string/keyboard_color_scheme_white</item> - <item>@string/keyboard_color_scheme_blue</item> + <!-- TODO: Implement Material Light theme. --> + <item>@string/keyboard_theme_material_dark</item> + <item>@string/keyboard_theme_holo_white</item> + <item>@string/keyboard_theme_holo_blue</item> </string-array> <!-- An element must be a keyboard theme id of {@link KeyboardTheme#THEME_ID_*}. --> <string-array name="keyboard_theme_ids" translatable="false"> + <!-- TODO: Implement Material Light theme. --> <item>3</item> <item>2</item> <item>0</item> diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index 884911565..9ec3f469c 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -36,22 +36,18 @@ <!-- Option to control whether or not to show a popup with a larger font on each key press. --> <string name="popup_on_keypress">Popup on keypress</string> - <!-- Category title for general settings for Android keyboard --> - <string name="general_category">General</string> - - <!-- Category title for text prediction --> - <string name="correction_category">Text correction</string> - - <!-- Category title for gesture typing --> - <string name="gesture_typing_category">Gesture typing</string> - - <!-- Category title for misc options --> - <string name="misc_category">Other options</string> - - <!-- Option name for advanced settings screen [CHAR LIMIT=25] --> - <string name="advanced_settings">Advanced settings</string> - <!-- Option summary for advanced settings screen [CHAR LIMIT=65 (two lines) or 30 (fits on one line, preferable)] --> - <string name="advanced_settings_summary">Options for experts</string> + <!-- Settings screen title for input preferences [CHAR LIMIT=25]--> + <string name="settings_screen_input">Input preferences</string> + <!-- Settings screen title for appearance preferences [CHAR LIMIT=25] --> + <string name="settings_screen_appearances">Appearance</string> + <!-- Settings screen title for multi lingual options [CHAR_LIMIT=25] --> + <string name="settings_screen_multi_lingual">Multi lingual options</string> + <!-- Settings screen title for gesture typing preferences [CHAR_LIMIT=25] --> + <string name="settings_screen_gesture">Gesture typing preferences</string> + <!-- Settings screen title for text correction options [CHAR_LIMIT=25] --> + <string name="settings_screen_correction">Text correction</string> + <!-- Settings screen title for advanced settings [CHAR LIMIT=25] --> + <string name="settings_screen_advanced">Advanced</string> <!-- Option name for including other IMEs in the language switch list [CHAR LIMIT=30] --> <string name="include_other_imes_in_language_switch_list">Switch to other input methods</string> @@ -295,12 +291,16 @@ mobile devices. [CHAR LIMIT=25] --> <!-- Description for Emoji keyboard subtype [CHAR LIMIT=25] --> <string name="subtype_emoji">Emoji</string> - <!-- Title of the preference settings for switching keyboard color scheme [CHAR LIMIT=35] --> - <string name="keyboard_color_scheme">Color scheme</string> - <!-- The keyboard color scheme name, White [CHAR LIMIT=16] --> - <string name="keyboard_color_scheme_white">White</string> - <!-- The keyboard color scheme name, Blue [CHAR LIMIT=16] --> - <string name="keyboard_color_scheme_blue">Blue</string> + <!-- Title of the preference settings for switching keyboard theme [CHAR LIMIT=35] --> + <string name="keyboard_theme">Keyboard theme</string> + <!-- The keyboard theme name, Holo White [CHAR LIMIT=25] --> + <string name="keyboard_theme_holo_white">Holo White</string> + <!-- The keyboard theme name, Holo Blue [CHAR LIMIT=25] --> + <string name="keyboard_theme_holo_blue">Holo Blue</string> + <!-- The keyboard theme name, Material Dark [CHAR LIMIT=25] --> + <string name="keyboard_theme_material_dark">Material Dark</string> + <!-- The keyboard theme name, Material Light [CHAR LIMIT=25] --> + <string name="keyboard_theme_material_light">Material Light</string> <!-- Title of the preference settings for custom input styles (language and keyboard layout pairs) [CHAR LIMIT=35]--> <string name="custom_input_styles_title">Custom input styles</string> diff --git a/java/res/values/themes-common.xml b/java/res/values/themes-common.xml index 02a93ca82..2b2a80aed 100644 --- a/java/res/values/themes-common.xml +++ b/java/res/values/themes-common.xml @@ -75,7 +75,6 @@ <item name="keyRepeatInterval">@integer/config_key_repeat_interval</item> <item name="longPressShiftLockTimeout">@integer/config_longpress_shift_lock_timeout</item> <item name="ignoreAltCodeKeyTimeout">@integer/config_ignore_alt_code_key_timeout</item> - <item name="keyPreviewLayout">@layout/key_preview</item> <item name="keyPreviewHeight">@dimen/config_key_preview_height</item> <!-- TODO: consolidate key preview linger timeout with the key preview animation parameters. --> <item name="keyPreviewLingerTimeout">@integer/config_key_preview_linger_timeout</item> @@ -106,7 +105,6 @@ <style name="MainKeyboardView" parent="KeyboardView" /> - <style name="KeyPreviewTextView" /> <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it, for instance delete button, need themed {@link KeyboardView} attributes. --> <style name="EmojiPalettesView" /> diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml index 319b4aeed..073ae90b9 100644 --- a/java/res/values/themes-ics.xml +++ b/java/res/values/themes-ics.xml @@ -23,7 +23,6 @@ <item name="keyboardStyle">@style/Keyboard.ICS</item> <item name="keyboardViewStyle">@style/KeyboardView.ICS</item> <item name="mainKeyboardViewStyle">@style/MainKeyboardView.ICS</item> - <item name="keyPreviewTextViewStyle">@style/KeyPreviewTextView.ICS</item> <item name="emojiPalettesViewStyle">@style/EmojiPalettesView.ICS</item> <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.ICS</item> <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.ICS</item> @@ -66,6 +65,7 @@ name="MainKeyboardView.ICS" parent="KeyboardView.ICS" > + <item name="keyPreviewBackground">@drawable/keyboard_key_feedback_ics</item> <item name="keyPreviewOffset">@dimen/config_key_preview_offset_holo</item> <item name="gestureFloatingPreviewTextColor">@color/highlight_color_ics</item> <item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_holo</item> @@ -75,12 +75,6 @@ <item name="languageOnSpacebarTextShadowRadius">1.0</item> <item name="languageOnSpacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item> </style> - <style - name="KeyPreviewTextView.ICS" - parent="KeyPreviewTextView" - > - <item name="android:background">@drawable/keyboard_key_feedback_ics</item> - </style> <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it, for instance delete button, need themed {@link KeyboardView} attributes. --> <style diff --git a/java/res/values/themes-klp.xml b/java/res/values/themes-klp.xml index 208723dd3..f895de572 100644 --- a/java/res/values/themes-klp.xml +++ b/java/res/values/themes-klp.xml @@ -23,7 +23,6 @@ <item name="keyboardStyle">@style/Keyboard.KLP</item> <item name="keyboardViewStyle">@style/KeyboardView.KLP</item> <item name="mainKeyboardViewStyle">@style/MainKeyboardView.KLP</item> - <item name="keyPreviewTextViewStyle">@style/KeyPreviewTextView.KLP</item> <item name="emojiPalettesViewStyle">@style/EmojiPalettesView.KLP</item> <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.KLP</item> <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.KLP</item> @@ -66,6 +65,7 @@ name="MainKeyboardView.KLP" parent="KeyboardView.KLP" > + <item name="keyPreviewBackground">@drawable/keyboard_key_feedback_klp</item> <item name="keyPreviewOffset">@dimen/config_key_preview_offset_holo</item> <item name="gestureFloatingPreviewTextColor">@color/highlight_color_klp</item> <item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_holo</item> @@ -75,12 +75,6 @@ <item name="languageOnSpacebarTextShadowRadius">1.0</item> <item name="languageOnSpacebarTextShadowColor">@color/spacebar_text_shadow_color_holo</item> </style> - <style - name="KeyPreviewTextView.KLP" - parent="KeyPreviewTextView" - > - <item name="android:background">@drawable/keyboard_key_feedback_klp</item> - </style> <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it, for instance delete button, need themed {@link KeyboardView} attributes. --> <style diff --git a/java/res/values/themes-lxx-dark.xml b/java/res/values/themes-lxx-dark.xml index e9a295c67..1db8f428e 100644 --- a/java/res/values/themes-lxx-dark.xml +++ b/java/res/values/themes-lxx-dark.xml @@ -23,7 +23,6 @@ <item name="keyboardStyle">@style/Keyboard.LXX_Dark</item> <item name="keyboardViewStyle">@style/KeyboardView.LXX_Dark</item> <item name="mainKeyboardViewStyle">@style/MainKeyboardView.LXX_Dark</item> - <item name="keyPreviewTextViewStyle">@style/KeyPreviewTextView.LXX_Dark</item> <item name="emojiPalettesViewStyle">@style/EmojiPalettesView.LXX_Dark</item> <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.LXX_Dark</item> <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.LXX_Dark</item> @@ -67,6 +66,7 @@ name="MainKeyboardView.LXX_Dark" parent="KeyboardView.LXX_Dark" > + <item name="keyPreviewBackground">@drawable/keyboard_key_feedback_lxx_dark</item> <item name="keyPreviewOffset">@dimen/config_key_preview_offset_holo</item> <item name="gestureFloatingPreviewTextColor">@color/highlight_color_lxx_dark</item> <item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_lxx_dark</item> @@ -76,12 +76,6 @@ <!-- A negative value to disable text shadow layer. --> <item name="languageOnSpacebarTextShadowRadius">-1.0</item> </style> - <style - name="KeyPreviewTextView.LXX_Dark" - parent="KeyPreviewTextView" - > - <item name="android:background">@drawable/keyboard_key_feedback_lxx_dark</item> - </style> <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it, for instance delete button, need themed {@link KeyboardView} attributes. --> <style diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml index 0e9c16190..e71d9517c 100644 --- a/java/res/xml/prefs.xml +++ b/java/res/xml/prefs.xml @@ -18,15 +18,21 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" android:key="english_ime_settings"> - <PreferenceCategory - android:title="@string/general_category" - android:key="general_settings"> + <PreferenceScreen + android:title="@string/settings_screen_input" + android:key="screen_input"> <CheckBoxPreference android:key="auto_cap" android:title="@string/auto_cap" android:summary="@string/auto_cap_summary" - android:persistent="true" - android:defaultValue="true" /> + 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:defaultValue="true" + android:persistent="true" /> <CheckBoxPreference android:key="vibrate_on" android:title="@string/vibrate_on_keypress" @@ -40,17 +46,67 @@ <CheckBoxPreference android:key="popup_on" android:title="@string/popup_on_keypress" - android:persistent="true" - android:defaultValue="@bool/config_default_key_preview_popup" /> + android:defaultValue="@bool/config_default_key_preview_popup" + android:persistent="true" /> <CheckBoxPreference android:key="pref_voice_input_key" android:title="@string/voice_input" - android:persistent="true" - android:defaultValue="true" /> - </PreferenceCategory> - <PreferenceCategory - android:title="@string/correction_category" - android:key="correction_settings"> + android:defaultValue="true" + android:persistent="true" /> + </PreferenceScreen> + <ListPreference + android:key="pref_keyboard_theme" + android:title="@string/keyboard_theme" + android:entryValues="@array/keyboard_theme_ids" + android:entries="@array/keyboard_theme_names" + android:persistent="true" /> + <PreferenceScreen + android:title="@string/settings_screen_multi_lingual" + android:key="screen_multi_lingual"> + <CheckBoxPreference + android:key="pref_show_language_switch_key" + android:title="@string/show_language_switch_key" + android:summary="@string/show_language_switch_key_summary" + 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:defaultValue="false" + android:persistent="true" /> + <PreferenceScreen + android:fragment="com.android.inputmethod.latin.settings.AdditionalSubtypeSettings" + android:key="custom_input_styles" + android:title="@string/custom_input_styles_title" /> + </PreferenceScreen> + <PreferenceScreen + android:title="@string/settings_screen_gesture" + android:key="screen_gesture"> + <CheckBoxPreference + android:key="gesture_input" + android:title="@string/gesture_input" + android:summary="@string/gesture_input_summary" + 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:defaultValue="true" + android:persistent="true" /> + <CheckBoxPreference + android:key="pref_gesture_preview_trail" + android:dependency="gesture_input" + android:title="@string/gesture_preview_trail" + android:defaultValue="true" + android:persistent="true" /> + </PreferenceScreen> + <PreferenceScreen + android:title="@string/settings_screen_correction" + android:key="screen_correction"> <PreferenceScreen android:key="edit_personal_dictionary" android:title="@string/edit_personal_dictionary"> @@ -71,137 +127,74 @@ android:key="pref_key_block_potentially_offensive" android:title="@string/prefs_block_potentially_offensive_title" android:summary="@string/prefs_block_potentially_offensive_summary" - 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" /> + 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:persistent="true" - android:defaultValue="true" /> - <!-- title will be set programmatically to embed application name --> - <CheckBoxPreference - android:key="pref_enable_metrics_logging" - android:summary="@string/enable_metrics_logging_summary" - android:persistent="true" - android:defaultValue="true" /> - </PreferenceCategory> - <PreferenceCategory - android:title="@string/gesture_typing_category" - android:key="gesture_typing_settings"> - <CheckBoxPreference - android:key="gesture_input" - android:title="@string/gesture_input" - android:summary="@string/gesture_input_summary" - android:persistent="true" - android:defaultValue="true" /> - <!-- TODO: Move these two options to the advanced settings. --> - <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:persistent="true" - android:defaultValue="true" /> + android:defaultValue="true" + android:persistent="true" /> <CheckBoxPreference - android:key="pref_gesture_preview_trail" - android:dependency="gesture_input" - android:title="@string/gesture_preview_trail" - android:persistent="true" - android:defaultValue="true" /> - </PreferenceCategory> - <PreferenceCategory - android:title="@string/misc_category" - android:key="misc_settings"> + android:key="pref_key_use_contacts_dict" + android:title="@string/use_contacts_dict" + android:summary="@string/use_contacts_dict_summary" + android:defaultValue="true" + android:persistent="true" /> <CheckBoxPreference android:key="next_word_prediction" android:title="@string/bigram_prediction" android:summary="@string/bigram_prediction_summary" - android:persistent="true" - android:defaultValue="true" /> - <PreferenceScreen - android:key="pref_advanced_settings" - android:title="@string/advanced_settings" - android:summary="@string/advanced_settings_summary"> - <CheckBoxPreference - android:key="pref_key_use_contacts_dict" - android:title="@string/use_contacts_dict" - android:summary="@string/use_contacts_dict_summary" - android:persistent="true" - android:defaultValue="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:persistent="true" - android:defaultValue="true" /> - <CheckBoxPreference - android:key="pref_show_language_switch_key" - android:title="@string/show_language_switch_key" - android:summary="@string/show_language_switch_key_summary" - android:persistent="true" - android:defaultValue="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:persistent="true" - android:defaultValue="false" /> - <ListPreference - android:key="pref_keyboard_theme" - android:title="@string/keyboard_color_scheme" - android:persistent="true" - android:entryValues="@array/keyboard_theme_ids" - android:entries="@array/keyboard_theme_names" /> - <PreferenceScreen - android:fragment="com.android.inputmethod.latin.settings.AdditionalSubtypeSettings" - android:key="custom_input_styles" - android:title="@string/custom_input_styles_title" /> - <!-- TODO: consolidate key preview dismiss delay with the key preview animation parameters. --> - <ListPreference - android:key="pref_key_preview_popup_dismiss_delay" - android:title="@string/key_preview_popup_dismiss_delay" /> - <com.android.inputmethod.latin.settings.SeekBarDialogPreference - android:key="pref_vibration_duration_settings" - android:title="@string/prefs_keypress_vibration_duration_settings" - latin:maxValue="@integer/config_max_vibration_duration" /> - <com.android.inputmethod.latin.settings.SeekBarDialogPreference - android:key="pref_keypress_sound_volume" - android:title="@string/prefs_keypress_sound_volume_settings" - latin:maxValue="100" /> <!-- percent --> - <!-- The settigs for showing setup wizard application icon shouldn't be persistent and - the default value is added programmatically. --> - <CheckBoxPreference - android:key="pref_show_setup_wizard_icon" - android:title="@string/show_setup_wizard_icon" - android:summary="@string/show_setup_wizard_icon_summary" /> + android:defaultValue="true" + android:persistent="true" /> </PreferenceScreen> + <PreferenceScreen + android:title="@string/settings_screen_advanced" + android:key="screen_advanced"> + <!-- TODO: consolidate key preview dismiss delay with the key preview animation parameters. --> + <ListPreference + android:key="pref_key_preview_popup_dismiss_delay" + android:title="@string/key_preview_popup_dismiss_delay" /> + <com.android.inputmethod.latin.settings.SeekBarDialogPreference + android:key="pref_vibration_duration_settings" + android:title="@string/prefs_keypress_vibration_duration_settings" + latin:maxValue="@integer/config_max_vibration_duration" /> + <com.android.inputmethod.latin.settings.SeekBarDialogPreference + android:key="pref_keypress_sound_volume" + android:title="@string/prefs_keypress_sound_volume_settings" + latin:maxValue="100" /> <!-- percent --> + <!-- The settigs for showing setup wizard application icon shouldn't be persistent and + the default value is added programmatically. --> + <CheckBoxPreference + android:key="pref_show_setup_wizard_icon" + android:title="@string/show_setup_wizard_icon" + android:summary="@string/show_setup_wizard_icon_summary" /> + <!-- title will be set programmatically to embed application name --> + <CheckBoxPreference + android:key="pref_enable_metrics_logging" + android:summary="@string/enable_metrics_logging_summary" + android:defaultValue="true" + android:persistent="true" /> <PreferenceScreen - android:key="send_feedback" - android:title="@string/send_feedback" /> - <PreferenceScreen - android:key="about_keyboard" /> - <PreferenceScreen - android:key="debug_settings" + android:key="screen_debug" android:title="Debug settings" - android:persistent="true" - android:defaultValue="false" /> - </PreferenceCategory> + 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 0bcc5cbe4..ae29a8a82 100644 --- a/java/res/xml/prefs_for_debug.xml +++ b/java/res/xml/prefs_for_debug.xml @@ -23,19 +23,19 @@ <CheckBoxPreference android:key="debug_mode" android:title="@string/prefs_debug_mode" - android:persistent="true" - android:defaultValue="false" /> + android:defaultValue="false" + android:persistent="true" /> <CheckBoxPreference android:key="force_non_distinct_multitouch" android:title="@string/prefs_force_non_distinct_multitouch" - android:persistent="true" - android:defaultValue="false" /> + 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: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 de67e7f81..3d9501857 100644 --- a/java/res/xml/spell_checker_settings.xml +++ b/java/res/xml/spell_checker_settings.xml @@ -15,11 +15,12 @@ --> <PreferenceScreen - xmlns:android="http://schemas.android.com/apk/res/android"> - <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:persistent="true" - android:defaultValue="true" /> + xmlns:android="http://schemas.android.com/apk/res/android" +> + <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:defaultValue="true" + android:persistent="true" /> </PreferenceScreen> diff --git a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java index d67d9dc4b..3925fc652 100644 --- a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java +++ b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java @@ -305,7 +305,7 @@ public class KeyboardAccessibilityDelegate<KV extends KeyboardView> key.onPressed(); mKeyboardView.invalidateKey(key); final KeyboardAccessibilityNodeProvider provider = getAccessibilityNodeProvider(); - provider.sendAccessibilityEventForKey(key, AccessibilityEventCompat.TYPE_VIEW_HOVER_ENTER); + provider.onHoverEnterTo(key); provider.performActionForKey(key, AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS); } @@ -328,6 +328,6 @@ public class KeyboardAccessibilityDelegate<KV extends KeyboardView> key.onReleased(); mKeyboardView.invalidateKey(key); final KeyboardAccessibilityNodeProvider provider = getAccessibilityNodeProvider(); - provider.sendAccessibilityEventForKey(key, AccessibilityEventCompat.TYPE_VIEW_HOVER_EXIT); + provider.onHoverExitFrom(key); } } diff --git a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java index cb13483f2..61d066af5 100644 --- a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java +++ b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java @@ -65,6 +65,9 @@ final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderC /** The virtual view identifier for the focused node. */ private int mAccessibilityFocusedView = UNDEFINED; + /** The virtual view identifier for the hovering node. */ + private int mHoveringNodeId = UNDEFINED; + /** The current keyboard view. */ private final KeyboardView mKeyboardView; @@ -76,7 +79,6 @@ final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderC mKeyCodeDescriptionMapper = KeyCodeDescriptionMapper.getInstance(); mAccessibilityUtils = AccessibilityUtils.getInstance(); mKeyboardView = keyboardView; - updateParentLocation(); // Since this class is constructed lazily, we might not get a subsequent // call to setKeyboard() and therefore need to call it now. @@ -141,6 +143,28 @@ final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderC return event; } + public void onHoverEnterTo(final Key key) { + final int id = getVirtualViewIdOf(key); + if (id == View.NO_ID) { + return; + } + // Start hovering on the key. Because our accessibility model is lift-to-type, we should + // report the node info without click and long click actions to avoid unnecessary + // announcements. + mHoveringNodeId = id; + // Invalidate the node info of the key. + sendAccessibilityEventForKey(key, AccessibilityEventCompat.TYPE_WINDOW_CONTENT_CHANGED); + sendAccessibilityEventForKey(key, AccessibilityEventCompat.TYPE_VIEW_HOVER_ENTER); + } + + public void onHoverExitFrom(final Key key) { + mHoveringNodeId = UNDEFINED; + // Invalidate the node info of the key to be able to revert the change we have done + // in {@link #onHoverEnterTo(Key)}. + sendAccessibilityEventForKey(key, AccessibilityEventCompat.TYPE_WINDOW_CONTENT_CHANGED); + sendAccessibilityEventForKey(key, AccessibilityEventCompat.TYPE_VIEW_HOVER_EXIT); + } + /** * Returns an {@link AccessibilityNodeInfoCompat} representing a virtual * view, i.e. a descendant of the host View, with the given <code>virtualViewId</code> or @@ -169,10 +193,23 @@ final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderC } if (virtualViewId == View.NO_ID) { // We are requested to create an AccessibilityNodeInfo describing - // this View. Returning an empty info is sufficient for a keyboard. + // this View, i.e. the root of the virtual sub-tree. final AccessibilityNodeInfoCompat rootInfo = AccessibilityNodeInfoCompat.obtain(mKeyboardView); ViewCompat.onInitializeAccessibilityNodeInfo(mKeyboardView, rootInfo); + updateParentLocation(); + + // Add the virtual children of the root View. + final List<Key> sortedKeys = mKeyboard.getSortedKeys(); + final int size = sortedKeys.size(); + for (int index = 0; index < size; index++) { + final Key key = sortedKeys.get(index); + if (key.isSpacer()) { + continue; + } + // Use an index of the sorted keys list as a virtual view id. + rootInfo.addChild(mKeyboardView, index); + } return rootInfo; } @@ -200,9 +237,16 @@ final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderC info.setBoundsInScreen(boundsInScreen); info.setParent(mKeyboardView); info.setSource(mKeyboardView, virtualViewId); - info.setBoundsInScreen(boundsInScreen); - info.setEnabled(true); + info.setEnabled(key.isEnabled()); info.setVisibleToUser(true); + // Don't add ACTION_CLICK and ACTION_LONG_CLOCK actions while hovering on the key. + // See {@link #onHoverEnterTo(Key)} and {@link #onHoverExitFrom(Key)}. + if (virtualViewId != mHoveringNodeId) { + info.addAction(AccessibilityNodeInfoCompat.ACTION_CLICK); + if (key.isLongPressEnabled()) { + info.addAction(AccessibilityNodeInfoCompat.ACTION_LONG_CLICK); + } + } if (mAccessibilityFocusedView == virtualViewId) { info.addAction(AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS); @@ -241,6 +285,12 @@ final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderC sendAccessibilityEventForKey( key, AccessibilityEventCompat.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED); return true; + case AccessibilityNodeInfoCompat.ACTION_CLICK: + sendAccessibilityEventForKey(key, AccessibilityEvent.TYPE_VIEW_CLICKED); + return true; + case AccessibilityNodeInfoCompat.ACTION_LONG_CLICK: + sendAccessibilityEventForKey(key, AccessibilityEvent.TYPE_VIEW_LONG_CLICKED); + return true; default: return false; } diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java index 9a859bfdb..702efb3d7 100644 --- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java @@ -35,7 +35,6 @@ import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.InputMethodSubtype; -import android.widget.TextView; import com.android.inputmethod.accessibility.AccessibilityUtils; import com.android.inputmethod.accessibility.MainKeyboardAccessibilityDelegate; @@ -48,6 +47,7 @@ import com.android.inputmethod.keyboard.internal.KeyDrawParams; import com.android.inputmethod.keyboard.internal.KeyPreviewChoreographer; import com.android.inputmethod.keyboard.internal.KeyPreviewDrawParams; import com.android.inputmethod.keyboard.internal.LanguageOnSpacebarHelper; +import com.android.inputmethod.keyboard.internal.MoreKeySpec; import com.android.inputmethod.keyboard.internal.NonDistinctMultitouchHelper; import com.android.inputmethod.keyboard.internal.SlidingKeyInputDrawingPreview; import com.android.inputmethod.keyboard.internal.TimerHandler; @@ -236,16 +236,14 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack R.styleable.MainKeyboardView_gestureFloatingPreviewTextLingerTimeout, 0); mGestureFloatingTextDrawingPreview = new GestureFloatingTextDrawingPreview( - mDrawingPreviewPlacerView, mainKeyboardViewAttr); - mDrawingPreviewPlacerView.addPreview(mGestureFloatingTextDrawingPreview); + mainKeyboardViewAttr); + mGestureFloatingTextDrawingPreview.setDrawingView(mDrawingPreviewPlacerView); - mGestureTrailsDrawingPreview = new GestureTrailsDrawingPreview( - mDrawingPreviewPlacerView, mainKeyboardViewAttr); - mDrawingPreviewPlacerView.addPreview(mGestureTrailsDrawingPreview); + mGestureTrailsDrawingPreview = new GestureTrailsDrawingPreview(mainKeyboardViewAttr); + mGestureTrailsDrawingPreview.setDrawingView(mDrawingPreviewPlacerView); - mSlidingKeyInputDrawingPreview = new SlidingKeyInputDrawingPreview( - mDrawingPreviewPlacerView, mainKeyboardViewAttr); - mDrawingPreviewPlacerView.addPreview(mSlidingKeyInputDrawingPreview); + mSlidingKeyInputDrawingPreview = new SlidingKeyInputDrawingPreview(mainKeyboardViewAttr); + mSlidingKeyInputDrawingPreview.setDrawingView(mDrawingPreviewPlacerView); mainKeyboardViewAttr.recycle(); mMoreKeysKeyboardContainer = LayoutInflater.from(getContext()) @@ -428,15 +426,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack windowContentView.addView(mDrawingPreviewPlacerView); } - /** - * Returns the enabled state of the key feedback preview - * @return whether or not the key feedback preview is enabled - * @see #setKeyPreviewPopupEnabled(boolean, int) - */ - public boolean isKeyPreviewPopupEnabled() { - return mKeyPreviewDrawParams.isPopupEnabled(); - } - // Implements {@link DrawingHandler.Callbacks} method. @Override public void dismissAllKeyPreviews() { @@ -461,12 +450,9 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack } locatePreviewPlacerView(); - final TextView previewTextView = mKeyPreviewChoreographer.getKeyPreviewTextView( - key, mDrawingPreviewPlacerView); getLocationInWindow(mOriginCoords); - mKeyPreviewChoreographer.placeKeyPreview(key, previewTextView, keyboard.mIconsSet, - mKeyDrawParams, getWidth(), mOriginCoords); - mKeyPreviewChoreographer.showKeyPreview(key, previewTextView, isHardwareAccelerated()); + mKeyPreviewChoreographer.placeAndShowKeyPreview(key, keyboard.mIconsSet, mKeyDrawParams, + getWidth(), mOriginCoords, mDrawingPreviewPlacerView, isHardwareAccelerated()); } // Implements {@link TimerHandler.Callbacks} method. @@ -557,13 +543,25 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack } private MoreKeysPanel onCreateMoreKeysPanel(final Key key, final Context context) { - if (key.getMoreKeys() == null) { + final MoreKeySpec[] moreKeys = key.getMoreKeys(); + if (moreKeys == null) { return null; } Keyboard moreKeysKeyboard = mMoreKeysKeyboardCache.get(key); if (moreKeysKeyboard == null) { - moreKeysKeyboard = new MoreKeysKeyboard.Builder( - context, key, this, mKeyPreviewDrawParams).build(); + // {@link KeyPreviewDrawParams#mPreviewVisibleWidth} should have been set at + // {@link KeyPreviewChoreographer#placeKeyPreview(Key,TextView,KeyboardIconsSet,KeyDrawParams,int,int[]}, + // 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 isSingleMoreKeyWithPreview = mKeyPreviewDrawParams.isPopupEnabled() + && !key.noKeyPreview() && moreKeys.length == 1 + && mKeyPreviewDrawParams.getVisibleWidth() > 0; + final MoreKeysKeyboard.Builder builder = new MoreKeysKeyboard.Builder( + context, key, getKeyboard(), isSingleMoreKeyWithPreview, + mKeyPreviewDrawParams.getVisibleWidth(), + mKeyPreviewDrawParams.getVisibleHeight(), newLabelPaint(key)); + moreKeysKeyboard = builder.build(); mMoreKeysKeyboardCache.put(key, moreKeysKeyboard); } @@ -619,7 +617,8 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack final int[] lastCoords = CoordinateUtils.newInstance(); tracker.getLastCoordinates(lastCoords); - final boolean keyPreviewEnabled = isKeyPreviewPopupEnabled() && !key.noKeyPreview(); + final boolean keyPreviewEnabled = mKeyPreviewDrawParams.isPopupEnabled() + && !key.noKeyPreview(); // The more keys keyboard is usually horizontally aligned with the center of the parent key. // If showMoreKeysKeyboardAtTouchedPoint is true and the key preview is disabled, the more // keys keyboard is placed at the touch point of the parent key. @@ -730,6 +729,7 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack } public void onHideWindow() { + onDismissMoreKeysPanel(); final MainKeyboardAccessibilityDelegate accessibilityDelegate = mAccessibilityDelegate; if (accessibilityDelegate != null) { accessibilityDelegate.onHideWindow(); diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java index a72f79137..e0184d7f1 100644 --- a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java +++ b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java @@ -21,7 +21,6 @@ import android.graphics.Paint; import android.graphics.drawable.Drawable; import com.android.inputmethod.annotations.UsedForTesting; -import com.android.inputmethod.keyboard.internal.KeyPreviewDrawParams; import com.android.inputmethod.keyboard.internal.KeyboardBuilder; import com.android.inputmethod.keyboard.internal.KeyboardIconsSet; import com.android.inputmethod.keyboard.internal.KeyboardParams; @@ -260,33 +259,27 @@ public final class MoreKeysKeyboard extends Keyboard { /** * The builder of MoreKeysKeyboard. * @param context the context of {@link MoreKeysKeyboardView}. - * @param parentKey the {@link Key} that invokes more keys keyboard. - * @param parentKeyboardView the {@link KeyboardView} that contains the parentKey. + * @param key the {@link Key} that invokes more keys keyboard. + * @param keyboard the {@link Keyboard} that contains the parentKey. + * @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 */ - public Builder(final Context context, final Key parentKey, - final MainKeyboardView parentKeyboardView, - final KeyPreviewDrawParams keyPreviewDrawParams) { + public Builder(final Context context, final Key key, final Keyboard keyboard, + final boolean isSingleMoreKeyWithPreview, final int keyPreviewVisibleWidth, + final int keyPreviewVisibleHeight, final Paint paintToMeasure) { super(context, new MoreKeysKeyboardParams()); - final Keyboard parentKeyboard = parentKeyboardView.getKeyboard(); - load(parentKeyboard.mMoreKeysTemplate, parentKeyboard.mId); + load(keyboard.mMoreKeysTemplate, keyboard.mId); // TODO: More keys keyboard's vertical gap is currently calculated heuristically. // Should revise the algorithm. - mParams.mVerticalGap = parentKeyboard.mVerticalGap / 2; - mParentKey = parentKey; - - final MoreKeySpec[] moreKeys = parentKey.getMoreKeys(); - final int width, height; - // {@link KeyPreviewDrawParams#mPreviewVisibleWidth} should have been set at - // {@link MainKeyboardView#showKeyPreview(PointerTracker}, 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 = parentKeyboardView.isKeyPreviewPopupEnabled() - && !parentKey.noKeyPreview() && moreKeys.length == 1 - && keyPreviewDrawParams.getVisibleWidth() > 0; - if (singleMoreKeyWithPreview) { + mParams.mVerticalGap = keyboard.mVerticalGap / 2; + // This {@link MoreKeysKeyboard} is invoked from the <code>key</code>. + mParentKey = key; + + final int keyWidth, rowHeight; + 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 @@ -294,29 +287,28 @@ public final class MoreKeysKeyboard extends Keyboard { // left/right/top paddings. The bottom paddings of both backgrounds don't need to // be considered because the vertical positions of both backgrounds were already // adjusted with their bottom paddings deducted. - width = keyPreviewDrawParams.getVisibleWidth(); - height = keyPreviewDrawParams.getVisibleHeight() + mParams.mVerticalGap; + keyWidth = keyPreviewVisibleWidth; + rowHeight = keyPreviewVisibleHeight + mParams.mVerticalGap; } else { final float padding = context.getResources().getDimension( R.dimen.config_more_keys_keyboard_key_horizontal_padding) - + (parentKey.hasLabelsInMoreKeys() + + (key.hasLabelsInMoreKeys() ? mParams.mDefaultKeyWidth * LABEL_PADDING_RATIO : 0.0f); - width = getMaxKeyWidth(parentKey, mParams.mDefaultKeyWidth, padding, - parentKeyboardView.newLabelPaint(parentKey)); - height = parentKeyboard.mMostCommonKeyHeight; + keyWidth = getMaxKeyWidth(key, mParams.mDefaultKeyWidth, padding, paintToMeasure); + rowHeight = keyboard.mMostCommonKeyHeight; } final int dividerWidth; - if (parentKey.needsDividersInMoreKeys()) { + if (key.needsDividersInMoreKeys()) { mDivider = mResources.getDrawable(R.drawable.more_keys_divider); - dividerWidth = (int)(width * DIVIDER_RATIO); + dividerWidth = (int)(keyWidth * DIVIDER_RATIO); } else { mDivider = null; dividerWidth = 0; } - mParams.setParameters(moreKeys.length, parentKey.getMoreKeysColumn(), - width, height, parentKey.getX() + parentKey.getWidth() / 2, - parentKeyboard.mId.mWidth, parentKey.isFixedColumnOrderMoreKeys(), - dividerWidth); + final MoreKeySpec[] moreKeys = key.getMoreKeys(); + mParams.setParameters(moreKeys.length, key.getMoreKeysColumn(), keyWidth, rowHeight, + key.getX() + key.getWidth() / 2, keyboard.mId.mWidth, + key.isFixedColumnOrderMoreKeys(), dividerWidth); } private static int getMaxKeyWidth(final Key parentKey, final int minKeyWidth, diff --git a/java/src/com/android/inputmethod/keyboard/emoji/EmojiPageKeyboardView.java b/java/src/com/android/inputmethod/keyboard/emoji/EmojiPageKeyboardView.java index a34dbef4b..8010a3e7e 100644 --- a/java/src/com/android/inputmethod/keyboard/emoji/EmojiPageKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/emoji/EmojiPageKeyboardView.java @@ -21,6 +21,7 @@ import android.os.Handler; import android.util.AttributeSet; import android.view.GestureDetector; import android.view.MotionEvent; +import android.view.accessibility.AccessibilityEvent; import com.android.inputmethod.accessibility.AccessibilityUtils; import com.android.inputmethod.accessibility.KeyboardAccessibilityDelegate; @@ -106,6 +107,12 @@ final class EmojiPageKeyboardView extends KeyboardView implements } } + @Override + public boolean dispatchPopulateAccessibilityEvent(final AccessibilityEvent event) { + // Don't populate accessibility event with all Emoji keys. + return true; + } + /** * {@inheritDoc} */ diff --git a/java/src/com/android/inputmethod/keyboard/internal/AbstractDrawingPreview.java b/java/src/com/android/inputmethod/keyboard/internal/AbstractDrawingPreview.java index 3a72aed0d..a194f3dfd 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/AbstractDrawingPreview.java +++ b/java/src/com/android/inputmethod/keyboard/internal/AbstractDrawingPreview.java @@ -27,16 +27,19 @@ import com.android.inputmethod.keyboard.PointerTracker; * SlidingKeyInputDrawingPreview. */ public abstract class AbstractDrawingPreview { - private final View mDrawingView; + private View mDrawingView; private boolean mPreviewEnabled; private boolean mHasValidGeometry; - protected AbstractDrawingPreview(final View drawingView) { + public void setDrawingView(final DrawingPreviewPlacerView drawingView) { mDrawingView = drawingView; + drawingView.addPreview(this); } - protected final View getDrawingView() { - return mDrawingView; + protected void invalidateDrawingView() { + if (mDrawingView != null) { + mDrawingView.invalidate(); + } } protected final boolean isPreviewEnabled() { diff --git a/java/src/com/android/inputmethod/keyboard/internal/DrawingPreviewPlacerView.java b/java/src/com/android/inputmethod/keyboard/internal/DrawingPreviewPlacerView.java index 3b4c43418..a5d47adb3 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/DrawingPreviewPlacerView.java +++ b/java/src/com/android/inputmethod/keyboard/internal/DrawingPreviewPlacerView.java @@ -46,7 +46,9 @@ public final class DrawingPreviewPlacerView extends RelativeLayout { } public void addPreview(final AbstractDrawingPreview preview) { - mPreviews.add(preview); + if (mPreviews.indexOf(preview) < 0) { + mPreviews.add(preview); + } } public void setKeyboardViewGeometry(final int[] originCoords, final int width, diff --git a/java/src/com/android/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java b/java/src/com/android/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java index 2fa703083..fd84856b7 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java +++ b/java/src/com/android/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java @@ -23,7 +23,6 @@ import android.graphics.Paint.Align; import android.graphics.Rect; import android.graphics.RectF; import android.text.TextUtils; -import android.view.View; import com.android.inputmethod.keyboard.PointerTracker; import com.android.inputmethod.latin.R; @@ -49,6 +48,7 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview { public final float mGesturePreviewHorizontalPadding; public final float mGesturePreviewVerticalPadding; public final float mGesturePreviewRoundRadius; + public final int mDisplayWidth; private final int mGesturePreviewTextSize; private final int mGesturePreviewTextColor; @@ -72,6 +72,7 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview { R.styleable.MainKeyboardView_gestureFloatingPreviewVerticalPadding, 0.0f); mGesturePreviewRoundRadius = mainKeyboardViewAttr.getDimension( R.styleable.MainKeyboardView_gestureFloatingPreviewRoundRadius, 0.0f); + mDisplayWidth = mainKeyboardViewAttr.getResources().getDisplayMetrics().widthPixels; final Paint textPaint = getTextPaint(); final Rect textRect = new Rect(); @@ -100,9 +101,8 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview { private SuggestedWords mSuggestedWords = SuggestedWords.EMPTY; private final int[] mLastPointerCoords = CoordinateUtils.newInstance(); - public GestureFloatingTextDrawingPreview(final View drawingView, final TypedArray typedArray) { - super(drawingView); - mParams = new GesturePreviewTextParams(typedArray); + public GestureFloatingTextDrawingPreview(final TypedArray mainKeyboardViewAttr) { + mParams = new GesturePreviewTextParams(mainKeyboardViewAttr); } @Override @@ -149,7 +149,7 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview { */ protected void updatePreviewPosition() { if (mSuggestedWords.isEmpty() || TextUtils.isEmpty(mSuggestedWords.getWord(0))) { - getDrawingView().invalidate(); + invalidateDrawingView(); return; } final String text = mSuggestedWords.getWord(0); @@ -163,10 +163,9 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview { final float rectWidth = textWidth + hPad * 2.0f; final float rectHeight = textHeight + vPad * 2.0f; - final int displayWidth = getDrawingView().getResources().getDisplayMetrics().widthPixels; final float rectX = Math.min( Math.max(CoordinateUtils.x(mLastPointerCoords) - rectWidth / 2.0f, 0.0f), - displayWidth - rectWidth); + mParams.mDisplayWidth - rectWidth); final float rectY = CoordinateUtils.y(mLastPointerCoords) - mParams.mGesturePreviewTextOffset - rectHeight; rectangle.set(rectX, rectY, rectX + rectWidth, rectY + rectHeight); @@ -174,6 +173,6 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview { mPreviewTextX = (int)(rectX + hPad + textWidth / 2.0f); mPreviewTextY = (int)(rectY + vPad) + textHeight; // TODO: Should narrow the invalidate region. - getDrawingView().invalidate(); + invalidateDrawingView(); } } diff --git a/java/src/com/android/inputmethod/keyboard/internal/GestureTrailsDrawingPreview.java b/java/src/com/android/inputmethod/keyboard/internal/GestureTrailsDrawingPreview.java index 72628e38a..f7bd7efe0 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/GestureTrailsDrawingPreview.java +++ b/java/src/com/android/inputmethod/keyboard/internal/GestureTrailsDrawingPreview.java @@ -24,17 +24,15 @@ import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; -import android.os.Message; +import android.os.Handler; import android.util.SparseArray; -import android.view.View; import com.android.inputmethod.keyboard.PointerTracker; -import com.android.inputmethod.latin.utils.LeakGuardHandlerWrapper; /** * Draw preview graphics of multiple gesture trails during gesture input. */ -public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview { +public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview implements Runnable { private final SparseArray<GestureTrailDrawingPoints> mGestureTrails = new SparseArray<>(); private final GestureTrailDrawingParams mDrawingParams; private final Paint mGesturePaint; @@ -47,45 +45,10 @@ public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview { private final Rect mDirtyRect = new Rect(); private final Rect mGestureTrailBoundsRect = new Rect(); // per trail - private final DrawingHandler mDrawingHandler; + private final Handler mDrawingHandler = new Handler(); - private static final class DrawingHandler - extends LeakGuardHandlerWrapper<GestureTrailsDrawingPreview> { - private static final int MSG_UPDATE_GESTURE_TRAIL = 0; - - private final GestureTrailDrawingParams mDrawingParams; - - public DrawingHandler(final GestureTrailsDrawingPreview ownerInstance, - final GestureTrailDrawingParams drawingParams) { - super(ownerInstance); - mDrawingParams = drawingParams; - } - - @Override - public void handleMessage(final Message msg) { - final GestureTrailsDrawingPreview preview = getOwnerInstance(); - if (preview == null) { - return; - } - switch (msg.what) { - case MSG_UPDATE_GESTURE_TRAIL: - preview.getDrawingView().invalidate(); - break; - } - } - - public void postUpdateGestureTrailPreview() { - removeMessages(MSG_UPDATE_GESTURE_TRAIL); - sendMessageDelayed(obtainMessage(MSG_UPDATE_GESTURE_TRAIL), - mDrawingParams.mUpdateInterval); - } - } - - public GestureTrailsDrawingPreview(final View drawingView, - final TypedArray mainKeyboardViewAttr) { - super(drawingView); + public GestureTrailsDrawingPreview(final TypedArray mainKeyboardViewAttr) { mDrawingParams = new GestureTrailDrawingParams(mainKeyboardViewAttr); - mDrawingHandler = new DrawingHandler(this, mDrawingParams); final Paint gesturePaint = new Paint(); gesturePaint.setAntiAlias(true); gesturePaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC)); @@ -153,6 +116,12 @@ public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview { return needsUpdatingGestureTrail; } + @Override + public void run() { + // Update preview. + invalidateDrawingView(); + } + /** * Draws the preview * @param canvas The canvas where the preview is drawn. @@ -167,7 +136,8 @@ public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview { final boolean needsUpdatingGestureTrail = drawGestureTrails( mOffscreenCanvas, mGesturePaint, mDirtyRect); if (needsUpdatingGestureTrail) { - mDrawingHandler.postUpdateGestureTrailPreview(); + mDrawingHandler.removeCallbacks(this); + mDrawingHandler.postDelayed(this, mDrawingParams.mUpdateInterval); } // Transfer offscreen buffer to screen. if (!mDirtyRect.isEmpty()) { @@ -199,6 +169,6 @@ public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview { trail.addStroke(tracker.getGestureStrokeDrawingPoints(), tracker.getDownTime()); // TODO: Should narrow the invalidate region. - getDrawingView().invalidate(); + invalidateDrawingView(); } } diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java b/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java index 605519b02..cd29c8d17 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java @@ -21,17 +21,12 @@ import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.content.Context; -import android.graphics.drawable.Drawable; -import android.util.TypedValue; -import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.animation.AccelerateInterpolator; import android.view.animation.DecelerateInterpolator; -import android.widget.TextView; import com.android.inputmethod.keyboard.Key; -import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.utils.CoordinateUtils; import com.android.inputmethod.latin.utils.ViewLayoutUtils; @@ -46,10 +41,11 @@ import java.util.HashSet; * - how key previews should be shown and dismissed. */ public final class KeyPreviewChoreographer { - // Free {@link TextView} pool that can be used for key preview. - private final ArrayDeque<TextView> mFreeKeyPreviewTextViews = new ArrayDeque<>(); - // Map from {@link Key} to {@link TextView} that is currently being displayed as key preview. - private final HashMap<Key,TextView> mShowingKeyPreviewTextViews = new HashMap<>(); + // Free {@link KeyPreviewView} pool that can be used for key preview. + private final ArrayDeque<KeyPreviewView> mFreeKeyPreviewViews = new ArrayDeque<>(); + // Map from {@link Key} to {@link KeyPreviewView} that is currently being displayed as key + // preview. + private final HashMap<Key,KeyPreviewView> mShowingKeyPreviewViews = new HashMap<>(); private final KeyPreviewDrawParams mParams; @@ -57,32 +53,28 @@ public final class KeyPreviewChoreographer { mParams = params; } - public TextView getKeyPreviewTextView(final Key key, final ViewGroup placerView) { - TextView previewTextView = mShowingKeyPreviewTextViews.remove(key); - if (previewTextView != null) { - return previewTextView; + public KeyPreviewView getKeyPreviewView(final Key key, final ViewGroup placerView) { + KeyPreviewView keyPreviewView = mShowingKeyPreviewViews.remove(key); + if (keyPreviewView != null) { + return keyPreviewView; } - previewTextView = mFreeKeyPreviewTextViews.poll(); - if (previewTextView != null) { - return previewTextView; + keyPreviewView = mFreeKeyPreviewViews.poll(); + if (keyPreviewView != null) { + return keyPreviewView; } final Context context = placerView.getContext(); - if (mParams.mLayoutId != 0) { - previewTextView = (TextView)LayoutInflater.from(context) - .inflate(mParams.mLayoutId, null); - } else { - previewTextView = new TextView(context); - } - placerView.addView(previewTextView, ViewLayoutUtils.newLayoutParam(placerView, 0, 0)); - return previewTextView; + keyPreviewView = new KeyPreviewView(context, null /* attrs */); + keyPreviewView.setBackgroundResource(mParams.mPreviewBackgroundResId); + placerView.addView(keyPreviewView, ViewLayoutUtils.newLayoutParam(placerView, 0, 0)); + return keyPreviewView; } public boolean isShowingKeyPreview(final Key key) { - return mShowingKeyPreviewTextViews.containsKey(key); + return mShowingKeyPreviewViews.containsKey(key); } public void dismissAllKeyPreviews() { - for (final Key key : new HashSet<>(mShowingKeyPreviewTextViews.keySet())) { + for (final Key key : new HashSet<>(mShowingKeyPreviewViews.keySet())) { dismissKeyPreview(key, false /* withAnimation */); } } @@ -91,11 +83,11 @@ public final class KeyPreviewChoreographer { if (key == null) { return; } - final TextView previewTextView = mShowingKeyPreviewTextViews.get(key); - if (previewTextView == null) { + final KeyPreviewView keyPreviewView = mShowingKeyPreviewViews.get(key); + if (keyPreviewView == null) { return; } - final Object tag = previewTextView.getTag(); + final Object tag = keyPreviewView.getTag(); if (withAnimation) { if (tag instanceof KeyPreviewAnimations) { final KeyPreviewAnimations animation = (KeyPreviewAnimations)tag; @@ -104,105 +96,76 @@ public final class KeyPreviewChoreographer { } } // Dismiss preview without animation. - mShowingKeyPreviewTextViews.remove(key); + mShowingKeyPreviewViews.remove(key); if (tag instanceof Animator) { ((Animator)tag).cancel(); } - previewTextView.setTag(null); - previewTextView.setVisibility(View.INVISIBLE); - mFreeKeyPreviewTextViews.add(previewTextView); + keyPreviewView.setTag(null); + keyPreviewView.setVisibility(View.INVISIBLE); + mFreeKeyPreviewViews.add(keyPreviewView); } - // Background state set - private static final int[][][] KEY_PREVIEW_BACKGROUND_STATE_TABLE = { - { // STATE_MIDDLE - {}, - { R.attr.state_has_morekeys } - }, - { // STATE_LEFT - { R.attr.state_left_edge }, - { R.attr.state_left_edge, R.attr.state_has_morekeys } - }, - { // STATE_RIGHT - { R.attr.state_right_edge }, - { R.attr.state_right_edge, R.attr.state_has_morekeys } - } - }; - private static final int STATE_MIDDLE = 0; - private static final int STATE_LEFT = 1; - private static final int STATE_RIGHT = 2; - private static final int STATE_NORMAL = 0; - private static final int STATE_HAS_MOREKEYS = 1; + 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); + placeKeyPreview( + key, keyPreviewView, iconsSet, drawParams, keyboardViewWidth, keyboardOrigin); + showKeyPreview(key, keyPreviewView, withAnimation); + } - public void placeKeyPreview(final Key key, final TextView previewTextView, + private void placeKeyPreview(final Key key, final KeyPreviewView keyPreviewView, final KeyboardIconsSet iconsSet, final KeyDrawParams drawParams, final int keyboardViewWidth, final int[] originCoords) { - previewTextView.setTextColor(drawParams.mPreviewTextColor); - final Drawable background = previewTextView.getBackground(); - final String label = key.getPreviewLabel(); - // What we show as preview should match what we show on a key top in onDraw(). - if (label != null) { - // TODO Should take care of temporaryShiftLabel here. - previewTextView.setCompoundDrawables(null, null, null, null); - previewTextView.setTextSize(TypedValue.COMPLEX_UNIT_PX, - key.selectPreviewTextSize(drawParams)); - previewTextView.setTypeface(key.selectPreviewTypeface(drawParams)); - previewTextView.setText(label); - } else { - previewTextView.setCompoundDrawables(null, null, null, key.getPreviewIcon(iconsSet)); - previewTextView.setText(null); - } - - previewTextView.measure( + keyPreviewView.setPreviewVisual(key, iconsSet, drawParams); + keyPreviewView.measure( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); - mParams.setGeometry(previewTextView); - final int previewWidth = previewTextView.getMeasuredWidth(); + mParams.setGeometry(keyPreviewView); + final int previewWidth = keyPreviewView.getMeasuredWidth(); final int previewHeight = mParams.mPreviewHeight; final int keyDrawWidth = key.getDrawWidth(); // The key preview is horizontally aligned with the center of the visible part of the // parent key. If it doesn't fit in this {@link KeyboardView}, it is moved inward to fit and // the left/right background is used if such background is specified. - final int statePosition; + final int keyPreviewPosition; int previewX = key.getDrawX() - (previewWidth - keyDrawWidth) / 2 + CoordinateUtils.x(originCoords); if (previewX < 0) { previewX = 0; - statePosition = STATE_LEFT; + keyPreviewPosition = KeyPreviewView.POSITION_LEFT; } else if (previewX > keyboardViewWidth - previewWidth) { previewX = keyboardViewWidth - previewWidth; - statePosition = STATE_RIGHT; + keyPreviewPosition = KeyPreviewView.POSITION_RIGHT; } else { - statePosition = STATE_MIDDLE; + keyPreviewPosition = KeyPreviewView.POSITION_MIDDLE; } + final boolean hasMoreKeys = (key.getMoreKeys() != null); + keyPreviewView.setPreviewBackground(hasMoreKeys, keyPreviewPosition); // The key preview is placed vertically above the top edge of the parent key with an // arbitrary offset. final int previewY = key.getY() - previewHeight + mParams.mPreviewOffset + CoordinateUtils.y(originCoords); - if (background != null) { - final int hasMoreKeys = (key.getMoreKeys() != null) ? STATE_HAS_MOREKEYS : STATE_NORMAL; - background.setState(KEY_PREVIEW_BACKGROUND_STATE_TABLE[statePosition][hasMoreKeys]); - } ViewLayoutUtils.placeViewAt( - previewTextView, previewX, previewY, previewWidth, previewHeight); - previewTextView.setPivotX(previewWidth / 2.0f); - previewTextView.setPivotY(previewHeight); + keyPreviewView, previewX, previewY, previewWidth, previewHeight); + keyPreviewView.setPivotX(previewWidth / 2.0f); + keyPreviewView.setPivotY(previewHeight); } - public void showKeyPreview(final Key key, final TextView previewTextView, + private void showKeyPreview(final Key key, final KeyPreviewView keyPreviewView, final boolean withAnimation) { if (!withAnimation) { - previewTextView.setVisibility(View.VISIBLE); - mShowingKeyPreviewTextViews.put(key, previewTextView); + keyPreviewView.setVisibility(View.VISIBLE); + mShowingKeyPreviewViews.put(key, keyPreviewView); return; } // Show preview with animation. - final Animator showUpAnimation = createShowUpAniation(key, previewTextView); - final Animator dismissAnimation = createDismissAnimation(key, previewTextView); + final Animator showUpAnimation = createShowUpAniation(key, keyPreviewView); + final Animator dismissAnimation = createDismissAnimation(key, keyPreviewView); final KeyPreviewAnimations animation = new KeyPreviewAnimations( showUpAnimation, dismissAnimation); - previewTextView.setTag(animation); + keyPreviewView.setTag(animation); animation.startShowUp(); } @@ -212,13 +175,13 @@ public final class KeyPreviewChoreographer { private static final DecelerateInterpolator DECELERATE_INTERPOLATOR = new DecelerateInterpolator(); - private Animator createShowUpAniation(final Key key, final TextView previewTextView) { + private Animator createShowUpAniation(final Key key, final KeyPreviewView keyPreviewView) { // TODO: Optimization for no scale animation and no duration. final ObjectAnimator scaleXAnimation = ObjectAnimator.ofFloat( - previewTextView, View.SCALE_X, mParams.getShowUpStartScale(), + keyPreviewView, View.SCALE_X, mParams.getShowUpStartScale(), KEY_PREVIEW_SHOW_UP_END_SCALE); final ObjectAnimator scaleYAnimation = ObjectAnimator.ofFloat( - previewTextView, View.SCALE_Y, mParams.getShowUpStartScale(), + keyPreviewView, View.SCALE_Y, mParams.getShowUpStartScale(), KEY_PREVIEW_SHOW_UP_END_SCALE); final AnimatorSet showUpAnimation = new AnimatorSet(); showUpAnimation.play(scaleXAnimation).with(scaleYAnimation); @@ -227,18 +190,18 @@ public final class KeyPreviewChoreographer { showUpAnimation.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(final Animator animation) { - showKeyPreview(key, previewTextView, false /* withAnimation */); + showKeyPreview(key, keyPreviewView, false /* withAnimation */); } }); return showUpAnimation; } - private Animator createDismissAnimation(final Key key, final TextView previewTextView) { + private Animator createDismissAnimation(final Key key, final KeyPreviewView keyPreviewView) { // TODO: Optimization for no scale animation and no duration. final ObjectAnimator scaleXAnimation = ObjectAnimator.ofFloat( - previewTextView, View.SCALE_X, mParams.getDismissEndScale()); + keyPreviewView, View.SCALE_X, mParams.getDismissEndScale()); final ObjectAnimator scaleYAnimation = ObjectAnimator.ofFloat( - previewTextView, View.SCALE_Y, mParams.getDismissEndScale()); + keyPreviewView, View.SCALE_Y, mParams.getDismissEndScale()); final AnimatorSet dismissAnimation = new AnimatorSet(); dismissAnimation.play(scaleXAnimation).with(scaleYAnimation); final int dismissDuration = Math.min( diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewDrawParams.java b/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewDrawParams.java index 37e5c889d..68c9831fa 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewDrawParams.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewDrawParams.java @@ -23,9 +23,9 @@ import com.android.inputmethod.latin.R; public final class KeyPreviewDrawParams { // XML attributes of {@link MainKeyboardView}. - public final int mLayoutId; public final int mPreviewOffset; public final int mPreviewHeight; + public final int mPreviewBackgroundResId; private int mShowUpDuration; private int mDismissDuration; private float mShowUpStartScale; @@ -63,13 +63,10 @@ public final class KeyPreviewDrawParams { R.styleable.MainKeyboardView_keyPreviewOffset, 0); mPreviewHeight = mainKeyboardViewAttr.getDimensionPixelSize( R.styleable.MainKeyboardView_keyPreviewHeight, 0); + mPreviewBackgroundResId = mainKeyboardViewAttr.getResourceId( + R.styleable.MainKeyboardView_keyPreviewBackground, 0); mLingerTimeout = mainKeyboardViewAttr.getInt( R.styleable.MainKeyboardView_keyPreviewLingerTimeout, 0); - mLayoutId = mainKeyboardViewAttr.getResourceId( - R.styleable.MainKeyboardView_keyPreviewLayout, 0); - if (mLayoutId == 0) { - mShowPopup = false; - } } public void setVisibleOffset(final int previewVisibleOffset) { diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewView.java b/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewView.java new file mode 100644 index 000000000..360faf829 --- /dev/null +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewView.java @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.inputmethod.keyboard.internal; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.view.Gravity; +import android.widget.TextView; + +import com.android.inputmethod.keyboard.Key; +import com.android.inputmethod.latin.R; + +/** + * The pop up key preview view. + */ +public class KeyPreviewView extends TextView { + public static final int POSITION_MIDDLE = 0; + public static final int POSITION_LEFT = 1; + public static final int POSITION_RIGHT = 2; + + public KeyPreviewView(final Context context, final AttributeSet attrs) { + this(context, attrs, 0); + } + + public KeyPreviewView(final Context context, final AttributeSet attrs, final int defStyleAttr) { + super(context, attrs, defStyleAttr); + setGravity(Gravity.CENTER); + } + + public void setPreviewVisual(final Key key, final KeyboardIconsSet iconsSet, + final KeyDrawParams drawParams) { + // What we show as preview should match what we show on a key top in onDraw(). + final int iconId = key.getIconId(); + if (iconId != KeyboardIconsSet.ICON_UNDEFINED) { + setCompoundDrawables(null, null, null, key.getPreviewIcon(iconsSet)); + setText(null); + return; + } + + setCompoundDrawables(null, null, null, null); + setTextColor(drawParams.mPreviewTextColor); + setTextSize(TypedValue.COMPLEX_UNIT_PX, key.selectPreviewTextSize(drawParams)); + setTypeface(key.selectPreviewTypeface(drawParams)); + // TODO Should take care of temporaryShiftLabel here. + setText(key.getPreviewLabel()); + } + + // Background state set + private static final int[][][] KEY_PREVIEW_BACKGROUND_STATE_TABLE = { + { // POSITION_MIDDLE + {}, + { R.attr.state_has_morekeys } + }, + { // POSITION_LEFT + { R.attr.state_left_edge }, + { R.attr.state_left_edge, R.attr.state_has_morekeys } + }, + { // POSITION_RIGHT + { R.attr.state_right_edge }, + { R.attr.state_right_edge, R.attr.state_has_morekeys } + } + }; + private static final int STATE_NORMAL = 0; + private static final int STATE_HAS_MOREKEYS = 1; + + public void setPreviewBackground(final boolean hasMoreKeys, final int position) { + final Drawable background = getBackground(); + if (background == null) { + return; + } + final int hasMoreKeysState = hasMoreKeys ? STATE_HAS_MOREKEYS : STATE_NORMAL; + background.setState(KEY_PREVIEW_BACKGROUND_STATE_TABLE[position][hasMoreKeysState]); + } +} diff --git a/java/src/com/android/inputmethod/keyboard/internal/SlidingKeyInputDrawingPreview.java b/java/src/com/android/inputmethod/keyboard/internal/SlidingKeyInputDrawingPreview.java index 76cb89160..ef4c74d61 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/SlidingKeyInputDrawingPreview.java +++ b/java/src/com/android/inputmethod/keyboard/internal/SlidingKeyInputDrawingPreview.java @@ -20,7 +20,6 @@ import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; -import android.view.View; import com.android.inputmethod.keyboard.PointerTracker; import com.android.inputmethod.latin.R; @@ -28,6 +27,11 @@ import com.android.inputmethod.latin.utils.CoordinateUtils; /** * Draw rubber band preview graphics during sliding key input. + * + * @attr ref R.styleable#MainKeyboardView_slidingKeyInputPreviewColor + * @attr ref R.styleable#MainKeyboardView_slidingKeyInputPreviewWidth + * @attr ref R.styleable#MainKeyboardView_slidingKeyInputPreviewBodyRatio + * @attr ref R.styleable#MainKeyboardView_slidingKeyInputPreviewShadowRatio */ public final class SlidingKeyInputDrawingPreview extends AbstractDrawingPreview { private final float mPreviewBodyRadius; @@ -40,9 +44,7 @@ public final class SlidingKeyInputDrawingPreview extends AbstractDrawingPreview private final RoundedLine mRoundedLine = new RoundedLine(); private final Paint mPaint = new Paint(); - public SlidingKeyInputDrawingPreview(final View drawingView, - final TypedArray mainKeyboardViewAttr) { - super(drawingView); + public SlidingKeyInputDrawingPreview(final TypedArray mainKeyboardViewAttr) { final int previewColor = mainKeyboardViewAttr.getColor( R.styleable.MainKeyboardView_slidingKeyInputPreviewColor, 0); final float previewRadius = mainKeyboardViewAttr.getDimension( @@ -69,7 +71,7 @@ public final class SlidingKeyInputDrawingPreview extends AbstractDrawingPreview public void dismissSlidingKeyInputPreview() { mShowsSlidingKeyInputPreview = false; - getDrawingView().invalidate(); + invalidateDrawingView(); } /** @@ -99,6 +101,6 @@ public final class SlidingKeyInputDrawingPreview extends AbstractDrawingPreview tracker.getDownCoordinates(mPreviewFrom); tracker.getLastCoordinates(mPreviewTo); mShowsSlidingKeyInputPreview = true; - getDrawingView().invalidate(); + invalidateDrawingView(); } } diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index 543f74fc4..335e52fef 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -28,7 +28,6 @@ import com.android.inputmethod.latin.makedict.FormatSpec; import com.android.inputmethod.latin.makedict.FormatSpec.DictionaryOptions; import com.android.inputmethod.latin.makedict.UnsupportedFormatException; import com.android.inputmethod.latin.makedict.WordProperty; -import com.android.inputmethod.latin.settings.NativeSuggestOptions; import com.android.inputmethod.latin.utils.BinaryDictionaryUtils; import com.android.inputmethod.latin.utils.FileUtils; import com.android.inputmethod.latin.utils.JniUtils; @@ -49,10 +48,6 @@ import java.util.Map; public final class BinaryDictionary extends Dictionary { private static final String TAG = BinaryDictionary.class.getSimpleName(); - // Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h - private static final int MAX_WORD_LENGTH = Constants.DICTIONARY_MAX_WORD_LENGTH; - // Must be equal to MAX_RESULTS in native/jni/src/defines.h - private static final int MAX_RESULTS = 18; // The cutoff returned by native for auto-commit confidence. // Must be equal to CONFIDENCE_TO_AUTO_COMMIT in native/jni/src/defines.h private static final int CONFIDENCE_TO_AUTO_COMMIT = 1000000; @@ -69,11 +64,12 @@ public final class BinaryDictionary extends Dictionary { 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; @@ -88,21 +84,10 @@ public final class BinaryDictionary extends Dictionary { private final Locale mLocale; private final long mDictSize; private final String mDictFilePath; + private final boolean mUseFullEditDistance; private final boolean mIsUpdatable; private boolean mHasUpdated; - private final int[] mInputCodePoints = new int[MAX_WORD_LENGTH]; - private final int[] mOutputSuggestionCount = new int[1]; - private final int[] mOutputCodePoints = new int[MAX_WORD_LENGTH * MAX_RESULTS]; - private final int[] mSpaceIndices = new int[MAX_RESULTS]; - private final int[] mOutputScores = new int[MAX_RESULTS]; - private final int[] mOutputTypes = new int[MAX_RESULTS]; - // Only one result is ever used - private final int[] mOutputAutoCommitFirstWordConfidence = new int[1]; - private final float[] mInputOutputLanguageWeight = new float[1]; - - private final NativeSuggestOptions mNativeSuggestOptions = new NativeSuggestOptions(); - private final SparseArray<DicTraverseSession> mDicTraverseSessions = new SparseArray<>(); // TODO: There should be a way to remove used DicTraverseSession objects from @@ -136,7 +121,7 @@ public final class BinaryDictionary extends Dictionary { mDictFilePath = filename; mIsUpdatable = isUpdatable; mHasUpdated = false; - mNativeSuggestOptions.setUseFullEditDistance(useFullEditDistance); + mUseFullEditDistance = useFullEditDistance; loadDictionary(filename, offset, length, isUpdatable); } @@ -148,7 +133,6 @@ public final class BinaryDictionary extends Dictionary { * @param formatVersion the format version of the dictionary * @param attributeMap the attributes of the dictionary */ - @UsedForTesting public BinaryDictionary(final String filename, final boolean useFullEditDistance, final Locale locale, final String dictType, final long formatVersion, final Map<String, String> attributeMap) { @@ -159,7 +143,7 @@ public final class BinaryDictionary extends Dictionary { // On memory dictionary is always updatable. mIsUpdatable = true; mHasUpdated = false; - mNativeSuggestOptions.setUseFullEditDistance(useFullEditDistance); + mUseFullEditDistance = useFullEditDistance; final String[] keyArray = new String[attributeMap.size()]; final String[] valueArray = new String[attributeMap.size()]; int index = 0; @@ -193,10 +177,12 @@ public final class BinaryDictionary extends Dictionary { private static native int getBigramProbabilityNative(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, @@ -274,8 +260,8 @@ public final class BinaryDictionary extends Dictionary { if (!isValidDictionary()) { return null; } - - Arrays.fill(mInputCodePoints, Constants.NOT_A_CODE); + final DicTraverseSession session = getTraverseSession(sessionId); + Arrays.fill(session.mInputCodePoints, Constants.NOT_A_CODE); // TODO: toLowerCase in the native code final int[] prevWordCodePointArray = (null == prevWordsInfo.mPrevWord) ? null : StringUtils.toCodePointArray(prevWordsInfo.mPrevWord); @@ -284,47 +270,50 @@ public final class BinaryDictionary extends Dictionary { final int inputSize; if (!isGesture) { inputSize = composer.copyCodePointsExceptTrailingSingleQuotesAndReturnCodePointCount( - mInputCodePoints); + session.mInputCodePoints); if (inputSize < 0) { return null; } } else { inputSize = inputPointers.getPointerSize(); } - - mNativeSuggestOptions.setIsGesture(isGesture); - mNativeSuggestOptions.setBlockOffensiveWords(blockOffensiveWords); - mNativeSuggestOptions.setAdditionalFeaturesOptions(additionalFeaturesOptions); + session.mNativeSuggestOptions.setUseFullEditDistance(mUseFullEditDistance); + session.mNativeSuggestOptions.setIsGesture(isGesture); + session.mNativeSuggestOptions.setBlockOffensiveWords(blockOffensiveWords); + session.mNativeSuggestOptions.setAdditionalFeaturesOptions(additionalFeaturesOptions); if (inOutLanguageWeight != null) { - mInputOutputLanguageWeight[0] = inOutLanguageWeight[0]; + session.mInputOutputLanguageWeight[0] = inOutLanguageWeight[0]; } else { - mInputOutputLanguageWeight[0] = Dictionary.NOT_A_LANGUAGE_WEIGHT; + session.mInputOutputLanguageWeight[0] = Dictionary.NOT_A_LANGUAGE_WEIGHT; } // proximityInfo and/or prevWordForBigrams may not be null. getSuggestionsNative(mNativeDict, proximityInfo.getNativeProximityInfo(), getTraverseSession(sessionId).getSession(), inputPointers.getXCoordinates(), inputPointers.getYCoordinates(), inputPointers.getTimes(), - inputPointers.getPointerIds(), mInputCodePoints, inputSize, - mNativeSuggestOptions.getOptions(), prevWordCodePointArray, - prevWordsInfo.mIsBeginningOfSentence, mOutputSuggestionCount, - mOutputCodePoints, mOutputScores, mSpaceIndices, mOutputTypes, - mOutputAutoCommitFirstWordConfidence, mInputOutputLanguageWeight); + inputPointers.getPointerIds(), session.mInputCodePoints, inputSize, + session.mNativeSuggestOptions.getOptions(), prevWordCodePointArray, + prevWordsInfo.mIsBeginningOfSentence, session.mOutputSuggestionCount, + session.mOutputCodePoints, session.mOutputScores, session.mSpaceIndices, + session.mOutputTypes, session.mOutputAutoCommitFirstWordConfidence, + session.mInputOutputLanguageWeight); if (inOutLanguageWeight != null) { - inOutLanguageWeight[0] = mInputOutputLanguageWeight[0]; + inOutLanguageWeight[0] = session.mInputOutputLanguageWeight[0]; } - final int count = mOutputSuggestionCount[0]; + final int count = session.mOutputSuggestionCount[0]; final ArrayList<SuggestedWordInfo> suggestions = new ArrayList<>(); for (int j = 0; j < count; ++j) { - final int start = j * MAX_WORD_LENGTH; + final int start = j * Constants.DICTIONARY_MAX_WORD_LENGTH; int len = 0; - while (len < MAX_WORD_LENGTH && mOutputCodePoints[start + len] != 0) { + while (len < Constants.DICTIONARY_MAX_WORD_LENGTH + && session.mOutputCodePoints[start + len] != 0) { ++len; } if (len > 0) { - suggestions.add(new SuggestedWordInfo(new String(mOutputCodePoints, start, len), - mOutputScores[j], mOutputTypes[j], this /* sourceDict */, - mSpaceIndices[j] /* indexOfTouchPointOfSecondWord */, - mOutputAutoCommitFirstWordConfidence[0])); + suggestions.add(new SuggestedWordInfo( + new String(session.mOutputCodePoints, start, len), + session.mOutputScores[j], session.mOutputTypes[j], this /* sourceDict */, + session.mSpaceIndices[j] /* indexOfTouchPointOfSecondWord */, + session.mOutputAutoCommitFirstWordConfidence[0])); } } return suggestions; @@ -372,12 +361,12 @@ public final class BinaryDictionary extends Dictionary { prevWordsInfo.mIsBeginningOfSentence, codePoints1); } - 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); - final int[] outCodePoints = new int[MAX_WORD_LENGTH]; + final int[] outCodePoints = new int[Constants.DICTIONARY_MAX_WORD_LENGTH]; final boolean[] outFlags = new boolean[FORMAT_WORD_PROPERTY_OUTPUT_FLAG_COUNT]; final int[] outProbabilityInfo = new int[FORMAT_WORD_PROPERTY_OUTPUT_PROBABILITY_INFO_COUNT]; @@ -385,14 +374,15 @@ public final class BinaryDictionary extends Dictionary { 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); } @@ -412,10 +402,13 @@ public final class BinaryDictionary extends Dictionary { * If token is 0, this method newly starts iterating the dictionary. */ public GetNextWordPropertyResult getNextWordProperty(final int token) { - final int[] codePoints = new int[MAX_WORD_LENGTH]; - final int nextToken = getNextWordNative(mNativeDict, token, codePoints); + final int[] codePoints = new int[Constants.DICTIONARY_MAX_WORD_LENGTH]; + 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/DicTraverseSession.java b/java/src/com/android/inputmethod/latin/DicTraverseSession.java index 8d295adee..8bbf426e5 100644 --- a/java/src/com/android/inputmethod/latin/DicTraverseSession.java +++ b/java/src/com/android/inputmethod/latin/DicTraverseSession.java @@ -16,6 +16,7 @@ package com.android.inputmethod.latin; +import com.android.inputmethod.latin.settings.NativeSuggestOptions; import com.android.inputmethod.latin.utils.JniUtils; import java.util.Locale; @@ -24,6 +25,20 @@ public final class DicTraverseSession { static { JniUtils.loadNativeLibrary(); } + // Must be equal to MAX_RESULTS in native/jni/src/defines.h + private static final int MAX_RESULTS = 18; + public final int[] mInputCodePoints = new int[Constants.DICTIONARY_MAX_WORD_LENGTH]; + public final int[] mOutputSuggestionCount = new int[1]; + public final int[] mOutputCodePoints = + new int[Constants.DICTIONARY_MAX_WORD_LENGTH * MAX_RESULTS]; + public final int[] mSpaceIndices = new int[MAX_RESULTS]; + public final int[] mOutputScores = new int[MAX_RESULTS]; + public final int[] mOutputTypes = new int[MAX_RESULTS]; + // Only one result is ever used + public final int[] mOutputAutoCommitFirstWordConfidence = new int[1]; + public final float[] mInputOutputLanguageWeight = new float[1]; + + public final NativeSuggestOptions mNativeSuggestOptions = new NativeSuggestOptions(); private static native long setDicTraverseSessionNative(String locale, long dictSize); private static native void initDicTraverseSessionNative(long nativeDicTraverseSession, diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java index 4a28a242a..304c450ab 100644 --- a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java +++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java @@ -468,20 +468,24 @@ public class DictionaryFacilitator { isValid, timeStampInSeconds, mDistracterFilter); } - public void cancelAddingUserHistory(final PrevWordsInfo prevWordsInfo, - final String committedWord) { - final ExpandableBinaryDictionary userHistoryDictionary = - mDictionaries.getSubDict(Dictionary.TYPE_USER_HISTORY); - if (userHistoryDictionary != null) { - userHistoryDictionary.removeNgramDynamically(prevWordsInfo, committedWord); + private void removeWord(final String dictName, final String word) { + final ExpandableBinaryDictionary dictionary = mDictionaries.getSubDict(dictName); + if (dictionary != null) { + dictionary.removeUnigramEntryDynamically(word); } } + public void removeWordFromPersonalizedDicts(final String word) { + removeWord(Dictionary.TYPE_USER_HISTORY, word); + removeWord(Dictionary.TYPE_PERSONALIZATION, word); + removeWord(Dictionary.TYPE_CONTEXTUAL, word); + } + // TODO: Revise the way to fusion suggestion results. 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); @@ -495,21 +499,13 @@ public class DictionaryFacilitator { 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 b1966bffc..37879cf68 100644 --- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java @@ -122,12 +122,6 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { 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. * @@ -311,6 +305,27 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { } /** + * Dynamically remove the unigram entry from the dictionary. + */ + public void removeUnigramEntryDynamically(final String word) { + reloadDictionaryIfRequired(); + asyncExecuteTaskWithWriteLock(new Runnable() { + @Override + public void run() { + if (mBinaryDictionary == null) { + return; + } + runGCIfRequiredLocked(true /* mindsBlockByGC */); + if (!mBinaryDictionary.removeUnigramEntry(word)) { + if (DEBUG) { + Log.i(TAG, "Cannot remove unigram entry: " + word); + } + } + } + }); + } + + /** * Adds n-gram information of a word to the dictionary. May overwrite an existing entry. */ public void addNgramEntry(final PrevWordsInfo prevWordsInfo, final String word, @@ -341,6 +356,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { /** * Dynamically remove the n-gram entry in the dictionary. */ + @UsedForTesting public void removeNgramDynamically(final PrevWordsInfo prevWordsInfo, final String word) { reloadDictionaryIfRequired(); asyncExecuteTaskWithWriteLock(new Runnable() { @@ -404,10 +420,6 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { if (mBinaryDictionary == null) { return null; } - if (composer.size() == 0 && prevWordsInfo.mIsBeginningOfSentence - && !enableBeginningOfSentencePrediction()) { - return null; - } final ArrayList<SuggestedWordInfo> suggestions = mBinaryDictionary.getSuggestions(composer, prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions, sessionId, diff --git a/java/src/com/android/inputmethod/latin/InputAttributes.java b/java/src/com/android/inputmethod/latin/InputAttributes.java index e1ae3dfe3..ebe436128 100644 --- a/java/src/com/android/inputmethod/latin/InputAttributes.java +++ b/java/src/com/android/inputmethod/latin/InputAttributes.java @@ -41,6 +41,7 @@ public final class InputAttributes { final public boolean mShouldShowSuggestions; final public boolean mApplicationSpecifiedCompletionOn; final public boolean mShouldInsertSpacesAutomatically; + final public boolean mShouldShowVoiceInputKey; final private int mInputType; final private EditorInfo mEditorInfo; final private String mPackageNameForPrivateImeOptions; @@ -74,6 +75,7 @@ public final class InputAttributes { mInputTypeNoAutoCorrect = false; mApplicationSpecifiedCompletionOn = false; mShouldInsertSpacesAutomatically = false; + mShouldShowVoiceInputKey = false; return; } // inputClass == InputType.TYPE_CLASS_TEXT @@ -99,6 +101,12 @@ public final class InputAttributes { mShouldInsertSpacesAutomatically = InputTypeUtils.isAutoSpaceFriendlyType(inputType); + final boolean noMicrophone = mIsPasswordField + || InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS == variation + || InputType.TYPE_TEXT_VARIATION_URI == variation + || hasNoMicrophoneKeyOption(); + mShouldShowVoiceInputKey = !noMicrophone; + // If it's a browser edit field and auto correct is not ON explicitly, then // disable auto correction, but keep suggestions on. // If NO_SUGGESTIONS is set, don't do prediction. @@ -119,7 +127,7 @@ public final class InputAttributes { return editorInfo.inputType == mInputType; } - public boolean hasNoMicrophoneKeyOption() { + private boolean hasNoMicrophoneKeyOption() { @SuppressWarnings("deprecation") final boolean deprecatedNoMicrophone = InputAttributes.inPrivateImeOptions( null, NO_MICROPHONE_COMPAT, mEditorInfo); diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java index 670d856e3..9d03e8a43 100644 --- a/java/src/com/android/inputmethod/latin/Suggest.java +++ b/java/src/com/android/inputmethod/latin/Suggest.java @@ -100,30 +100,43 @@ public final class Suggest { ? 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 @@ public final class Suggest { } } - 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 @@ public final class Suggest { 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 @@ public final class Suggest { 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 @@ public final class Suggest { 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 @@ public final class Suggest { 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 @@ public final class Suggest { 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 @@ public final class Suggest { // 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 72461e17a..f22af7991 100644 --- a/java/src/com/android/inputmethod/latin/SuggestedWords.java +++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java @@ -316,10 +316,6 @@ public class SuggestedWords { return mDebugString; } - public int codePointCount() { - return mCodePointCount; - } - public int codePointAt(int i) { return mWord.codePointAt(i); } @@ -333,23 +329,29 @@ public class SuggestedWords { } } - // 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 de95b9787..4d3f5b50b 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 @@ public final class InputLogic { 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 @@ public final class InputLogic { } } - 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 @@ public final class InputLogic { 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 @@ public final class InputLogic { 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 @@ public final class InputLogic { 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(); @@ -884,6 +885,9 @@ public final class InputLogic { final String rejectedSuggestion = mWordComposer.getTypedWord(); mWordComposer.reset(); mWordComposer.setRejectedBatchModeSuggestion(rejectedSuggestion); + if (!TextUtils.isEmpty(rejectedSuggestion)) { + mDictionaryFacilitator.removeWordFromPersonalizedDicts(rejectedSuggestion); + } } else { mWordComposer.processEvent(inputTransaction.mEvent); } @@ -1005,16 +1009,18 @@ public final class InputLogic { * 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; } /* @@ -1023,8 +1029,8 @@ public final class InputLogic { * @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) { @@ -1065,37 +1071,42 @@ public final class InputLogic { * 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; @@ -1187,6 +1198,8 @@ public final class InputLogic { Log.w(TAG, "Called updateSuggestionsOrPredictions but suggestions were not " + "requested!"); } + // Clear the suggestions strip. + mSuggestionStripViewAccessor.showSuggestionStrip(SuggestedWords.EMPTY); return; } @@ -1363,7 +1376,6 @@ public final class InputLogic { * @param inputTransaction The transaction in progress. */ private void revertCommit(final InputTransaction inputTransaction) { - final PrevWordsInfo prevWordsInfo = mLastComposedWord.mPrevWordsInfo; final CharSequence originallyTypedWord = mLastComposedWord.mTypedWord; final CharSequence committedWord = mLastComposedWord.mCommittedWord; final String committedWordString = committedWord.toString(); @@ -1385,8 +1397,8 @@ public final class InputLogic { } } mConnection.deleteSurroundingText(deleteLength, 0); - if (!TextUtils.isEmpty(prevWordsInfo.mPrevWord) && !TextUtils.isEmpty(committedWord)) { - mDictionaryFacilitator.cancelAddingUserHistory(prevWordsInfo, committedWordString); + if (!TextUtils.isEmpty(committedWord)) { + mDictionaryFacilitator.removeWordFromPersonalizedDicts(committedWordString); } final String stringToCommit = originallyTypedWord + mLastComposedWord.mSeparatorString; final SpannableString textToCommit = new SpannableString(stringToCommit); diff --git a/java/src/com/android/inputmethod/latin/makedict/WordProperty.java b/java/src/com/android/inputmethod/latin/makedict/WordProperty.java index 31cb59756..cd78e2235 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 @@ public final class WordProperty implements Comparable<WordProperty> { // 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 @@ public final class WordProperty implements Comparable<WordProperty> { 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 a96018fe9..ac55b9333 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 @@ public class ContextualDictionary extends ExpandableBinaryDictionary { } @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/settings/DebugSettings.java b/java/src/com/android/inputmethod/latin/settings/DebugSettings.java index 845ddb377..c17e86892 100644 --- a/java/src/com/android/inputmethod/latin/settings/DebugSettings.java +++ b/java/src/com/android/inputmethod/latin/settings/DebugSettings.java @@ -21,14 +21,13 @@ import android.content.SharedPreferences; import android.content.res.Resources; import android.os.Bundle; import android.os.Process; -import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceFragment; import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; +import android.preference.TwoStatePreference; -import com.android.inputmethod.latin.Dictionary; import com.android.inputmethod.latin.DictionaryDumpBroadcastReceiver; import com.android.inputmethod.latin.DictionaryFacilitator; import com.android.inputmethod.latin.R; @@ -57,7 +56,7 @@ public final class DebugSettings extends PreferenceFragment public static final String PREF_KEY_LONGPRESS_TIMEOUT = "pref_key_longpress_timeout"; private boolean mServiceNeedsRestart = false; - private CheckBoxPreference mDebugMode; + private TwoStatePreference mDebugMode; @Override public void onCreate(Bundle icicle) { @@ -107,7 +106,7 @@ public final class DebugSettings extends PreferenceFragment res, R.fraction.config_key_preview_dismiss_end_scale)); mServiceNeedsRestart = false; - mDebugMode = (CheckBoxPreference) findPreference(PREF_DEBUG_MODE); + mDebugMode = (TwoStatePreference) findPreference(PREF_DEBUG_MODE); updateDebugMode(); } diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java index 235847799..fb1a210bb 100644 --- a/java/src/com/android/inputmethod/latin/settings/Settings.java +++ b/java/src/com/android/inputmethod/latin/settings/Settings.java @@ -39,8 +39,14 @@ import java.util.concurrent.locks.ReentrantLock; public final class Settings implements SharedPreferences.OnSharedPreferenceChangeListener { private static final String TAG = Settings.class.getSimpleName(); + // Settings screens + public static final String SCREEN_INPUT = "screen_input"; + public static final String SCREEN_MULTI_LINGUAL = "screen_multi_lingual"; + public static final String SCREEN_GESTURE = "screen_gesture"; + public static final String SCREEN_CORRECTION = "screen_correction"; + public static final String SCREEN_ADVANCED = "screen_advanced"; + public static final String SCREEN_DEBUG = "screen_debug"; // In the same order as xml/prefs.xml - public static final String PREF_GENERAL_SETTINGS = "general_settings"; public static final String PREF_AUTO_CAP = "auto_cap"; public static final String PREF_VIBRATE_ON = "vibrate_on"; public static final String PREF_SOUND_ON = "sound_on"; @@ -48,13 +54,10 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang // PREF_VOICE_MODE_OBSOLETE is obsolete. Use PREF_VOICE_INPUT_KEY instead. public static final String PREF_VOICE_MODE_OBSOLETE = "voice_mode"; public static final String PREF_VOICE_INPUT_KEY = "pref_voice_input_key"; - public static final String PREF_CORRECTION_SETTINGS = "correction_settings"; public static final String PREF_EDIT_PERSONAL_DICTIONARY = "edit_personal_dictionary"; public static final String PREF_CONFIGURE_DICTIONARIES_KEY = "configure_dictionaries_key"; public static final String PREF_AUTO_CORRECTION_THRESHOLD = "auto_correction_threshold"; public static final String PREF_SHOW_SUGGESTIONS_SETTING = "show_suggestions_setting"; - public static final String PREF_MISC_SETTINGS = "misc_settings"; - public static final String PREF_ADVANCED_SETTINGS = "pref_advanced_settings"; public static final String PREF_KEY_USE_CONTACTS_DICT = "pref_key_use_contacts_dict"; public static final String PREF_KEY_USE_PERSONALIZED_DICTS = "pref_key_use_personalized_dicts"; public static final String PREF_KEY_USE_DOUBLE_SPACE_PERIOD = @@ -75,7 +78,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang public static final String PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY = "pref_key_preview_popup_dismiss_delay"; public static final String PREF_BIGRAM_PREDICTIONS = "next_word_prediction"; - public static final String PREF_GESTURE_SETTINGS = "gesture_typing_settings"; public static final String PREF_GESTURE_INPUT = "gesture_input"; public static final String PREF_VIBRATION_DURATION_SETTINGS = "pref_vibration_duration_settings"; @@ -89,7 +91,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang public static final String PREF_INPUT_LANGUAGE = "input_language"; public static final String PREF_SELECTED_LANGUAGES = "selected_languages"; - public static final String PREF_DEBUG_SETTINGS = "debug_settings"; public static final String PREF_KEY_IS_INTERNAL = "pref_key_is_internal"; public static final String PREF_ENABLE_METRICS_LOGGING = "pref_enable_metrics_logging"; @@ -105,8 +106,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang "pref_last_used_personalization_dict_wiped_time"; private static final String PREF_CORPUS_HANDLES_FOR_PERSONALIZATION = "pref_corpus_handles_for_personalization"; - public static final String PREF_SEND_FEEDBACK = "send_feedback"; - public static final String PREF_ABOUT_KEYBOARD = "about_keyboard"; // Emoji public static final String PREF_EMOJI_RECENT_KEYS = "emoji_recent_keys"; diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java index 5eb0377c7..689f878be 100644 --- a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java +++ b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java @@ -27,13 +27,15 @@ import android.content.res.Resources; import android.media.AudioManager; import android.os.Build; import android.os.Bundle; -import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; -import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; +import android.preference.TwoStatePreference; import android.util.Log; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.inputmethod.InputMethodSubtype; import com.android.inputmethod.dictionarypack.DictionarySettingsActivity; @@ -61,6 +63,10 @@ public final class SettingsFragment extends InputMethodSettingsFragment DBG_USE_INTERNAL_PERSONAL_DICTIONARY_SETTINGS || Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN_MR2; + private static final int NO_MENU_GROUP = Menu.NONE; // We don't care about menu grouping. + private static final int MENU_FEEDBACK = Menu.FIRST; // The first menu item id and order. + private static final int MENU_ABOUT = Menu.FIRST + 1; // The second menu item id and order. + private void setPreferenceEnabled(final String preferenceKey, final boolean enabled) { final Preference preference = findPreference(preferenceKey); if (preference != null) { @@ -93,6 +99,7 @@ public final class SettingsFragment extends InputMethodSettingsFragment @Override public void onCreate(final Bundle icicle) { super.onCreate(icicle); + setHasOptionsMenu(true); setInputMethodSettingsCategoryTitle(R.string.language_selection_title); setSubtypeEnablerTitle(R.string.select_language); addPreferencesFromResource(R.xml.prefs); @@ -117,66 +124,48 @@ public final class SettingsFragment extends InputMethodSettingsFragment ensureConsistencyOfAutoCorrectionSettings(); - final PreferenceGroup generalSettings = - (PreferenceGroup) findPreference(Settings.PREF_GENERAL_SETTINGS); - final PreferenceGroup miscSettings = - (PreferenceGroup) findPreference(Settings.PREF_MISC_SETTINGS); - - final Preference debugSettings = findPreference(Settings.PREF_DEBUG_SETTINGS); - if (debugSettings != null) { - if (Settings.isInternal(prefs)) { - final Intent debugSettingsIntent = new Intent(Intent.ACTION_MAIN); - debugSettingsIntent.setClassName( - context.getPackageName(), DebugSettingsActivity.class.getName()); - debugSettings.setIntent(debugSettingsIntent); - } else { - miscSettings.removePreference(debugSettings); - } - } - - final Preference feedbackSettings = findPreference(Settings.PREF_SEND_FEEDBACK); - final Preference aboutSettings = findPreference(Settings.PREF_ABOUT_KEYBOARD); - if (feedbackSettings != null) { - if (FeedbackUtils.isFeedbackFormSupported()) { - feedbackSettings.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(final Preference pref) { - FeedbackUtils.showFeedbackForm(getActivity()); - return true; - } - }); - aboutSettings.setTitle(FeedbackUtils.getAboutKeyboardTitleResId()); - aboutSettings.setIntent(FeedbackUtils.getAboutKeyboardIntent(getActivity())); - } else { - miscSettings.removePreference(feedbackSettings); - miscSettings.removePreference(aboutSettings); - } + 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 PreferenceScreen debugScreen = + (PreferenceScreen) findPreference(Settings.SCREEN_DEBUG); + + if (Settings.isInternal(prefs)) { + final Intent debugSettingsIntent = new Intent(Intent.ACTION_MAIN); + debugSettingsIntent.setClassName( + context.getPackageName(), DebugSettingsActivity.class.getName()); + debugScreen.setIntent(debugSettingsIntent); + } else { + advancedScreen.removePreference(debugScreen); } final boolean showVoiceKeyOption = res.getBoolean( R.bool.config_enable_show_voice_key_option); if (!showVoiceKeyOption) { - removePreference(Settings.PREF_VOICE_INPUT_KEY, generalSettings); + removePreference(Settings.PREF_VOICE_INPUT_KEY, inputScreen); } - final PreferenceGroup advancedSettings = - (PreferenceGroup) findPreference(Settings.PREF_ADVANCED_SETTINGS); if (!AudioAndHapticFeedbackManager.getInstance().hasVibrator()) { - removePreference(Settings.PREF_VIBRATE_ON, generalSettings); - removePreference(Settings.PREF_VIBRATION_DURATION_SETTINGS, advancedSettings); + removePreference(Settings.PREF_VIBRATE_ON, inputScreen); + removePreference(Settings.PREF_VIBRATION_DURATION_SETTINGS, advancedScreen); } if (!Settings.ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS) { + removePreference(Settings.PREF_SHOW_LANGUAGE_SWITCH_KEY, multiLingualScreen); removePreference( - Settings.PREF_SHOW_LANGUAGE_SWITCH_KEY, advancedSettings); - removePreference( - Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST, advancedSettings); + Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST, multiLingualScreen); } - // TODO: consolidate key preview dismiss delay with the key preview animation parameters. if (!Settings.readFromBuildConfigIfToShowKeyPreviewPopupOption(res)) { - removePreference(Settings.PREF_POPUP_ON, generalSettings); - removePreference(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY, advancedSettings); + removePreference(Settings.PREF_POPUP_ON, inputScreen); + removePreference(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY, advancedScreen); } else { // TODO: Cleanup this setup. final ListPreference keyPreviewPopupDismissDelay = @@ -199,18 +188,16 @@ public final class SettingsFragment extends InputMethodSettingsFragment } if (!res.getBoolean(R.bool.config_setup_wizard_available)) { - removePreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON, advancedSettings); + removePreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON, advancedScreen); } - final PreferenceGroup textCorrectionGroup = - (PreferenceGroup) findPreference(Settings.PREF_CORRECTION_SETTINGS); final PreferenceScreen dictionaryLink = (PreferenceScreen) findPreference(Settings.PREF_CONFIGURE_DICTIONARIES_KEY); final Intent intent = dictionaryLink.getIntent(); intent.setClassName(context.getPackageName(), DictionarySettingsActivity.class.getName()); final int number = context.getPackageManager().queryIntentActivities(intent, 0).size(); if (0 >= number) { - textCorrectionGroup.removePreference(dictionaryLink); + correctionScreen.removePreference(dictionaryLink); } if (ProductionFlag.IS_METRICS_LOGGING_SUPPORTED) { @@ -224,7 +211,7 @@ public final class SettingsFragment extends InputMethodSettingsFragment enableMetricsLogging.setTitle(enableMetricsLoggingTitle); } } else { - removePreference(Settings.PREF_ENABLE_METRICS_LOGGING, textCorrectionGroup); + removePreference(Settings.PREF_ENABLE_METRICS_LOGGING, advancedScreen); } final Preference editPersonalDictionary = @@ -238,7 +225,7 @@ public final class SettingsFragment extends InputMethodSettingsFragment } if (!Settings.readFromBuildConfigIfGestureInputEnabled(res)) { - removePreference(Settings.PREF_GESTURE_SETTINGS, getPreferenceScreen()); + getPreferenceScreen().removePreference(gestureScreen); } AdditionalFeaturesSettingUtils.addAdditionalFeaturesPreferences(context, this); @@ -261,8 +248,8 @@ public final class SettingsFragment extends InputMethodSettingsFragment voiceInputKeyOption.setSummary(isShortcutImeEnabled ? null : res.getText(R.string.voice_input_disabled_summary)); } - final CheckBoxPreference showSetupWizardIcon = - (CheckBoxPreference)findPreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON); + final TwoStatePreference showSetupWizardIcon = + (TwoStatePreference)findPreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON); if (showSetupWizardIcon != null) { showSetupWizardIcon.setChecked(Settings.readShowSetupWizardIcon(prefs, getActivity())); } @@ -476,4 +463,33 @@ public final class SettingsFragment extends InputMethodSettingsFragment userDictionaryPreference.setFragment(UserDictionaryList.class.getName()); } } + + @Override + public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) { + if (FeedbackUtils.isFeedbackFormSupported()) { + menu.add(NO_MENU_GROUP, MENU_FEEDBACK /* itemId */, MENU_FEEDBACK /* order */, + R.string.send_feedback); + } + final int aboutResId = FeedbackUtils.getAboutKeyboardTitleResId(); + if (aboutResId != 0) { + menu.add(NO_MENU_GROUP, MENU_ABOUT /* itemId */, MENU_ABOUT /* order */, aboutResId); + } + } + + @Override + public boolean onOptionsItemSelected(final MenuItem item) { + final int itemId = item.getItemId(); + if (itemId == MENU_FEEDBACK) { + FeedbackUtils.showFeedbackForm(getActivity()); + return true; + } + if (itemId == MENU_ABOUT) { + 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/settings/SettingsValues.java b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java index 44104019b..8de5fed07 100644 --- a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java +++ b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java @@ -125,8 +125,7 @@ public final class SettingsValues { mSlidingKeyInputPreviewEnabled = prefs.getBoolean( DebugSettings.PREF_SLIDING_KEY_INPUT_PREVIEW, true); mShowsVoiceInputKey = needsToShowVoiceInputKey(prefs, res) - && !mInputAttributes.mIsPasswordField - && !mInputAttributes.hasNoMicrophoneKeyOption() + && mInputAttributes.mShouldShowVoiceInputKey && SubtypeSwitcher.getInstance().isShortcutImeEnabled(); final String autoCorrectionThresholdRawValue = prefs.getString( Settings.PREF_AUTO_CORRECTION_THRESHOLD, diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java index 19b48f081..ad5aad747 100644 --- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java +++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java @@ -44,10 +44,12 @@ import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; +import com.android.inputmethod.accessibility.AccessibilityUtils; import com.android.inputmethod.latin.LatinImeLogger; 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; @@ -249,8 +251,8 @@ final class SuggestionStripLayoutHelper { 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) { @@ -386,6 +388,12 @@ final class SuggestionStripLayoutHelper { final float scaleX = getTextScaleX(word, width, wordView.getPaint()); wordView.setText(text); // TextView.setText() resets text scale x to 1.0. wordView.setTextScaleX(Math.max(scaleX, MIN_TEXT_XSCALE)); + // A <code>wordView</code> should be disabled when <code>word</code> is empty in order to + // make it unclickable. + // With accessibility touch exploration on, <code>wordView</code> should be enabled even + // when it is empty to avoid announcing as "disabled". + wordView.setEnabled(!TextUtils.isEmpty(word) + || AccessibilityUtils.getInstance().isTouchExplorationEnabled()); return wordView; } diff --git a/java/src/com/android/inputmethod/latin/utils/CombinedFormatUtils.java b/java/src/com/android/inputmethod/latin/utils/CombinedFormatUtils.java index c66007537..34f59e8bc 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 class CombinedFormatUtils { 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 @@ public class CombinedFormatUtils { 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 0b362c48a..5c109a68c 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 @@ import java.util.TreeSet; */ 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 @@ public final class SuggestionResults extends TreeSet<SuggestedWordInfo> { super(comparator); mLocale = locale; mCapacity = capacity; + if (ProductionFlag.INCLUDE_RAW_SUGGESTIONS) { + mRawSuggestions = new ArrayList<>(); + } else { + mRawSuggestions = null; + } } @Override |