aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.bp39
-rw-r--r--Android.mk16
-rw-r--r--MODULE_LICENSE_APACHE2 (renamed from java/MODULE_LICENSE_APACHE2)0
-rw-r--r--NOTICE192
-rw-r--r--OWNERS6
-rw-r--r--common/Android.bp21
-rw-r--r--common/Android.mk28
-rw-r--r--java-overridable/Android.bp18
-rw-r--r--java/Android.bp46
-rw-r--r--java/Android.mk46
-rw-r--r--java/res/values-ar/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-ar/strings-talkback-descriptions.xml4
-rw-r--r--java/res/values-ar/strings.xml30
-rw-r--r--java/res/values-as/strings-action-keys.xml31
-rw-r--r--java/res/values-as/strings-appname.xml27
-rw-r--r--java/res/values-as/strings-config-important-notice.xml24
-rw-r--r--java/res/values-as/strings-emoji-descriptions.xml1756
-rw-r--r--java/res/values-as/strings-letter-descriptions.xml208
-rw-r--r--java/res/values-as/strings-talkback-descriptions.xml102
-rw-r--r--java/res/values-as/strings.xml219
-rw-r--r--java/res/values-b+sr+Latn/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-bn/strings-talkback-descriptions.xml4
-rw-r--r--java/res/values-bn/strings.xml12
-rw-r--r--java/res/values-bs/strings.xml14
-rw-r--r--java/res/values-ca/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-ca/strings.xml2
-rw-r--r--java/res/values-cs/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-da/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-da/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-da/strings.xml2
-rw-r--r--java/res/values-de/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-de/strings-letter-descriptions.xml2
-rw-r--r--java/res/values-de/strings-talkback-descriptions.xml4
-rw-r--r--java/res/values-en-rAU/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-en-rCA/strings-emoji-descriptions.xml4
-rw-r--r--java/res/values-en-rGB/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-en-rIN/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-es-rUS/strings.xml2
-rw-r--r--java/res/values-es/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-es/strings.xml6
-rw-r--r--java/res/values-et/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-et/strings.xml2
-rw-r--r--java/res/values-eu/strings-emoji-descriptions.xml44
-rw-r--r--java/res/values-eu/strings.xml2
-rw-r--r--java/res/values-fa/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-fa/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-fr-rCA/strings.xml4
-rw-r--r--java/res/values-fr/strings.xml2
-rw-r--r--java/res/values-gl/strings.xml2
-rw-r--r--java/res/values-hi/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-hi/strings.xml2
-rw-r--r--java/res/values-hr/strings.xml2
-rw-r--r--java/res/values-hy/strings.xml10
-rw-r--r--java/res/values-in/strings-emoji-descriptions.xml6
-rw-r--r--java/res/values-in/strings.xml18
-rw-r--r--java/res/values-it/strings.xml4
-rw-r--r--java/res/values-ja/strings.xml4
-rw-r--r--java/res/values-kk/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-kk/strings.xml10
-rw-r--r--java/res/values-km/strings.xml4
-rw-r--r--java/res/values-kn/strings.xml2
-rw-r--r--java/res/values-ko/strings.xml2
-rw-r--r--java/res/values-ky/strings.xml8
-rw-r--r--java/res/values-lo/strings.xml6
-rw-r--r--java/res/values-mk/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-ml/strings.xml2
-rw-r--r--java/res/values-mn/strings.xml4
-rw-r--r--java/res/values-mr/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-mr/strings.xml48
-rw-r--r--java/res/values-my/strings.xml8
-rw-r--r--java/res/values-ne/strings-emoji-descriptions.xml6
-rw-r--r--java/res/values-ne/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-ne/strings.xml6
-rw-r--r--java/res/values-nl/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-nl/strings.xml2
-rw-r--r--java/res/values-pa/strings.xml6
-rw-r--r--java/res/values-pl/strings.xml2
-rw-r--r--java/res/values-pt/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-pt/strings.xml18
-rw-r--r--java/res/values-ru/strings-emoji-descriptions.xml4
-rw-r--r--java/res/values-ru/strings.xml4
-rw-r--r--java/res/values-sq/strings.xml2
-rw-r--r--java/res/values-sr/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-sw/strings-config-important-notice.xml2
-rw-r--r--java/res/values-sw/strings.xml10
-rw-r--r--java/res/values-ta/strings.xml4
-rw-r--r--java/res/values-te/strings.xml8
-rw-r--r--java/res/values-th/strings.xml2
-rw-r--r--java/res/values-tl/strings-emoji-descriptions.xml6
-rw-r--r--java/res/values-tl/strings.xml6
-rw-r--r--java/res/values-tr/strings.xml6
-rw-r--r--java/res/values-uz/strings-action-keys.xml2
-rw-r--r--java/res/values-uz/strings-talkback-descriptions.xml6
-rw-r--r--java/res/values-uz/strings.xml6
-rw-r--r--java/res/values-vi/strings.xml4
-rw-r--r--java/res/values-zh-rHK/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-zh-rHK/strings.xml6
-rw-r--r--java/res/values-zh-rTW/strings-config-important-notice.xml2
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/FormatSpec.java3
-rw-r--r--native/Android.mk1
-rw-r--r--native/dicttoolkit/Android.bp94
-rw-r--r--native/dicttoolkit/Android.mk66
-rw-r--r--native/dicttoolkit/CleanupNativeFileList.mk17
-rw-r--r--native/dicttoolkit/NativeFileList.mk44
-rw-r--r--native/dicttoolkit/UnitTests.mk65
-rw-r--r--native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.cpp2
-rw-r--r--native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.h2
-rw-r--r--native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict_pt_node.h2
-rw-r--r--native/dicttoolkit/tests/offdevice_intermediate_dict/offdevice_intermediate_dict_test.cpp2
-rw-r--r--native/jni/Android.bp213
-rw-r--r--native/jni/Android.mk103
-rw-r--r--native/jni/Application.mk1
-rw-r--r--native/jni/CleanupNativeFileList.mk19
-rw-r--r--native/jni/HostUnitTests.mk63
-rw-r--r--native/jni/NativeFileList.mk146
-rw-r--r--native/jni/TargetUnitTests.mk50
-rw-r--r--native/jni/src/dictionary/structure/v4/ver4_patricia_trie_policy.cpp4
-rw-r--r--native/jni/src/dictionary/utils/binary_dictionary_bigrams_iterator.h2
-rw-r--r--native/jni/src/dictionary/utils/binary_dictionary_shortcut_iterator.h2
-rw-r--r--native/jni/tests/dictionary/structure/v4/content/language_model_dict_content_test.cpp2
-rw-r--r--tests/Android.bp44
-rw-r--r--tests/Android.mk46
-rw-r--r--tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java677
-rw-r--r--tests/src/com/android/inputmethod/latin/makedict/BinaryDictUtils.java80
-rw-r--r--tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java279
-rw-r--r--tests/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java133
-rw-r--r--tools/Android.mk15
-rw-r--r--tools/dicttool/Android.bp32
-rw-r--r--tools/dicttool/Android.mk87
-rw-r--r--tools/dicttool/NativeLib.mk46
-rw-r--r--tools/dicttool/compat/com/android/inputmethod/latin/define/JniLibName.java2
-rw-r--r--tools/dicttool/etc/Android.mk19
-rwxr-xr-xtools/dicttool/etc/dicttool_aosp67
-rwxr-xr-xtools/dicttool/etc/makedict_aosp18
-rw-r--r--tools/dicttool/etc/manifest.txt1
-rw-r--r--tools/dicttool/src/com/android/inputmethod/latin/dicttool/CombinedInputOutput.java25
-rw-r--r--tools/dicttool/src/com/android/inputmethod/latin/dicttool/Diff.java3
-rw-r--r--tools/dicttool/src/com/android/inputmethod/latin/dicttool/Info.java20
-rw-r--r--tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java14
-rw-r--r--tools/dicttool/tests/com/android/inputmethod/latin/makedict/BinaryDictEncoderFlattenTreeTests.java10
-rw-r--r--tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java2
-rw-r--r--tools/make-keyboard-text/Android.bp22
-rw-r--r--tools/make-keyboard-text/Android.mk25
-rw-r--r--tools/make-keyboard-text/etc/Android.mk20
-rwxr-xr-xtools/make-keyboard-text/etc/make-keyboard-text63
-rw-r--r--tools/make-keyboard-text/etc/manifest.txt1
146 files changed, 2148 insertions, 3733 deletions
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 000000000..05598467c
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,39 @@
+// Copyright (C) 2018 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.
+
+filegroup {
+ name: "dicttool_deps",
+ srcs: [
+ "java/src/com/android/inputmethod/latin/makedict/**/*.java",
+
+ // Dependencies for Dicttool. Most of these files are needed by BinaryDictionary.java. Note that
+ // a significant part of the dependencies are mocked in the compat/ directory, with empty or
+ // nearly-empty implementations, for parts that we don't use in Dicttool.
+ "java/src/com/android/inputmethod/latin/BinaryDictionary.java",
+ "java/src/com/android/inputmethod/latin/DicTraverseSession.java",
+ "java/src/com/android/inputmethod/latin/Dictionary.java",
+ "java/src/com/android/inputmethod/latin/NgramContext.java",
+ "java/src/com/android/inputmethod/latin/SuggestedWords.java",
+ "java/src/com/android/inputmethod/latin/settings/SettingsValuesForSuggestion.java",
+ "java/src/com/android/inputmethod/latin/utils/BinaryDictionaryUtils.java",
+ "java/src/com/android/inputmethod/latin/utils/CombinedFormatUtils.java",
+ "java/src/com/android/inputmethod/latin/utils/JniUtils.java",
+
+ "java-overridable/src/com/android/inputmethod/latin/define/DebugFlags.java",
+ "java-overridable/src/com/android/inputmethod/latin/define/DecoderSpecificConstants.java",
+
+ "tests/src/com/android/inputmethod/latin/utils/ByteArrayDictBuffer.java",
+ "tests/src/com/android/inputmethod/latin/makedict/**/*.java",
+ ],
+}
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 17eeba8f0..000000000
--- a/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (C) 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.
-
-subdirs := common native java tests tools
-include $(call all-named-subdir-makefiles, $(subdirs))
diff --git a/java/MODULE_LICENSE_APACHE2 b/MODULE_LICENSE_APACHE2
index e69de29bb..e69de29bb 100644
--- a/java/MODULE_LICENSE_APACHE2
+++ b/MODULE_LICENSE_APACHE2
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 000000000..aa325547e
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,192 @@
+
+ Copyright (c) 2008, 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.
+
+ 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.
+
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+
+Includes Dictionaries © Lexiteria LLC. Used by permission.
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 000000000..3d485186b
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,6 @@
+# Recommended reviewers for general changes.
+# takaoka@google.com
+# yukawa@google.com
+#
+# Recommended reviewers for non-trivial build rule changes.
+# dwillemsen@google.com
diff --git a/common/Android.bp b/common/Android.bp
new file mode 100644
index 000000000..925eef7fd
--- /dev/null
+++ b/common/Android.bp
@@ -0,0 +1,21 @@
+// 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.
+
+java_library {
+ name: "latinime-common",
+ host_supported: true,
+ srcs: ["src/**/*.java"],
+ static_libs: ["jsr305"],
+ sdk_version: "21",
+}
diff --git a/common/Android.mk b/common/Android.mk
deleted file mode 100644
index 132a22358..000000000
--- a/common/Android.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_MODULE := latinime-common
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_STATIC_JAVA_LIBRARIES := jsr305
-LOCAL_SDK_VERSION := 21
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-# Also build a host side library
-include $(CLEAR_VARS)
-LOCAL_MODULE := latinime-common-host
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_STATIC_JAVA_LIBRARIES := jsr305lib
-include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/java-overridable/Android.bp b/java-overridable/Android.bp
new file mode 100644
index 000000000..88de2446d
--- /dev/null
+++ b/java-overridable/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2018 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.
+
+filegroup {
+ name: "LatinIME_java-overridable",
+ srcs: ["src/**/*.java"],
+}
diff --git a/java/Android.bp b/java/Android.bp
new file mode 100644
index 000000000..8681c8414
--- /dev/null
+++ b/java/Android.bp
@@ -0,0 +1,46 @@
+// Copyright (C) 2011 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.
+
+android_app {
+ name: "LatinIME",
+
+ srcs: [
+ "src/**/*.java",
+ ":LatinIME_java-overridable",
+ ],
+
+ certificate: "shared",
+
+ jni_libs: ["libjni_latinime"],
+
+ static_libs: [
+ "android-common",
+ "inputmethod-common",
+ "jsr305",
+ "latinime-common",
+ "android-support-v4",
+ ],
+
+ // Do not compress dictionary files to mmap dict data runtime
+ aaptflags: ["-0 .dict"],
+
+ // Include all the resources regardless of system supported locales
+ aapt_include_all_resources: true,
+
+ sdk_version: "current",
+
+ optimize: {
+ proguard_flags_files: ["proguard.flags"],
+ },
+}
diff --git a/java/Android.mk b/java/Android.mk
deleted file mode 100644
index 154f3a20c..000000000
--- a/java/Android.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (C) 2011 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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src ../java-overridable/src)
-
-LOCAL_PACKAGE_NAME := LatinIME
-
-LOCAL_CERTIFICATE := shared
-
-LOCAL_JNI_SHARED_LIBRARIES := libjni_latinime
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
- android-common inputmethod-common jsr305 latinime-common
-
-LOCAL_STATIC_ANDROID_LIBRARIES := \
- android-support-v4
-
-LOCAL_USE_AAPT2 := true
-
-# Do not compress dictionary files to mmap dict data runtime
-LOCAL_AAPT_FLAGS := -0 .dict
-
-# Include all the resources regardless of system supported locales
-LOCAL_AAPT_INCLUDE_ALL_RESOURCES := true
-
-LOCAL_SDK_VERSION := current
-
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags
-
-include $(BUILD_PACKAGE)
diff --git a/java/res/values-ar/strings-emoji-descriptions.xml b/java/res/values-ar/strings-emoji-descriptions.xml
index 03d0aca7d..b314d2418 100644
--- a/java/res/values-ar/strings-emoji-descriptions.xml
+++ b/java/res/values-ar/strings-emoji-descriptions.xml
@@ -1109,7 +1109,7 @@
<string name="spoken_emoji_1F68E" msgid="6234042976027309654">"حافلة ترولي"</string>
<string name="spoken_emoji_1F68F" msgid="5871099334672012107">"موقف حافلات"</string>
<string name="spoken_emoji_1F690" msgid="8080964620200195262">"حافلة صغيرة"</string>
- <string name="spoken_emoji_1F691" msgid="999173032408730501">"إسعاف"</string>
+ <string name="spoken_emoji_1F691" msgid="999173032408730501">"سيارة إسعاف"</string>
<string name="spoken_emoji_1F692" msgid="1712863785341849487">"سيارة إطفاء"</string>
<string name="spoken_emoji_1F693" msgid="7987109037389768934">"سيارة شرطة"</string>
<string name="spoken_emoji_1F694" msgid="6061658916653884608">"سيارة شرطة عن قرب"</string>
diff --git a/java/res/values-ar/strings-talkback-descriptions.xml b/java/res/values-ar/strings-talkback-descriptions.xml
index e5bc479b3..a17f34067 100644
--- a/java/res/values-ar/strings-talkback-descriptions.xml
+++ b/java/res/values-ar/strings-talkback-descriptions.xml
@@ -47,8 +47,8 @@
<string name="spoken_description_language_switch" msgid="6818666779313544553">"تبديل اللغة"</string>
<string name="spoken_description_action_next" msgid="431761808119616962">"التالي"</string>
<string name="spoken_description_action_previous" msgid="2919072174697865110">"السابق"</string>
- <string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"‏تم تفعيل Shift"</string>
- <string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"‏تم تفعيل Caps lock"</string>
+ <string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"‏تم تمكين Shift"</string>
+ <string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"‏تم تمكين Caps lock"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"وضع الرموز"</string>
<string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"المزيد من وضع الرموز"</string>
<string name="spoken_description_mode_alpha" msgid="4676004119618778911">"وضع الأحرف"</string>
diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml
index 8b76c5110..bab2b7ba7 100644
--- a/java/res/values-ar/strings.xml
+++ b/java/res/values-ar/strings.xml
@@ -33,7 +33,7 @@
<string name="settings_screen_correction" msgid="1616818407747682955">"تصحيح النص"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"الإعدادات المتقدمة"</string>
<string name="settings_screen_theme" msgid="2137262503543943871">"المظهر"</string>
- <string name="enable_split_keyboard" msgid="4177264923999493614">"هل تريد تفعيل لوحة المفاتيح المقسمة"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"هل تريد تمكين لوحة المفاتيح المقسمة"</string>
<string name="cloud_sync_title" msgid="8579271074443847055">"‏مزامنة لوحة مفاتيح Google"</string>
<string name="cloud_sync_summary" msgid="7684887161145650857">"تم تشغيل المزامنة"</string>
<string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"يمكنك مزامنة قاموسك الشخصي على جميع الأجهزة"</string>
@@ -49,18 +49,18 @@
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"التبديل إلى أسلوب إدخال آخر"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"يغطي مفتاح تبديل اللغات أساليب الإدخال الأخرى أيضًا"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"مفتاح تبديل اللغة"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"يظهر عندما يتم تفعيل لغات الإدخال متعددة"</string>
+ <string name="show_language_switch_key_summary" msgid="7343403647474265713">"يظهر عندما يتم تمكين لغات الإدخال متعددة"</string>
<string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"تأخير إزالة النافذة المنبثقة الأساسية"</string>
<string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"بلا تأخير"</string>
<string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"تلقائي"</string>
<string name="abbreviation_unit_milliseconds" msgid="8700286094028323363">"<xliff:g id="MILLISECONDS">%s</xliff:g> مللي ثانية"</string>
- <string name="settings_system_default" msgid="6268225104743331821">"الإعداد التلقائي للنظام"</string>
+ <string name="settings_system_default" msgid="6268225104743331821">"الإعداد الافتراضي للنظام"</string>
<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>
<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="use_double_space_period_summary" msgid="6532892187247952799">"يؤدي النقر نقرًا مزدوجًا على مفتاح المسافة إلى إدخال نقطة متبوعة بمسافة"</string>
<string name="auto_cap" msgid="1719746674854628252">"أحرف كبيرة تلقائيًا"</string>
<string name="auto_cap_summary" msgid="7934452761022946874">"كتابة الحرف الأول من كل جملة بحرف كبير."</string>
<string name="edit_personal_dictionary" msgid="3996910038952940420">"القاموس الشخصي"</string>
@@ -78,7 +78,7 @@
<string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"شديد الصرامة"</string>
<string name="bigram_prediction" msgid="1084449187723948550">"اقتراحات الكلمات التالية"</string>
<string name="bigram_prediction_summary" msgid="3896362682751109677">"استخدام الكلمة السابقة في تقديم الاقتراحات"</string>
- <string name="gesture_input" msgid="826951152254563827">"تفعيل الكتابة بالإيماءة"</string>
+ <string name="gesture_input" msgid="826951152254563827">"تمكين الكتابة بالإيماءة"</string>
<string name="gesture_input_summary" msgid="9180350639305731231">"إدخال كلمة من خلال التمرير على الأحرف"</string>
<string name="gesture_preview_trail" msgid="3802333369335722221">"عرض مسار الإيماءة"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"معاينة نصوص متحركة ديناميكية"</string>
@@ -86,7 +86,7 @@
<string name="gesture_space_aware" msgid="2078291600664682496">"عبارة الإيماء"</string>
<string name="gesture_space_aware_summary" msgid="4371385818348528538">"إدخال مسافات خلال الإيماءات من خلال تمرير مفتاح المسافة"</string>
<string name="voice_input" msgid="3583258583521397548">"مفتاح الإدخال الصوتي"</string>
- <string name="voice_input_disabled_summary" msgid="6323489602945135165">"لم يتم تفعيل أي أساليب إدخال صوتي. تحقق من إعدادات اللغات والإدخال."</string>
+ <string name="voice_input_disabled_summary" msgid="6323489602945135165">"لم يتم تمكين أي أساليب إدخال صوتي. تحقق من إعدادات اللغات والإدخال."</string>
<string name="configure_input_method" msgid="373356270290742459">"تهيئة طرق الإدخال"</string>
<string name="language_selection_title" msgid="3666971864764478269">"اللغات"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"المساعدة والتعليقات"</string>
@@ -130,25 +130,25 @@
<string name="save" msgid="7646738597196767214">"حفظ"</string>
<string name="subtype_locale" msgid="8576443440738143764">"اللغة"</string>
<string name="keyboard_layout_set" msgid="4309233698194565609">"التخطيط"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"يجب تفعيل نمط الإدخال المخصص قبل استخدامه. هل تريد تفعيله الآن؟"</string>
- <string name="enable" msgid="5031294444630523247">"تفعيل"</string>
+ <string name="custom_input_style_note_message" msgid="8826731320846363423">"يجب تمكين نمط الإدخال المخصص قبل استخدامه. هل تريد تمكينه الآن؟"</string>
+ <string name="enable" msgid="5031294444630523247">"تمكين"</string>
<string name="not_now" msgid="6172462888202790482">"ليس الآن"</string>
<string name="custom_input_style_already_exists" msgid="8008728952215449707">"نمط الإدخال ذاته موجود من قبل: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
<string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"مدة اهتزاز الضغط على المفاتيح"</string>
<string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"مستوى صوت الضغط على المفاتيح"</string>
- <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"مهلة الضغط الطويل على المفاتيح"</string>
+ <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"تأخير الضغط الطويل للمفاتيح"</string>
<string name="prefs_enable_emoji_alt_physical_key" msgid="5963640002335470112">"الرموز التعبيرية للوحة مفاتيح فعلية"</string>
<string name="prefs_enable_emoji_alt_physical_key_summary" msgid="5259484820941627827">"‏مفتاح Alt الفعلي يعرض لوحة الرموز التعبيرية"</string>
- <string name="button_default" msgid="3988017840431881491">"التلقائية"</string>
+ <string name="button_default" msgid="3988017840431881491">"الافتراضية"</string>
<string name="setup_welcome_title" msgid="6112821709832031715">"أهلاً بك في <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="setup_welcome_additional_description" msgid="8150252008545768953">"مع الكتابة بالإشارة"</string>
<string name="setup_start_action" msgid="8936036460897347708">"بدء الاستخدام"</string>
<string name="setup_next_action" msgid="371821437915144603">"الخطوة التالية"</string>
<string name="setup_steps_title" msgid="6400373034871816182">"إعداد <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
- <string name="setup_step1_title" msgid="3147967630253462315">"تفعيل <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
+ <string name="setup_step1_title" msgid="3147967630253462315">"تمكين <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="setup_step1_instruction" msgid="4295448056733329661">"يُرجى تحديد \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" من خلال إعدادات اللغات والإدخال؛ وذلك للسماح بتشغيل هذا التطبيق على جهازك."</string>
- <string name="setup_step1_finished_instruction" msgid="8701441895377434947">"تم تفعيل <xliff:g id="APPLICATION_NAME">%s</xliff:g> من قبل في إعدادات اللغات والإدخال، وبالتالي هذه الخطوة مكتملة. انتقل إلى الخطوة التالية."</string>
- <string name="setup_step1_action" msgid="4366513534999901728">"تفعيل في الإعدادات"</string>
+ <string name="setup_step1_finished_instruction" msgid="8701441895377434947">"تم تمكين <xliff:g id="APPLICATION_NAME">%s</xliff:g> من قبل في إعدادات اللغات والإدخال، وبالتالي هذه الخطوة مكتملة. انتقل إلى الخطوة التالية."</string>
+ <string name="setup_step1_action" msgid="4366513534999901728">"تمكين في الإعدادات"</string>
<string name="setup_step2_title" msgid="6860725447906690594">"التبديل إلى <xliff:g id="APPLICATION_NAME">%s</xliff:g>."</string>
<string name="setup_step2_instruction" msgid="9141481964870023336">"بعد ذلك، حدد \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" باعتباره أسلوب إدخال النص النشط."</string>
<string name="setup_step2_action" msgid="1660330307159824337">"تبديل أساليب الإدخال"</string>
@@ -170,7 +170,7 @@
<string name="dictionary_available" msgid="4728975345815214218">"القاموس متاح"</string>
<string name="dictionary_downloading" msgid="2982650524622620983">"يتم حاليًا التنزيل"</string>
<string name="dictionary_installed" msgid="8081558343559342962">"تم التثبيت"</string>
- <string name="dictionary_disabled" msgid="8950383219564621762">"مثبت، غير مفعّل"</string>
+ <string name="dictionary_disabled" msgid="8950383219564621762">"مثبت، معطل"</string>
<string name="cannot_connect_to_dict_service" msgid="9216933695765732398">"مشكلة في الاتصال بخدمة القاموس"</string>
<string name="no_dictionaries_available" msgid="8039920716566132611">"لا تتوفر أي قواميس"</string>
<string name="check_for_updates_now" msgid="8087688440916388581">"تحديث"</string>
@@ -204,7 +204,7 @@
<string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"تعديل كلمة"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"تعديل"</string>
<string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"حذف"</string>
- <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"ليس هناك أي كلمات في قاموس المستخدم. لإضافة كلمة، انقر على زر الإضافة (+)."</string>
+ <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"لا تتوفر أي كلمات في قاموس المستخدم، ولإضافة كلمة، انقر على زر الإضافة (+)."</string>
<string name="user_dict_settings_all_languages" msgid="8276126583216298886">"لجميع اللغات"</string>
<string name="user_dict_settings_more_languages" msgid="7131268499685180461">"مزيد من اللغات..."</string>
<string name="user_dict_settings_delete" msgid="110413335187193859">"حذف"</string>
diff --git a/java/res/values-as/strings-action-keys.xml b/java/res/values-as/strings-action-keys.xml
deleted file mode 100644
index af96ea8e6..000000000
--- a/java/res/values-as/strings-action-keys.xml
+++ /dev/null
@@ -1,31 +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.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="label_go_key" msgid="4033615332628671065">"যাওক"</string>
- <string name="label_next_key" msgid="5586407279258592635">"পৰৱৰ্তী"</string>
- <string name="label_previous_key" msgid="1421141755779895275">"আগৰ"</string>
- <string name="label_done_key" msgid="7564866296502630852">"হ\'ল"</string>
- <string name="label_send_key" msgid="482252074224462163">"পঠিয়াওক"</string>
- <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-as/strings-appname.xml b/java/res/values-as/strings-appname.xml
deleted file mode 100644
index 8874600db..000000000
--- a/java/res/values-as/strings-appname.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.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_name" msgid="5940510615957428904">"Android কীব\'ৰ্ড (AOSP)"</string>
- <string name="spell_checker_service_name" msgid="1254221805440242662">"Android বানান পৰীক্ষক (AOSP)"</string>
- <string name="english_ime_settings" msgid="5760361067176802794">"Android কীব\'ৰ্ডৰ ছেটিংসমূহ (AOSP)"</string>
- <string name="android_spell_checker_settings" msgid="6123949487832861885">"Android বানান পৰীক্ষকৰ ছেটিংসমূহ (AOSP)"</string>
-</resources>
diff --git a/java/res/values-as/strings-config-important-notice.xml b/java/res/values-as/strings-config-important-notice.xml
deleted file mode 100644
index 3af48f311..000000000
--- a/java/res/values-as/strings-config-important-notice.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2014, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="use_personalized_dicts_summary" msgid="590432261305469627">"পৰামৰ্শাৱলী উন্নত কৰিবলৈ যোগাযোগ পদ্ধতিসমূহৰ পৰা আৰু টাইপ কৰা ডেটাৰ পৰা শিকক"</string>
-</resources>
diff --git a/java/res/values-as/strings-emoji-descriptions.xml b/java/res/values-as/strings-emoji-descriptions.xml
deleted file mode 100644
index a844c46e3..000000000
--- a/java/res/values-as/strings-emoji-descriptions.xml
+++ /dev/null
@@ -1,1756 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2014, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<!--
- These Emoji symbols are unsupported by TTS.
- TODO: Remove this file when TTS/TalkBack support these Emoji symbols.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="spoken_emoji_00A9" msgid="2859822817116803638">"স্বত্বাধিকাৰৰ চিহ্ন"</string>
- <string name="spoken_emoji_00AE" msgid="7708335454134589027">"পঞ্জীকৃত চিহ্ন"</string>
- <string name="spoken_emoji_203C" msgid="153340916701508663">"দ্বৈত ভাৱবোধক চিহ্ন"</string>
- <string name="spoken_emoji_2049" msgid="4877256448299555371">"ভাৱবোধক আৰু প্ৰশ্নবোধক চিহ্ন"</string>
- <string name="spoken_emoji_2122" msgid="9188440722954720429">"ট্ৰেড মাৰ্কৰ চিহ্ন"</string>
- <string name="spoken_emoji_2139" msgid="9114342638917304327">"তথ্যৰ উৎস"</string>
- <string name="spoken_emoji_2194" msgid="8055202727034946680">"সোঁ আৰু বাওঁ উভয় দিশ নির্দেশ কৰা কাঁড়ৰ চিহ্ন"</string>
- <string name="spoken_emoji_2195" msgid="8028122253301087407">"ওপৰ তল উভয় দিশ নিদের্শ কৰা কাঁড়ৰ চিহ্ন"</string>
- <string name="spoken_emoji_2196" msgid="4019164898967854363">"উত্তৰ-পশ্চিমমুৱা কাঁড়"</string>
- <string name="spoken_emoji_2197" msgid="4255723717709017801">"উত্তৰ-পূবমুৱা কাঁড়"</string>
- <string name="spoken_emoji_2198" msgid="1452063451313622090">"দক্ষিণ-পূবমুৱা কাঁড়"</string>
- <string name="spoken_emoji_2199" msgid="6942722693368807849">"দক্ষিণ-পশ্চিমমুৱা কাঁড়"</string>
- <string name="spoken_emoji_21A9" msgid="5204750172335111188">"হুক সহ বাওঁমুৱা কাঁড়"</string>
- <string name="spoken_emoji_21AA" msgid="3950259884359247006">"সোঁফালে নির্দেশ কৰা হুক থকা কাঁড়ৰ চিহ্ন"</string>
- <string name="spoken_emoji_231A" msgid="6751448803233874993">"হাতঘড়ী"</string>
- <string name="spoken_emoji_231B" msgid="5956428809948426182">"বালি-ঘড়ী"</string>
- <!-- no translation found for spoken_emoji_2328 (8004906090359197446) -->
- <skip />
- <!-- no translation found for spoken_emoji_23CF (8619437871899719070) -->
- <skip />
- <string name="spoken_emoji_23E9" msgid="4022497733535162237">"ক\'লা ৰঙৰ সোঁফালে নিৰ্দেশ কৰা দ্বৈত ত্ৰিভুজ"</string>
- <string name="spoken_emoji_23EA" msgid="2251396938087774944">"ক\'লা ৰঙৰ বাওঁফালে নিৰ্দেশ কৰা দ্বৈত ত্ৰিভুজ"</string>
- <string name="spoken_emoji_23EB" msgid="3746885195641491865">"ক\'লা ৰঙৰ ওপৰফালে নিৰ্দেশ কৰা দ্বৈত ত্ৰিভুজ"</string>
- <string name="spoken_emoji_23EC" msgid="7852372752901163416">"ক\'লা ৰঙৰ তলফালে নিৰ্দেশ কৰা দ্বৈত ত্ৰিভুজ"</string>
- <!-- no translation found for spoken_emoji_23ED (4064850193044573080) -->
- <skip />
- <!-- no translation found for spoken_emoji_23EE (9014449600450857793) -->
- <skip />
- <!-- no translation found for spoken_emoji_23EF (3823680845887006998) -->
- <skip />
- <string name="spoken_emoji_23F0" msgid="8474219588750627870">"এলাৰ্ম ঘড়ী"</string>
- <!-- no translation found for spoken_emoji_23F1 (2303619241672210658) -->
- <skip />
- <!-- no translation found for spoken_emoji_23F2 (2178084138229786936) -->
- <skip />
- <string name="spoken_emoji_23F3" msgid="166900119581024371">"সৰি পৰি থকা বালিৰে বালি-ঘড়ী"</string>
- <!-- no translation found for spoken_emoji_23F8 (1924914079210161141) -->
- <skip />
- <!-- no translation found for spoken_emoji_23F9 (1268967989320035023) -->
- <skip />
- <!-- no translation found for spoken_emoji_23FA (3359902126862990795) -->
- <skip />
- <string name="spoken_emoji_24C2" msgid="3948348737566038470">"বৃত্তৰ ভিতৰত থকা লেটিন বৰফলা বৰ্ণ \'m\'"</string>
- <string name="spoken_emoji_25AA" msgid="7865181015100227349">"ক\'লা ৰঙৰ সৰু বৰ্গ"</string>
- <string name="spoken_emoji_25AB" msgid="6446532820937381457">"বগা ৰঙৰ সৰু বর্গ"</string>
- <string name="spoken_emoji_25B6" msgid="2423897708496040947">"ক\'লা ৰঙৰ সোঁফালে নিৰ্দেশ কৰা ত্ৰিভুজ"</string>
- <string name="spoken_emoji_25C0" msgid="3595083440074484934">"ক\'লা ৰঙৰ বাওঁফালে নিৰ্দেশ কৰা ত্ৰিভুজ"</string>
- <string name="spoken_emoji_25FB" msgid="4838691986881215419">"বগা ৰঙৰ মজলীয়া আকাৰৰ বর্গ"</string>
- <string name="spoken_emoji_25FC" msgid="7008859564991191050">"ক\'লা ৰঙৰ মজলীয়া আকাৰৰ বর্গ"</string>
- <string name="spoken_emoji_25FD" msgid="7673439755069217479">"বগা ৰঙৰ মজলীয়া আকাৰৰ সৰু বর্গ"</string>
- <string name="spoken_emoji_25FE" msgid="6782214109919768923">"ক\'লা ৰঙৰ মধ্যমীয়া সৰু বৰ্গ"</string>
- <string name="spoken_emoji_2600" msgid="2272722634618990413">"ৰশ্মিসহ ক\'লা সূৰ্য"</string>
- <string name="spoken_emoji_2601" msgid="6205136889311537150">"ডাৱৰ"</string>
- <!-- no translation found for spoken_emoji_2602 (6293136501817877234) -->
- <skip />
- <!-- no translation found for spoken_emoji_2603 (7285313121103197207) -->
- <skip />
- <string name="spoken_emoji_2604" msgid="8632808648689048735">"ধূমকেতু"</string>
- <string name="spoken_emoji_260E" msgid="8670395193046424238">"ক\'লা ৰঙৰ টেলিফ\'ন"</string>
- <string name="spoken_emoji_2611" msgid="4530550203347054611">"শুদ্ধ চিনযুক্ত বেলট বাকচ"</string>
- <string name="spoken_emoji_2614" msgid="1612791247861229500">"বৰষুণৰ টোপাল পৰা ছাতি"</string>
- <string name="spoken_emoji_2615" msgid="3320562382424018588">"গৰম পানীয়"</string>
- <!-- no translation found for spoken_emoji_2618 (5581533965699965354) -->
- <skip />
- <string name="spoken_emoji_261D" msgid="4690554173549768467">"ওপৰলৈ নির্দেশ কৰি থকা তর্জনী আঙুলিৰ চিহ্ন"</string>
- <!-- no translation found for spoken_emoji_2620 (4434290857196023657) -->
- <skip />
- <!-- no translation found for spoken_emoji_2622 (2534880989000210921) -->
- <skip />
- <!-- no translation found for spoken_emoji_2623 (141484483765762677) -->
- <skip />
- <!-- no translation found for spoken_emoji_2626 (2857954123507187408) -->
- <skip />
- <!-- no translation found for spoken_emoji_262A (6726891928565290372) -->
- <skip />
- <!-- no translation found for spoken_emoji_262E (3189887039765290178) -->
- <skip />
- <!-- no translation found for spoken_emoji_262F (7138150472623738307) -->
- <skip />
- <!-- no translation found for spoken_emoji_2638 (9073003565602256277) -->
- <skip />
- <string name="spoken_emoji_2639" msgid="6128305824180156835">"খঙাল মুখমণ্ডল"</string>
- <string name="spoken_emoji_263A" msgid="3170094381521989300">"হাঁহি থকা শুভ্ৰ মুখ"</string>
- <string name="spoken_emoji_2648" msgid="4621241062667020673">"মেষ ৰাশি"</string>
- <string name="spoken_emoji_2649" msgid="7694461245947059086">"বৃষ ৰাশি"</string>
- <string name="spoken_emoji_264A" msgid="1258074605878705030">"মিথুন ৰাশি"</string>
- <string name="spoken_emoji_264B" msgid="4409219914377810956">"কৰ্কট ৰাশি"</string>
- <string name="spoken_emoji_264C" msgid="6520255367817054163">"সিংহ ৰাশি"</string>
- <string name="spoken_emoji_264D" msgid="1504758945499854018">"কন্যা ৰাশি"</string>
- <string name="spoken_emoji_264E" msgid="2354847104530633519">"তুলা ৰাশি"</string>
- <string name="spoken_emoji_264F" msgid="5822933280406416112">"বৃশ্চিক ৰাশি"</string>
- <string name="spoken_emoji_2650" msgid="4832481156714796163">"ধনু ৰাশি"</string>
- <string name="spoken_emoji_2651" msgid="840953134601595090">"মকৰ ৰাশি"</string>
- <string name="spoken_emoji_2652" msgid="3586925968718775281">"কুম্ভ ৰাশি"</string>
- <string name="spoken_emoji_2653" msgid="8420547731496254492">"মীন ৰাশি"</string>
- <string name="spoken_emoji_2660" msgid="4541170554542412536">"ক\'লা ইস্কাপন"</string>
- <string name="spoken_emoji_2663" msgid="3669352721942285724">"ক\'লা চিৰিতন"</string>
- <string name="spoken_emoji_2665" msgid="6347941599683765843">"ক\'লা ৰহিতন"</string>
- <string name="spoken_emoji_2666" msgid="8296769213401115999">"ক\'লা ৰোহিতন"</string>
- <string name="spoken_emoji_2668" msgid="7063148281053820386">"গৰম পানী উহ"</string>
- <string name="spoken_emoji_267B" msgid="21716857176812762">"ক\'লা ৰঙৰ নৱীকৰণযোগ্য সামগ্ৰীৰ চিহ্ন"</string>
- <string name="spoken_emoji_267F" msgid="8833496533226475443">"হুইলচ্চেয়াৰৰ প্ৰতীক"</string>
- <!-- no translation found for spoken_emoji_2692 (633276166375803852) -->
- <skip />
- <string name="spoken_emoji_2693" msgid="7443148847598433088">"লংগৰ"</string>
- <!-- no translation found for spoken_emoji_2694 (4114117110598973648) -->
- <skip />
- <!-- no translation found for spoken_emoji_2696 (7920282042498350920) -->
- <skip />
- <!-- no translation found for spoken_emoji_2697 (7576307101162421601) -->
- <skip />
- <!-- no translation found for spoken_emoji_2699 (8525225054232323125) -->
- <skip />
- <!-- no translation found for spoken_emoji_269B (9146644473418235977) -->
- <skip />
- <string name="spoken_emoji_269C" msgid="1883421369883009835">"ফ্লাৰ-দ্য-লি"</string>
- <string name="spoken_emoji_26A0" msgid="6272635532992727510">"সতৰ্কবাণীৰ চিন"</string>
- <string name="spoken_emoji_26A1" msgid="5604749644693339145">"উচ্চ ক্ষমতাসম্পন্ন বৈদ্যুতিক সামগ্ৰীৰ চিহ্ন"</string>
- <string name="spoken_emoji_26AA" msgid="8005748091690377153">"বগা ৰঙৰ মধ্যমীয়া বৃত্ত"</string>
- <string name="spoken_emoji_26AB" msgid="1655910278422753244">"মধ্যমীয়া ক\'লা বৃত্ত"</string>
- <!-- no translation found for spoken_emoji_26B0 (5742048235215593821) -->
- <skip />
- <!-- no translation found for spoken_emoji_26B1 (2096529437455909562) -->
- <skip />
- <string name="spoken_emoji_26BD" msgid="1545218197938889737">"ফুটবল"</string>
- <string name="spoken_emoji_26BE" msgid="8959760533076498209">"বে\'ছবল"</string>
- <string name="spoken_emoji_26C4" msgid="3045791757044255626">"তুষাৰ অবিহনে তুষাৰ মানৱ"</string>
- <string name="spoken_emoji_26C5" msgid="5580129409712578639">"ডাৱৰৰ পিছফালে সূর্য থকা দৃশ্য"</string>
- <!-- no translation found for spoken_emoji_26C8 (4641925705576445058) -->
- <skip />
- <string name="spoken_emoji_26CE" msgid="8963656417276062998">"অ\'ফিউচাছ"</string>
- <!-- no translation found for spoken_emoji_26CF (1048987245528185548) -->
- <skip />
- <!-- no translation found for spoken_emoji_26D1 (5122253261153603676) -->
- <skip />
- <!-- no translation found for spoken_emoji_26D3 (7567590167882104907) -->
- <skip />
- <string name="spoken_emoji_26D4" msgid="2231451988209604130">"প্ৰৱেশ নিষেধ"</string>
- <!-- no translation found for spoken_emoji_26E9 (5219739268764945756) -->
- <skip />
- <string name="spoken_emoji_26EA" msgid="7513319636103804907">"গীৰ্জা"</string>
- <!-- no translation found for spoken_emoji_26F0 (8690606275240650121) -->
- <skip />
- <!-- no translation found for spoken_emoji_26F1 (7617840615623596077) -->
- <skip />
- <string name="spoken_emoji_26F2" msgid="7134115206158891037">"পানীৰ ফোৱাৰা"</string>
- <string name="spoken_emoji_26F3" msgid="4912302210162075465">"গ\'ল্ফ খেলৰ গাঁতত পুতি ৰখা পতাকা"</string>
- <!-- no translation found for spoken_emoji_26F4 (8296597141413923967) -->
- <skip />
- <string name="spoken_emoji_26F5" msgid="4766328116769075217">"ডিঙা"</string>
- <!-- no translation found for spoken_emoji_26F7 (5002838791562917075) -->
- <skip />
- <!-- no translation found for spoken_emoji_26F8 (2326041972852924376) -->
- <skip />
- <!-- no translation found for spoken_emoji_26F9 (1588803158145064802) -->
- <skip />
- <string name="spoken_emoji_26FA" msgid="5888017494809199037">"তম্বু"</string>
- <string name="spoken_emoji_26FD" msgid="2417060622927453534">"তেলৰ পাম্প"</string>
- <string name="spoken_emoji_2702" msgid="4005741160717451912">"ক\'লা কেঁচী"</string>
- <string name="spoken_emoji_2705" msgid="164605766946697759">"ডাঠ বগা ৰঙৰ শুদ্ধ চিন"</string>
- <string name="spoken_emoji_2708" msgid="7153840886849268988">"এয়াৰপ্লেইন"</string>
- <string name="spoken_emoji_2709" msgid="2217319160724311369">"খাম"</string>
- <string name="spoken_emoji_270A" msgid="508347232762319473">"উত্থিত মুষ্টি"</string>
- <string name="spoken_emoji_270B" msgid="6640562128327753423">"হাত দাঙি সঁহাৰি জনোৱা"</string>
- <string name="spoken_emoji_270C" msgid="1344288035704944581">"বিজয়ী হাত"</string>
- <!-- no translation found for spoken_emoji_270D (8850355355131892496) -->
- <skip />
- <string name="spoken_emoji_270F" msgid="6108251586067318718">"পেন্সিল"</string>
- <string name="spoken_emoji_2712" msgid="6320544535087710482">"ক\'লা ৰঙৰ নিব্"</string>
- <string name="spoken_emoji_2714" msgid="1968242800064001654">"গাঢ় শুদ্ধ চিহ্ন"</string>
- <string name="spoken_emoji_2716" msgid="511941294762977228">"গাঢ় পুৰণ চিহ্ন"</string>
- <!-- no translation found for spoken_emoji_271D (2367275551961395862) -->
- <skip />
- <!-- no translation found for spoken_emoji_2721 (4150694777322944905) -->
- <skip />
- <string name="spoken_emoji_2728" msgid="5650330815808691881">"তিৰবিৰণি"</string>
- <string name="spoken_emoji_2733" msgid="8915809595141157327">"আঠডাল দণ্ডৰে তাৰকা চিহ্ন"</string>
- <string name="spoken_emoji_2734" msgid="4846583547980754332">"আঠ কোণীয়া ক\'লা তৰা"</string>
- <string name="spoken_emoji_2744" msgid="4350636647760161042">"তুষাৰকণা"</string>
- <string name="spoken_emoji_2747" msgid="3718282973916474455">"তিৰবিৰনি"</string>
- <string name="spoken_emoji_274C" msgid="2752145886733295314">"কটা চিন"</string>
- <string name="spoken_emoji_274E" msgid="4262918689871098338">"ঋণাত্মক বৰ্গাকৃতিৰ ক্ৰছ চিন"</string>
- <string name="spoken_emoji_2753" msgid="6935897159942119808">"গাঢ় ক\'লা ৰঙৰ প্ৰশ্নবোধক চিহ্ন"</string>
- <string name="spoken_emoji_2754" msgid="7277504915105532954">"গাঢ় বগা ৰঙৰ প্ৰশ্নবোধক চিহ্ন"</string>
- <string name="spoken_emoji_2755" msgid="6853076969826960210">"বগা ভাৱবোধক চিনৰ অলংকাৰ"</string>
- <string name="spoken_emoji_2757" msgid="3707907828776912174">"ডাঠ ভাৱবোধক চিনৰ প্ৰতীক"</string>
- <!-- no translation found for spoken_emoji_2763 (3255858123691890971) -->
- <skip />
- <string name="spoken_emoji_2764" msgid="4214257843609432167">"গাঢ় ক\'লা ৰঙৰ হৃদয় আকৃতি"</string>
- <string name="spoken_emoji_2795" msgid="6563954833786162168">"গাঢ় যোগ চিহ্ন"</string>
- <string name="spoken_emoji_2796" msgid="5990926508250772777">"ডাঠ বিয়োগ চিহ্ন"</string>
- <string name="spoken_emoji_2797" msgid="24694184172879174">"ডাঠ হৰণ চিন"</string>
- <string name="spoken_emoji_27A1" msgid="3513434778263100580">"সোঁফালে নির্দেশ কৰা ক\'লা ৰঙৰ কাঁড়ৰ চিহ্ন"</string>
- <string name="spoken_emoji_27B0" msgid="203395646864662198">"ক\'লা ৰঙৰ পকোৱা চিন"</string>
- <string name="spoken_emoji_27BF" msgid="4940514642375640510">"দ্বৈত ক\'লা ৰঙৰ পকোৱা চিন"</string>
- <string name="spoken_emoji_2934" msgid="9062130477982973457">"সোঁফাল নির্দেশ কৰা ঊর্ধ্বমুখী কাঁড়ৰ চিহ্ন"</string>
- <string name="spoken_emoji_2935" msgid="6198710960720232074">"সোঁফালে নির্দেশ কৰি পিছত বেঁকা হৈ তলফালে মুখ কৰা কাঁড়"</string>
- <string name="spoken_emoji_2B05" msgid="4813405635410707690">"বাওঁমুৱা ক\'লা কাঁড়"</string>
- <string name="spoken_emoji_2B06" msgid="1223172079106250748">"ঊর্ধ্বমুখী ক\'লা কাঁড়ৰ চিহ্ন"</string>
- <string name="spoken_emoji_2B07" msgid="1599124424746596150">"নিম্নমুখী ক\'লা কাঁড়ৰ চিহ্ন"</string>
- <string name="spoken_emoji_2B1B" msgid="3461247311988501626">"ক\'লা ৰঙৰ ডাঙৰ বৰ্গ"</string>
- <string name="spoken_emoji_2B1C" msgid="5793146430145248915">"বগা ৰঙৰ বিশাল বৰ্গ"</string>
- <string name="spoken_emoji_2B50" msgid="3850845519526950524">"বগা মধ্যমীয়া তৰা চিহ্ন"</string>
- <string name="spoken_emoji_2B55" msgid="9137882158811541824">"ডাঠ তৰপৰ ডাঙৰ বৃত্ত"</string>
- <string name="spoken_emoji_3030" msgid="4609172241893565639">"ৰঙা ৰঙৰ ঢৌ খেলোৱা ডেশ্ব"</string>
- <string name="spoken_emoji_303D" msgid="2545833934975907505">"গায়কে গাবলগীয়া অংশৰ আৰম্ভণি সূচোৱা চিহ্ন"</string>
- <string name="spoken_emoji_3297" msgid="928912923628973800">"বৃত্তাকাৰ আইডিঅ\'গ্ৰাফৰ অভিনন্দন সূচক চিহ্ন"</string>
- <string name="spoken_emoji_3299" msgid="3930347573693668426">"বৃত্তাকাৰ আইডিঅ\'গ্ৰাফৰ গোপন চিহ্ন"</string>
- <string name="spoken_emoji_1F004" msgid="1705216181345894600">"মাহজং টাইলৰ ৰঙা ড্ৰেগন"</string>
- <string name="spoken_emoji_1F0CF" msgid="7601493592085987866">"তাঁচ পাতৰ ক\'লা জ\'কৰ"</string>
- <string name="spoken_emoji_1F170" msgid="3817698686602826773">"তেজৰ গ্ৰুপ A"</string>
- <string name="spoken_emoji_1F171" msgid="3684218589626650242">"তেজৰ গ্ৰুপ B"</string>
- <string name="spoken_emoji_1F17E" msgid="2978809190364779029">"তেজৰ গ্ৰুপ O"</string>
- <string name="spoken_emoji_1F17F" msgid="463634348668462040">"পার্কিঙৰ ঠাই"</string>
- <string name="spoken_emoji_1F18E" msgid="1650705325221496768">"তেজৰ প্ৰকাৰ AB"</string>
- <string name="spoken_emoji_1F191" msgid="5386969264431429221">"\'CL\' লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F192" msgid="8324226436829162496">"\'কুল\' লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F193" msgid="4731758603321515364">"বিনামূলীয়া লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F194" msgid="4903128609556175887">"ভিতৰত ID লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F195" msgid="1433142500411060924">"\'নতুন\' লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F196" msgid="8825160701159634202">"N G লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F197" msgid="7841079241554176535">"অ\'কে লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F198" msgid="7020298909426960622">"\'SOS\' লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F199" msgid="5971252667136235630">"ভাববোধক চিনসহ \'আপ\' লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F19A" msgid="4557270135899843959">"\'vs\' লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F201" msgid="7000490044681139002">"ইয়াত লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F202" msgid="8560906958695043947">"সেৱা লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F21A" msgid="1496435317324514033">"মাচুলবিহীন সূচোৱা আইডিঅ\'গ্ৰাফযুক্ত বর্গ"</string>
- <string name="spoken_emoji_1F22F" msgid="609797148862445402">"সংৰক্ষিত আসন সূচোৱা আইডিঅ\'গ্ৰাফযুক্ত বর্গ"</string>
- <string name="spoken_emoji_1F232" msgid="8125716331632035820">"নিষেধ সূচোৱা আইডিঅ\'গ্ৰাফযুক্ত বর্গ"</string>
- <string name="spoken_emoji_1F233" msgid="8749401090457355028">"খালী ঠাই সূচোৱা আইডিঅ\'গ্ৰাফযুক্ত বর্গ"</string>
- <string name="spoken_emoji_1F234" msgid="3546951604285970768">"গ্ৰহণ কৰা সূচোৱা আইডিঅ\'গ্ৰাফযুক্ত বর্গ"</string>
- <string name="spoken_emoji_1F235" msgid="5320186982841793711">"ভৰ্তি বুজোৱা বর্গাকাৰ আইডিঅ\'গ্ৰাফ"</string>
- <string name="spoken_emoji_1F236" msgid="879755752069393034">"পৰিশোধ হ\'ল বুজোৱা বর্গাকাৰ আইডিঅ\'গ্ৰাফ"</string>
- <string name="spoken_emoji_1F237" msgid="6741807001205851437">"মাহিলী বুজোৱা বর্গাকাৰ আইডিঅ\'গ্ৰাফ"</string>
- <string name="spoken_emoji_1F238" msgid="5504414186438196912">"আইডিঅ\'গ্ৰাফ এপ্লিকেশ্বন লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F239" msgid="1634067311597618959">"ৰেহাই বুজোৱা বর্গাকাৰ আইডিঅ\'গ্ৰাফ"</string>
- <string name="spoken_emoji_1F23A" msgid="3107862957630169536">"ব্যৱসায়ত আছে বুজোৱা বর্গাকাৰ আইডিঅ\'গ্ৰাফ"</string>
- <string name="spoken_emoji_1F250" msgid="6586943922806727907">"বৃত্তৰ ভিতৰত থকা সুবিধা সূচোৱা আইডিঅ\'গ্ৰাফ"</string>
- <string name="spoken_emoji_1F251" msgid="9099032855993346948">"গ্ৰহণ কৰা সূচোৱা আইডিঅ\'গ্ৰাফযুক্ত বর্গ"</string>
- <string name="spoken_emoji_1F300" msgid="4720098285295840383">"ঘূৰ্ণীবায়ু"</string>
- <string name="spoken_emoji_1F301" msgid="3601962477653752974">"কুঁৱলীময়"</string>
- <string name="spoken_emoji_1F302" msgid="3404357123421753593">"জপাই থোৱা ছাতি"</string>
- <string name="spoken_emoji_1F303" msgid="3899301321538188206">"আকাশত তৰা থকা নিশাৰ দৃশ্য"</string>
- <string name="spoken_emoji_1F304" msgid="2767148930689050040">"পর্বতৰ শিখৰত সূর্য্য উদয় হোৱা দৃশ্য"</string>
- <string name="spoken_emoji_1F305" msgid="9165812924292061196">"সূৰ্যোদয়"</string>
- <string name="spoken_emoji_1F306" msgid="5889294736109193104">"গধূলি সময়ৰ চহৰৰ দৃশ্য"</string>
- <string name="spoken_emoji_1F307" msgid="2714290867291163713">"অট্টালিকাসমূহৰ পিছফালে বেলি মাৰ যোৱাৰ দৃশ্য"</string>
- <string name="spoken_emoji_1F308" msgid="688704703985173377">"ৰামধেনু"</string>
- <string name="spoken_emoji_1F309" msgid="6217981957992313528">"নিশাৰ দলঙৰ দৃশ্য"</string>
- <string name="spoken_emoji_1F30A" msgid="4329309263152110893">"পানীৰ ঢৌ"</string>
- <string name="spoken_emoji_1F30B" msgid="5729430693700923112">"আগ্নেয়গিৰি"</string>
- <string name="spoken_emoji_1F30C" msgid="2961230863217543082">"হাতীপটি"</string>
- <string name="spoken_emoji_1F30D" msgid="1113905673331547953">"ইউৰোপ আৰু আফ্ৰিকাৰ মেপ থকা গোলক"</string>
- <string name="spoken_emoji_1F30E" msgid="5278512600749223671">"উত্তৰ আৰু দক্ষিণ আমেৰিকাৰ মেপ থকা গোলক"</string>
- <string name="spoken_emoji_1F30F" msgid="5718144880978707493">"এছিয়া আৰু অষ্ট্ৰেলিয়াৰ মানচিত্ৰ থকা গোলক"</string>
- <string name="spoken_emoji_1F310" msgid="2959618582975247601">"অক্ষৰেখা আৰু দ্ৰাঘিমাৰেখাৰ সৈতে গোলক"</string>
- <string name="spoken_emoji_1F311" msgid="623906380914895542">"ন জোনৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F312" msgid="4458575672576125401">"বৰ্ধমান অৰ্ধচন্দ্ৰৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F313" msgid="7599181787989497294">"প্ৰথম এক চতুৰ্থাংশ বিশিষ্ট চন্দ্ৰৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F314" msgid="4898293184964365413">"বৰ্ধমান স্ফীত চন্দ্ৰৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F315" msgid="3218117051779496309">"পূৰ্ণ চন্দ্ৰৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F316" msgid="2061317145777689569">"কলাক্ষয় জোনৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F317" msgid="2721090687319539049">"অন্তিম এক চতুৰ্থাংশ বিশিষ্ট চন্দ্ৰৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F318" msgid="3814091755648887570">"কমি অহা অৰ্ধচন্দ্ৰৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F319" msgid="4074299824890459465">"অৰ্ধচন্দ্ৰ"</string>
- <string name="spoken_emoji_1F31A" msgid="3092285278116977103">"মুখমণ্ডলৰ সৈতে ন জোন"</string>
- <string name="spoken_emoji_1F31B" msgid="2658562138386927881">"মুখৰ সৈতে প্ৰথম এক চতুৰ্থাংশ জোন"</string>
- <string name="spoken_emoji_1F31C" msgid="7914768515547867384">"মুখৰ সৈতে অন্তিম এক চতুৰ্থাংশ জোন"</string>
- <string name="spoken_emoji_1F31D" msgid="1925730459848297182">"মুখমণ্ডল থকা পূর্ণ চন্দ্ৰৰ দৃশ্য"</string>
- <string name="spoken_emoji_1F31E" msgid="8022112382524084418">"মুখৰ সৈতে সূৰ্য"</string>
- <string name="spoken_emoji_1F31F" msgid="1051661214137766369">"জিকমিক তৰাৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F320" msgid="5450591979068216115">"উল্কা"</string>
- <!-- no translation found for spoken_emoji_1F321 (581288529301493075) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F324 (2930891297836314896) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F325 (5282092301688177705) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F326 (165046788529872891) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F327 (4384791469343260600) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F328 (1991614733939171872) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F329 (6016235695016510649) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F32A (5889026615334911758) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F32B (3223192457131343118) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F32C (3479270390051226956) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F32D (8869598854109228966) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F32E (6077879860650582531) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F32F (6730078269862769637) -->
- <skip />
- <string name="spoken_emoji_1F330" msgid="3115760035618051575">"কাঠবাদাম"</string>
- <string name="spoken_emoji_1F331" msgid="5658888205290008691">"অংকুৰ"</string>
- <string name="spoken_emoji_1F332" msgid="2935650450421165938">"চিৰসেউজ গছ"</string>
- <string name="spoken_emoji_1F333" msgid="5898847427062482675">"পৰ্ণপাতী গছ"</string>
- <string name="spoken_emoji_1F334" msgid="6183375224678417894">"পাম গছ"</string>
- <string name="spoken_emoji_1F335" msgid="5352418412103584941">"কেকটাছ গছ"</string>
- <!-- no translation found for spoken_emoji_1F336 (5912660172314184275) -->
- <skip />
- <string name="spoken_emoji_1F337" msgid="3839107352363566289">"টিউলিপ ফুল"</string>
- <string name="spoken_emoji_1F338" msgid="6389970364260468490">"প্ৰস্ফুতিত চেৰি ফুল"</string>
- <string name="spoken_emoji_1F339" msgid="9128891447985256151">"গোলাপ ফুল"</string>
- <string name="spoken_emoji_1F33A" msgid="2025828400095233078">"জবা ফুল"</string>
- <string name="spoken_emoji_1F33B" msgid="8163868254348448552">"সূৰ্যমুখী ফুল"</string>
- <string name="spoken_emoji_1F33C" msgid="6850371206262335812">"প্ৰস্ফুতিত"</string>
- <string name="spoken_emoji_1F33D" msgid="9033484052864509610">"গোমধান"</string>
- <string name="spoken_emoji_1F33E" msgid="2540173396638444120">"ধানৰ থোক"</string>
- <string name="spoken_emoji_1F33F" msgid="4384823344364908558">"বনৌষধি"</string>
- <string name="spoken_emoji_1F340" msgid="3494255459156499305">"চাৰিটা পাতযুক্ত উদ্ভিদ"</string>
- <string name="spoken_emoji_1F341" msgid="4581959481754990158">"মেপলৰ পাত"</string>
- <string name="spoken_emoji_1F342" msgid="3119068426871821222">"সৰা পাত"</string>
- <string name="spoken_emoji_1F343" msgid="2663317495805149004">"বতাহত উৰি ফুৰা পাত"</string>
- <string name="spoken_emoji_1F344" msgid="2738517881678722159">"কাঠফুলা"</string>
- <string name="spoken_emoji_1F345" msgid="6135288642349085554">"বিলাহী"</string>
- <string name="spoken_emoji_1F346" msgid="2075395322785406367">"বেঙেনা"</string>
- <string name="spoken_emoji_1F347" msgid="7753453754963890571">"আঙুৰ"</string>
- <string name="spoken_emoji_1F348" msgid="1247076837284932788">"তৰমুজ"</string>
- <string name="spoken_emoji_1F349" msgid="5563054555180611086">"তৰমুজ"</string>
- <string name="spoken_emoji_1F34A" msgid="4688661208570160524">"টেঞ্জাৰিন"</string>
- <string name="spoken_emoji_1F34B" msgid="4335318423164185706">"নেমু"</string>
- <string name="spoken_emoji_1F34C" msgid="3712827239858159474">"কল"</string>
- <string name="spoken_emoji_1F34D" msgid="7712521967162622936">"আনাৰস"</string>
- <string name="spoken_emoji_1F34E" msgid="1859466882598614228">"ৰঙা আপেল"</string>
- <string name="spoken_emoji_1F34F" msgid="8251711032295005633">"সেউজীয়া আপেল"</string>
- <string name="spoken_emoji_1F350" msgid="625802980159197701">"নাচপতি"</string>
- <string name="spoken_emoji_1F351" msgid="4269460120610911895">"নৰা বগৰী"</string>
- <string name="spoken_emoji_1F352" msgid="965600953360182635">"চেৰি"</string>
- <string name="spoken_emoji_1F353" msgid="7068623879906925592">"ষ্ট্ৰ\'বেৰী"</string>
- <string name="spoken_emoji_1F354" msgid="45162285238888494">"হেমবাৰ্গাৰ"</string>
- <string name="spoken_emoji_1F355" msgid="9157587635526433283">"পিৎছাৰ টুকুৰা"</string>
- <string name="spoken_emoji_1F356" msgid="2667196119149852244">"হাঁড় থকা মঙহ"</string>
- <string name="spoken_emoji_1F357" msgid="8022817413851052256">"কুকুৰাৰ ঠেং"</string>
- <string name="spoken_emoji_1F358" msgid="3042693264748036476">"চাউলৰ পৰা তৈয়াৰী পিঠা"</string>
- <string name="spoken_emoji_1F359" msgid="3988148661730121958">"ৰাইচ বল"</string>
- <string name="spoken_emoji_1F35A" msgid="1763824172198327268">"ভাত"</string>
- <string name="spoken_emoji_1F35B" msgid="62530406745717835">"তৰকাৰী আৰু ভাত"</string>
- <string name="spoken_emoji_1F35C" msgid="7537756539198945509">"তপত আহাৰৰ সৈতে বাটি"</string>
- <string name="spoken_emoji_1F35D" msgid="8173523083861875196">"স্পেঘেটী"</string>
- <string name="spoken_emoji_1F35E" msgid="2935428307894662571">"ব্ৰেড"</string>
- <string name="spoken_emoji_1F35F" msgid="4840297386785728443">"ফ্ৰেন্স ফ্ৰাই"</string>
- <string name="spoken_emoji_1F360" msgid="4094659855684686801">"পোৰা মিঠা আলু"</string>
- <string name="spoken_emoji_1F361" msgid="6475486395784096109">"ডাঙগ\' মিঠাই"</string>
- <string name="spoken_emoji_1F362" msgid="5004692577661076275">"অ\'ডেন"</string>
- <string name="spoken_emoji_1F363" msgid="1606603765717743806">"ছুশ্বি"</string>
- <string name="spoken_emoji_1F364" msgid="6550457766169570811">"ভজা মিছামাছ"</string>
- <string name="spoken_emoji_1F365" msgid="4963815540953316307">"চাকনৈয়াৰ নক্সাসহ মাছেৰে তৈয়াৰী কেইক"</string>
- <string name="spoken_emoji_1F366" msgid="7862401745277049404">"কোমল আইচক্ৰীম"</string>
- <string name="spoken_emoji_1F367" msgid="7447972978281980414">"বৰফ গুড়ি"</string>
- <string name="spoken_emoji_1F368" msgid="7790003146142724913">"আইচক্ৰীম"</string>
- <string name="spoken_emoji_1F369" msgid="7383712944084857350">"ড\'নাট"</string>
- <string name="spoken_emoji_1F36A" msgid="2726271795913042295">"কুকি"</string>
- <string name="spoken_emoji_1F36B" msgid="6342163604299875931">"চকলেট"</string>
- <string name="spoken_emoji_1F36C" msgid="2168934753998218790">"কেণ্ডী"</string>
- <string name="spoken_emoji_1F36D" msgid="3671507903799975792">"ল\'লিপ\'প"</string>
- <string name="spoken_emoji_1F36E" msgid="4630541402785165902">"কাষ্টাৰ্ড"</string>
- <string name="spoken_emoji_1F36F" msgid="5577915387425169439">"মৌ-জোল ৰখা পাত্ৰ"</string>
- <string name="spoken_emoji_1F370" msgid="7243244547866114951">"শ্বৰ্টকেইক"</string>
- <string name="spoken_emoji_1F371" msgid="6731527040552916358">"বেণ্টো বক্স"</string>
- <string name="spoken_emoji_1F372" msgid="1635035323832181733">"খাদ্যৰ পাত্ৰ"</string>
- <string name="spoken_emoji_1F373" msgid="7799289534289221045">"ৰন্ধন"</string>
- <string name="spoken_emoji_1F374" msgid="5973820884987069131">"কাঁটাচামুচ আৰু ছুৰী কটাৰী"</string>
- <string name="spoken_emoji_1F375" msgid="1074832087699617700">"হেণ্ডেলবিহীন চাহৰ কাপ"</string>
- <string name="spoken_emoji_1F376" msgid="6499274685584852067">"ছাকেৰ বটল আৰু কাপ"</string>
- <string name="spoken_emoji_1F377" msgid="1762398562314172075">"সুৰাৰ গিলাছ"</string>
- <string name="spoken_emoji_1F378" msgid="5528234560590117516">"ক\'কটেইল গিলাছ"</string>
- <string name="spoken_emoji_1F379" msgid="790581290787943325">"গ্ৰীষ্মমণ্ডলীয় অঞ্চলৰ পানীয়"</string>
- <string name="spoken_emoji_1F37A" msgid="391966822450619516">"বিয়েৰৰ মগ"</string>
- <string name="spoken_emoji_1F37B" msgid="9015043286465670662">"যুঁজা লগোৱা দুটা বিয়েৰৰ মগ"</string>
- <string name="spoken_emoji_1F37C" msgid="2532113819464508894">"কেঁচুৱাক দুগ্ধপান কৰোৱা গিলাছ"</string>
- <!-- no translation found for spoken_emoji_1F37D (8887228479219886429) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F37E (37593222775513943) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F37F (4196704853559909123) -->
- <skip />
- <string name="spoken_emoji_1F380" msgid="3487363857092458827">"ফিটা"</string>
- <string name="spoken_emoji_1F381" msgid="614180683680675444">"ৰঙীণ কাগজেৰে বন্ধা উপহাৰৰ বাকচ"</string>
- <string name="spoken_emoji_1F382" msgid="4720497171946687501">"জন্মদিনৰ কেইক"</string>
- <string name="spoken_emoji_1F383" msgid="3536505941578757623">"জেক-অ\'-লেনটাৰ্ণ"</string>
- <string name="spoken_emoji_1F384" msgid="1797870204479059004">"খ্ৰীষ্টমাছ ট্ৰী"</string>
- <string name="spoken_emoji_1F385" msgid="1754174063483626367">"ছাণ্টাক্লজ"</string>
- <string name="spoken_emoji_1F386" msgid="2130445450758114746">"আতচ-বাজী"</string>
- <string name="spoken_emoji_1F387" msgid="3403182563117999933">"ফিৰফিৰি"</string>
- <string name="spoken_emoji_1F388" msgid="2903047203723251804">"বেলুন"</string>
- <string name="spoken_emoji_1F389" msgid="2352830665883549388">"পাৰ্টী প\'পাৰ"</string>
- <string name="spoken_emoji_1F38A" msgid="6280428984773641322">"ক\'নফেট্টি বল"</string>
- <string name="spoken_emoji_1F38B" msgid="4902225837479015489">"টানাবাটা গছ"</string>
- <string name="spoken_emoji_1F38C" msgid="7623268024030989365">"পূৰণ চিনৰ আকৃতিত ৰখা দুখন পতাকা"</string>
- <string name="spoken_emoji_1F38D" msgid="8237542796124408528">"পাইন গছৰ সজ্জা"</string>
- <string name="spoken_emoji_1F38E" msgid="5373397476238212371">"জাপানী পুতলা"</string>
- <string name="spoken_emoji_1F38F" msgid="8754091376829552844">"কাৰ্প ষ্ট্ৰীমাৰ"</string>
- <string name="spoken_emoji_1F390" msgid="8903307048095431374">"ৱিণ্ড চ্চাইম"</string>
- <string name="spoken_emoji_1F391" msgid="2134952069191911841">"জোন চোৱা পর্ব"</string>
- <string name="spoken_emoji_1F392" msgid="6380405493914304737">"স্কুলীয়া বেগ"</string>
- <string name="spoken_emoji_1F393" msgid="6947890064872470996">"স্নাতক ডিগ্ৰী লাভ কৰোঁতে পিন্ধা টুপি"</string>
- <!-- no translation found for spoken_emoji_1F396 (8356140738000265647) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F397 (5249863289838097468) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F399 (6087019010423147017) -->
- <skip />
- <string name="spoken_emoji_1F39A" msgid="1627914548345466924">"লেভেল শ্লাইডাৰ"</string>
- <!-- no translation found for spoken_emoji_1F39B (648039433701743585) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F39E (2918731924907952534) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F39F (2427606024950432412) -->
- <skip />
- <string name="spoken_emoji_1F3A0" msgid="3572095190082826057">"পুতলা ঘোঁৰা"</string>
- <string name="spoken_emoji_1F3A1" msgid="4300565511681058798">"ফেৰিছ চকৰী"</string>
- <string name="spoken_emoji_1F3A2" msgid="15486093912232140">"ৰ\'লাৰ ক\'ষ্টাৰ"</string>
- <string name="spoken_emoji_1F3A3" msgid="921739319504942924">"বৰশী ডাঁৰিকী আৰু মাছ"</string>
- <string name="spoken_emoji_1F3A4" msgid="7497596355346856950">"মাইক্ৰ\'ফ\'ন"</string>
- <string name="spoken_emoji_1F3A5" msgid="4290497821228183002">"বোলছবি নির্মাণৰ কেমেৰা"</string>
- <string name="spoken_emoji_1F3A6" msgid="26019057872319055">"বোলছবি"</string>
- <string name="spoken_emoji_1F3A7" msgid="837856608794094105">"হেডফ\'ন"</string>
- <string name="spoken_emoji_1F3A8" msgid="2332260356509244587">"চিত্ৰশিল্পীৰ পেলেট"</string>
- <string name="spoken_emoji_1F3A9" msgid="9045869366525115256">"ওখ টুপি"</string>
- <string name="spoken_emoji_1F3AA" msgid="5728760354237132">"চাৰ্কাছৰ তম্বু"</string>
- <string name="spoken_emoji_1F3AB" msgid="1657997517193216284">"টিকেট"</string>
- <string name="spoken_emoji_1F3AC" msgid="4317366554314492152">"ক্লেপাৰ ব\'ৰ্ড"</string>
- <string name="spoken_emoji_1F3AD" msgid="607157286336130470">"পৰিৱেশ্য কলা"</string>
- <string name="spoken_emoji_1F3AE" msgid="2902308174671548150">"ভিডিঅ\' গেইম"</string>
- <string name="spoken_emoji_1F3AF" msgid="5420539221790296407">"পোনপটীয়াকৈ লক্ষ্যভেদ কৰা"</string>
- <string name="spoken_emoji_1F3B0" msgid="7440244806527891956">"শ্ল’ট মেচিন"</string>
- <string name="spoken_emoji_1F3B1" msgid="545544382391379234">"বিলিয়াৰ্ড"</string>
- <string name="spoken_emoji_1F3B2" msgid="8302262034774787493">"লুডু খেলৰ গুটি"</string>
- <string name="spoken_emoji_1F3B3" msgid="5180870610771027520">"ব\'লিং খেল"</string>
- <string name="spoken_emoji_1F3B4" msgid="4723852033266071564">"ফুলৰ ছবি থকা তাচপাত"</string>
- <string name="spoken_emoji_1F3B5" msgid="1998470239850548554">"সাংগীতিক স্বৰ"</string>
- <string name="spoken_emoji_1F3B6" msgid="3827730457113941705">"একাধিক সাংগীতিক স্বৰ"</string>
- <string name="spoken_emoji_1F3B7" msgid="5503403099445042180">"ছেক্স\'ফ\'ন"</string>
- <string name="spoken_emoji_1F3B8" msgid="3985658156795011430">"গিটাৰ"</string>
- <string name="spoken_emoji_1F3B9" msgid="5596295757967881451">"সাংগীতিক কীব\'ৰ্ড"</string>
- <string name="spoken_emoji_1F3BA" msgid="4284064120340683558">"শিঙা"</string>
- <string name="spoken_emoji_1F3BB" msgid="2856598510069988745">"বেহেলা"</string>
- <string name="spoken_emoji_1F3BC" msgid="1608424748821446230">"গানৰ কলি লিখি থোৱা পত্ৰ"</string>
- <string name="spoken_emoji_1F3BD" msgid="5490786111375627777">"দৌৰোতে পিন্ধা ফিটা লগা চোলা"</string>
- <string name="spoken_emoji_1F3BE" msgid="1851613105691627931">"টেনিছ ৰেকেট আৰু বল"</string>
- <string name="spoken_emoji_1F3BF" msgid="6862405997423247921">"স্কি আৰু স্কি খেলত পিন্ধা জোতা"</string>
- <string name="spoken_emoji_1F3C0" msgid="7421420756115104085">"বাস্কেটবল আৰু হুপ"</string>
- <string name="spoken_emoji_1F3C1" msgid="6926537251677319922">"ক\'লা-বগা বৰ্গাকৃতিৰ ঘৰযুক্ত পতাকা"</string>
- <string name="spoken_emoji_1F3C2" msgid="5708596929237987082">"স্ন\'ব\'ৰ্ডাৰ"</string>
- <string name="spoken_emoji_1F3C3" msgid="5850982999510115824">"দৌৰবিদ"</string>
- <string name="spoken_emoji_1F3C4" msgid="8468355585994639838">"ছাৰ্ফ কৰোঁতা"</string>
- <!-- no translation found for spoken_emoji_1F3C5 (3256434181486954695) -->
- <skip />
- <string name="spoken_emoji_1F3C6" msgid="9094474706847545409">"ট্ৰ\'ফী"</string>
- <string name="spoken_emoji_1F3C7" msgid="8172206200368370116">"ঘোঁৰাদৌৰ"</string>
- <string name="spoken_emoji_1F3C8" msgid="5619171461277597709">"আমেৰিকান ফুটবল"</string>
- <string name="spoken_emoji_1F3C9" msgid="6371294008765871043">"ৰাগবী ফুটবল"</string>
- <string name="spoken_emoji_1F3CA" msgid="130977831787806932">"সাঁতোৰবিদ"</string>
- <!-- no translation found for spoken_emoji_1F3CB (6201404884476413631) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3CC (5773930948380166403) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3CD (3174865701360723287) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3CE (298990178863007728) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3CF (220014996836173720) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3D0 (1515966148588308407) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3D1 (9065400886436849028) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3D2 (9113415091165206322) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3D3 (5392602379011857837) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3D4 (5682806162641888464) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3D5 (485622019934191893) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3D6 (8056487018845189239) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3D7 (9200931466909972688) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3D8 (4060224387880105443) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3D9 (5239036983837296458) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3DA (4479002058414881869) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3DB (5481092245291634716) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3DC (7540751465637885253) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3DD (2957722522033693226) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3DE (8767730963119889199) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3DF (360348087882746758) -->
- <skip />
- <string name="spoken_emoji_1F3E0" msgid="6277213201655811842">"নিৰ্মাণৰত ঘৰ"</string>
- <string name="spoken_emoji_1F3E1" msgid="233476176077538885">"বাগিছাৰ সৈতে ঘৰ"</string>
- <string name="spoken_emoji_1F3E2" msgid="919736380093964570">"কাৰ্যালয়ৰ ভৱন"</string>
- <string name="spoken_emoji_1F3E3" msgid="6177606081825094184">"জাপানী ডাকঘৰ"</string>
- <string name="spoken_emoji_1F3E4" msgid="717377871070970293">"ইউৰোপীয়ান ডাকঘৰ"</string>
- <string name="spoken_emoji_1F3E5" msgid="1350532500431776780">"চিকিৎসালয়"</string>
- <string name="spoken_emoji_1F3E6" msgid="342132788513806214">"বেংক"</string>
- <string name="spoken_emoji_1F3E7" msgid="6322352038284944265">"অট\'মেটেড টেলাৰ মেচিন"</string>
- <string name="spoken_emoji_1F3E8" msgid="5864918444350599907">"হোটেল"</string>
- <string name="spoken_emoji_1F3E9" msgid="7830416185375326938">"ল\'ভ হোটেল"</string>
- <string name="spoken_emoji_1F3EA" msgid="5081084413084360479">"ঘৰত দৈনন্দিন ব্যৱহৃত সামগ্ৰীসমূহৰ দোকান"</string>
- <string name="spoken_emoji_1F3EB" msgid="7010966528205150525">"বিদ্যালয়"</string>
- <string name="spoken_emoji_1F3EC" msgid="4845978861878295154">"ডিপার্টমেণ্টেল ষ্ট\'ৰ"</string>
- <string name="spoken_emoji_1F3ED" msgid="3980316226665215370">"কাৰখানা"</string>
- <string name="spoken_emoji_1F3EE" msgid="1253964276770550248">"ইজাকায়া লেম"</string>
- <string name="spoken_emoji_1F3EF" msgid="1128975573507389883">"জাপানী দুৰ্গ"</string>
- <string name="spoken_emoji_1F3F0" msgid="1544632297502291578">"ইউৰোপীয় দুৰ্গ"</string>
- <!-- no translation found for spoken_emoji_1F3F3 (6471977885401554862) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3F4 (6634164537580574234) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3F5 (5247950040998935573) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3F7 (5140855387008703511) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3F8 (7061216387824058281) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3F9 (1287386031701875351) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3FA (972388608151034163) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3FB (2482905976407635663) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3FC (2438230702000819552) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3FD (8205610118230779658) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3FE (2707903021796601195) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F3FF (12056714027518795) -->
- <skip />
- <string name="spoken_emoji_1F400" msgid="2063034795679578294">"এন্দুৰ"</string>
- <string name="spoken_emoji_1F401" msgid="6736421616217369594">"নিগনি"</string>
- <string name="spoken_emoji_1F402" msgid="7276670995895485604">"ষাঁড়গৰু"</string>
- <string name="spoken_emoji_1F403" msgid="8045709541897118928">"ম\'হ"</string>
- <string name="spoken_emoji_1F404" msgid="5240777285676662335">"গাই গৰু"</string>
- <!-- no translation found for spoken_emoji_1F405 (4304847753343143926) -->
- <skip />
- <string name="spoken_emoji_1F406" msgid="5163461930159540018">"নাহফুটুকী বাঘ"</string>
- <string name="spoken_emoji_1F407" msgid="6905370221172708160">"শহা"</string>
- <string name="spoken_emoji_1F408" msgid="1362164550508207284">"মেকুৰী"</string>
- <string name="spoken_emoji_1F409" msgid="8476130983168866013">"ড্ৰেগন"</string>
- <string name="spoken_emoji_1F40A" msgid="1149626786411545043">"ঘঁৰিয়াল"</string>
- <string name="spoken_emoji_1F40B" msgid="5199104921208397643">"তিমি"</string>
- <string name="spoken_emoji_1F40C" msgid="2704006052881702675">"শামুক"</string>
- <string name="spoken_emoji_1F40D" msgid="8648186663643157522">"সাপ"</string>
- <string name="spoken_emoji_1F40E" msgid="7219137467573327268">"ঘোঁৰা"</string>
- <string name="spoken_emoji_1F40F" msgid="7834336676729040395">"ৰামছাগলী"</string>
- <string name="spoken_emoji_1F410" msgid="8686765722255775031">"ছাগলী"</string>
- <string name="spoken_emoji_1F411" msgid="3585715397876383525">"ভেড়া"</string>
- <string name="spoken_emoji_1F412" msgid="4924794582980077838">"বান্দৰ"</string>
- <string name="spoken_emoji_1F413" msgid="1460475310405677377">"মতা কুকুৰা"</string>
- <string name="spoken_emoji_1F414" msgid="5857296282631892219">"কুকুৰাৰ পোৱালী"</string>
- <string name="spoken_emoji_1F415" msgid="5920041074892949527">"কুকুৰ"</string>
- <string name="spoken_emoji_1F416" msgid="4362403392912540286">"গাহৰি"</string>
- <string name="spoken_emoji_1F417" msgid="6836978415840795128">"বন গাহৰি"</string>
- <string name="spoken_emoji_1F418" msgid="7926161463897783691">"হাতী"</string>
- <string name="spoken_emoji_1F419" msgid="1055233959755784186">"অক্টোপাছ"</string>
- <string name="spoken_emoji_1F41A" msgid="5195666556511558060">"শামুকৰ খোলা"</string>
- <string name="spoken_emoji_1F41B" msgid="7652480167465557832">"পোক"</string>
- <string name="spoken_emoji_1F41C" msgid="1123461148697574239">"পৰুৱা"</string>
- <string name="spoken_emoji_1F41D" msgid="718579308764058851">"মৌ-মাখি"</string>
- <string name="spoken_emoji_1F41E" msgid="6766305509608115467">"সোণপৰুৱা"</string>
- <string name="spoken_emoji_1F41F" msgid="1207261298343160838">"মাছ"</string>
- <string name="spoken_emoji_1F420" msgid="1041145003133609221">"গ্ৰীষ্মমণ্ডলীয় অঞ্চলৰ মাছ"</string>
- <string name="spoken_emoji_1F421" msgid="1748378324417438751">"ব্ল\'ফিশ্ব"</string>
- <string name="spoken_emoji_1F422" msgid="4106724877523329148">"কাছ"</string>
- <string name="spoken_emoji_1F423" msgid="4077407945958691907">"কণী ফুটি ওলোৱা কুকুৰাৰ পোৱালি"</string>
- <string name="spoken_emoji_1F424" msgid="6911326019270172283">"কুকুৰা পোৱালী"</string>
- <string name="spoken_emoji_1F425" msgid="5466514196557885577">"সন্মুখলৈ চাই থকা কুকুৰা পোৱালি"</string>
- <string name="spoken_emoji_1F426" msgid="2163979138772892755">"চৰাই"</string>
- <string name="spoken_emoji_1F427" msgid="3585670324511212961">"পেংগুইন"</string>
- <string name="spoken_emoji_1F428" msgid="7955440808647898579">"কোৱালা"</string>
- <string name="spoken_emoji_1F429" msgid="5028269352809819035">"পোডল"</string>
- <string name="spoken_emoji_1F42A" msgid="4681926706404032484">"এটা কুঁজৰ উট"</string>
- <string name="spoken_emoji_1F42B" msgid="2725166074981558322">"দুটা কুঁজ থকা উট"</string>
- <string name="spoken_emoji_1F42C" msgid="6764791873413727085">"ড\'লফিন"</string>
- <string name="spoken_emoji_1F42D" msgid="1033643138546864251">"নিগনিৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F42E" msgid="8099223337120508820">"গৰুৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F42F" msgid="2104743989330781572">"বাঘৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F430" msgid="525492897063150160">"শহাৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F431" msgid="6051358666235016851">"মেকুৰীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F432" msgid="7698001871193018305">"ড্ৰেগনৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F433" msgid="3762356053512899326">"স্পাউটিং তিমি"</string>
- <string name="spoken_emoji_1F434" msgid="3619943222159943226">"ঘোঁৰাৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F435" msgid="59199202683252958">"বান্দৰৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F436" msgid="340544719369009828">"কুকুৰৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F437" msgid="1219818379784982585">"গাহৰিৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F438" msgid="9128124743321008210">"ভেকুলীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F439" msgid="1424161319554642266">"হেমষ্টাৰৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F43A" msgid="6727645488430385584">"কুকুৰনেচীয়া বাঘৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F43B" msgid="5397170068392865167">"ভালুকৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F43C" msgid="2715995734367032431">"পাণ্ডাৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F43D" msgid="6005480717951776597">"গাহৰিৰ নাক"</string>
- <string name="spoken_emoji_1F43E" msgid="8917626103219080547">"হাতোৰাৰ ছাপ"</string>
- <!-- no translation found for spoken_emoji_1F43F (84025195766364970) -->
- <skip />
- <string name="spoken_emoji_1F440" msgid="7144338258163384433">"চকু"</string>
- <!-- no translation found for spoken_emoji_1F441 (5716781405495001412) -->
- <skip />
- <string name="spoken_emoji_1F442" msgid="1905515392292676124">"কাণ"</string>
- <string name="spoken_emoji_1F443" msgid="1491504447758933115">"নাক"</string>
- <string name="spoken_emoji_1F444" msgid="3654613047946080332">"মুখ"</string>
- <string name="spoken_emoji_1F445" msgid="7024905244040509204">"জিভা"</string>
- <string name="spoken_emoji_1F446" msgid="2150365643636471745">"বগা পৃষ্ঠপটত ঊৰ্ধ্বমুখী তর্জনী আঙুলিৰ সৈতে হাতৰ পিছফাল"</string>
- <string name="spoken_emoji_1F447" msgid="8794022344940891388">"তলফালে নিৰ্দেশ কৰা তৰ্জনী আঙুলি"</string>
- <string name="spoken_emoji_1F448" msgid="3261812959215550650">"বগা পৃষ্ঠপটত বাওঁফালে নির্দেশ কৰা তর্জনী আঙুলিৰ সৈতে হাতৰ পিছফাল"</string>
- <string name="spoken_emoji_1F449" msgid="4764447975177805991">"সোঁফালে নিৰ্দেশ কৰা তৰ্জনী আঙুলি"</string>
- <string name="spoken_emoji_1F44A" msgid="7197417095486424841">"হাতৰ মুঠিৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F44B" msgid="1975968945250833117">"হাত-বাউলি দি থকা ভংগী"</string>
- <string name="spoken_emoji_1F44C" msgid="3185919567897876562">"সকলো ঠিক আছে বুজোৱা হাতৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F44D" msgid="6182553970602667815">"উৎসাহব্যঞ্জক ভংগি"</string>
- <string name="spoken_emoji_1F44E" msgid="8030851867365111809">"বুঢ়া আঙুলি তললৈ নির্দেশ কৰি অসন্মতি সূচোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F44F" msgid="5148753662268213389">"হাত-চাপৰি বজোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F450" msgid="1012021072085157054">"খোলা মুঠি বুজোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F451" msgid="8257466714629051320">"ৰাজমুকুট"</string>
- <string name="spoken_emoji_1F452" msgid="4567394011149905466">"মহিলাসকলে পিন্ধা টুপী"</string>
- <string name="spoken_emoji_1F453" msgid="5978410551173163010">"চশমা"</string>
- <string name="spoken_emoji_1F454" msgid="348469036193323252">"নে\'ক-টাই"</string>
- <string name="spoken_emoji_1F455" msgid="5665118831861433578">"টি-শ্বাৰ্ট"</string>
- <string name="spoken_emoji_1F456" msgid="1890991330923356408">"জিনছ্"</string>
- <string name="spoken_emoji_1F457" msgid="3904310482655702620">"পোছাক"</string>
- <string name="spoken_emoji_1F458" msgid="5704243858031107692">"কিম\'ন\'"</string>
- <string name="spoken_emoji_1F459" msgid="3553148747050035251">"বিকিনি"</string>
- <string name="spoken_emoji_1F45A" msgid="1389654639484716101">"মহিলাৰ পোছাক"</string>
- <string name="spoken_emoji_1F45B" msgid="1113293170254222904">"পাৰ্চ"</string>
- <string name="spoken_emoji_1F45C" msgid="3410257778598006936">"হেণ্ডবেগ"</string>
- <string name="spoken_emoji_1F45D" msgid="812176504300064819">"সৰু বেগ"</string>
- <string name="spoken_emoji_1F45E" msgid="2901741399934723562">"পুৰুষৰ জোতা"</string>
- <string name="spoken_emoji_1F45F" msgid="6828566359287798863">"ক্ৰীড়াবিদে পিন্ধা জোতা"</string>
- <string name="spoken_emoji_1F460" msgid="305863879170420855">"ওখ খুৰাযুক্ত জোতা"</string>
- <string name="spoken_emoji_1F461" msgid="5160493217831417630">"মহিলাৰ ছেণ্ডেল"</string>
- <string name="spoken_emoji_1F462" msgid="1722897795554863734">"মহিলাৰ বুট জোতা"</string>
- <string name="spoken_emoji_1F463" msgid="5850772903593010699">"পদচিহ্ন"</string>
- <string name="spoken_emoji_1F464" msgid="1228335905487734913">"আবক্ষ প্ৰতিমাৰ ছাঁয়ামূৰ্তি"</string>
- <string name="spoken_emoji_1F465" msgid="4461307702499679879">"দুজন ব্যক্তিৰ আবক্ষমূৰ্তি"</string>
- <string name="spoken_emoji_1F466" msgid="1938873085514108889">"ল\'ৰা"</string>
- <string name="spoken_emoji_1F467" msgid="8237080594860144998">"ছোৱালী"</string>
- <string name="spoken_emoji_1F468" msgid="6081300722526675382">"পুৰুষ"</string>
- <string name="spoken_emoji_1F469" msgid="1090140923076108158">"মহিলা"</string>
- <string name="spoken_emoji_1F46A" msgid="5063570981942606595">"পৰিয়াল"</string>
- <string name="spoken_emoji_1F46B" msgid="6795882374287327952">"হাতে হাত ধৰা পুৰুষ-মহিলা"</string>
- <string name="spoken_emoji_1F46C" msgid="6844464165783964495">"দুজন মানুহে হাতে-হাত ধৰি থকা ছবি"</string>
- <string name="spoken_emoji_1F46D" msgid="2316773068014053180">"দুগৰাকী মহিলাই হাতে হাত ধৰি থকা ভংগী"</string>
- <string name="spoken_emoji_1F46E" msgid="5897625605860822401">"আৰক্ষী বিষয়া"</string>
- <string name="spoken_emoji_1F46F" msgid="7716871657717641490">"পুতলা শহাপহুৰ কাণ পিন্ধা মহিলা"</string>
- <string name="spoken_emoji_1F470" msgid="6409995400510338892">"ওৰণি লোৱা কইনা"</string>
- <string name="spoken_emoji_1F471" msgid="3058247860441670806">"সোণালী ৰঙৰ চুলিৰ ব্যক্তি"</string>
- <string name="spoken_emoji_1F472" msgid="3928854667819339142">"চীনা টুপী পৰিহিত মানুহ"</string>
- <string name="spoken_emoji_1F473" msgid="5921952095808988381">"পাগুৰি পৰিহিত মানুহ"</string>
- <string name="spoken_emoji_1F474" msgid="1082237499496725183">"বয়সীয়াল মানুহ"</string>
- <string name="spoken_emoji_1F475" msgid="7280323988642212761">"বয়সস্থ মহিলা"</string>
- <string name="spoken_emoji_1F476" msgid="4713322657821088296">"কেঁচুৱা"</string>
- <string name="spoken_emoji_1F477" msgid="2197036131029221370">"নিৰ্মাণ কার্যত জড়িত শ্ৰমিক"</string>
- <string name="spoken_emoji_1F478" msgid="7245521193493488875">"ৰাজকুমাৰী"</string>
- <string name="spoken_emoji_1F479" msgid="6876475321015553972">"জাপানী দানৱ"</string>
- <string name="spoken_emoji_1F47A" msgid="3900813633102703571">"জাপানী গ\'বলিন"</string>
- <string name="spoken_emoji_1F47B" msgid="2608250873194079390">"ভূত"</string>
- <string name="spoken_emoji_1F47C" msgid="3838699131276537421">"শিশু দেৱদূত"</string>
- <string name="spoken_emoji_1F47D" msgid="2874077455888369538">"বহিৰ্জাগতিক প্ৰাণী"</string>
- <string name="spoken_emoji_1F47E" msgid="3642607168625579507">"বহিৰ্গ্ৰহৰ দানৱ"</string>
- <string name="spoken_emoji_1F47F" msgid="441605977269926252">"দুষ্ট ভূত পোৱালী"</string>
- <string name="spoken_emoji_1F480" msgid="3696253485164878739">"লাওখোলা"</string>
- <string name="spoken_emoji_1F481" msgid="320408708521966893">"তথ্য যোগান ধৰা ডেস্কত থকা লোক"</string>
- <string name="spoken_emoji_1F482" msgid="3424354860245608949">"ৰখীয়া"</string>
- <string name="spoken_emoji_1F483" msgid="3221113594843849083">"নৰ্তকী"</string>
- <string name="spoken_emoji_1F484" msgid="7348014979080444885">"লিপষ্টিক"</string>
- <string name="spoken_emoji_1F485" msgid="6133507975565116339">"নেইল প\'লিশ্ব"</string>
- <string name="spoken_emoji_1F486" msgid="9085459968247394155">"মুখমণ্ডল মালিছ কৰা"</string>
- <string name="spoken_emoji_1F487" msgid="1479113637259592150">"চুলি কটোৱা"</string>
- <string name="spoken_emoji_1F488" msgid="6922559285234100252">"নাপিতৰ খুঁটি"</string>
- <string name="spoken_emoji_1F489" msgid="8114863680950147305">"ছিৰিঞ্জ"</string>
- <string name="spoken_emoji_1F48A" msgid="8526843630145963032">"পিল"</string>
- <string name="spoken_emoji_1F48B" msgid="2538528967897640292">"চুম্বনৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F48C" msgid="1681173271652890232">"প্ৰেমপত্ৰ"</string>
- <string name="spoken_emoji_1F48D" msgid="8259886164999042373">"আঙঠি"</string>
- <string name="spoken_emoji_1F48E" msgid="8777981696011111101">"ৰত্ন পাথৰ"</string>
- <string name="spoken_emoji_1F48F" msgid="741593675183677907">"চুম্বন"</string>
- <string name="spoken_emoji_1F490" msgid="4482549128959806736">"ফুলৰ থোপা"</string>
- <string name="spoken_emoji_1F491" msgid="2305245307882441500">"হৃদয় চিহ্নৰ সৈতে পুৰুষ আৰু মহিলা"</string>
- <string name="spoken_emoji_1F492" msgid="3884119934804475732">"বিবাহ"</string>
- <string name="spoken_emoji_1F493" msgid="1208828371565525121">"স্পন্দিত হৃদয়"</string>
- <string name="spoken_emoji_1F494" msgid="6198876398509338718">"ভঙা হৃদয়"</string>
- <string name="spoken_emoji_1F495" msgid="9206202744967130919">"দুখন হৃদয়"</string>
- <string name="spoken_emoji_1F496" msgid="5436953041732207775">"চিকমিকাই থকা হৃদয়"</string>
- <string name="spoken_emoji_1F497" msgid="7285142863951448473">"বৰ্ধমান হৃদয়"</string>
- <string name="spoken_emoji_1F498" msgid="7940131245037575715">"হৃদয় আৰু কাঁড়"</string>
- <string name="spoken_emoji_1F499" msgid="4453235040265550009">"নীলা ৰঙৰ হৃদয়"</string>
- <string name="spoken_emoji_1F49A" msgid="6262178648366971405">"সেউজীয়া ৰঙৰ হৃদয়"</string>
- <string name="spoken_emoji_1F49B" msgid="8085384999750714368">"হালধীয়া ৰঙৰ হৃদয়"</string>
- <string name="spoken_emoji_1F49C" msgid="453829540120898698">"বেঙুনীয়া ৰঙৰ হৃদয়ৰ ছবি"</string>
- <string name="spoken_emoji_1F49D" msgid="3460534750224161888">"ফিটাৰ সৈতে হৃদয়"</string>
- <string name="spoken_emoji_1F49E" msgid="4490636226072523867">"আৱৰ্তন কৰি থকা হৃদয়"</string>
- <string name="spoken_emoji_1F49F" msgid="2059319756421226336">"হৃদয় প্ৰতীকৰ সৈতে সজোৱা কাৰ্য"</string>
- <string name="spoken_emoji_1F4A0" msgid="1954850380550212038">"ভিতৰত এটা বিন্দু থকা হীৰাৰ আকৃতি"</string>
- <string name="spoken_emoji_1F4A1" msgid="403137413540909021">"বৈদ্যুতিক বাতি"</string>
- <string name="spoken_emoji_1F4A2" msgid="2604192053295622063">"খঙৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F4A3" msgid="6378351742957821735">"বোমা"</string>
- <string name="spoken_emoji_1F4A4" msgid="7217736258870346625">"নিদ্ৰাৰত অৱস্থাৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F4A5" msgid="5401995723541239858">"সংঘৰ্ষৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F4A6" msgid="3837802182716483848">"ঘাম ওলোৱা বুজোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F4A7" msgid="5718438987757885141">"টোপাল"</string>
- <string name="spoken_emoji_1F4A8" msgid="4472108229720006377">"প্ৰচণ্ড বেগেৰে গতি কৰাৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F4A9" msgid="1240958472788430032">"এদ\'ম বিষ্ঠা"</string>
- <string name="spoken_emoji_1F4AA" msgid="8427525538635146416">"ফুলোৱা বাইচেপ"</string>
- <string name="spoken_emoji_1F4AB" msgid="5484114759939427459">"মূৰ ঘূৰোৱাৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F4AC" msgid="5571196638219612682">"সংলাপ বুজোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F4AD" msgid="353174619257798652">"চিন্তা-ভাবনাৰ বেলুন"</string>
- <string name="spoken_emoji_1F4AE" msgid="1223142786927162641">"বগা ফুল"</string>
- <string name="spoken_emoji_1F4AF" msgid="3526278354452138397">"এশ পইণ্ট বুজোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F4B0" msgid="4124102195175124156">"মানি বেগ"</string>
- <string name="spoken_emoji_1F4B1" msgid="8339494003418572905">"মুদ্ৰাৰ বিনিময়"</string>
- <string name="spoken_emoji_1F4B2" msgid="3179159430187243132">"ডাঠকৈ অংকিত ড\'লাৰৰ চিন"</string>
- <string name="spoken_emoji_1F4B3" msgid="5375412518221759596">"ক্ৰেডিট কাৰ্ড"</string>
- <string name="spoken_emoji_1F4B4" msgid="1068592463669453204">"য়েন চিনযুক্ত বেংকনোটৰ ছবি"</string>
- <string name="spoken_emoji_1F4B5" msgid="1426708699891832564">"ডলাৰ চিহ্ন থকা বেংক ন\'ট বুজোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F4B6" msgid="8289249930736444837">"ইউৰ\' চিনযুক্ত বেংকনোটৰ ছবি"</string>
- <string name="spoken_emoji_1F4B7" msgid="5245100496860739429">"পাউণ্ড চিনযুক্ত বেংকনোটৰ ছবি"</string>
- <string name="spoken_emoji_1F4B8" msgid="4401099580477164440">"পাখী লগা পইচা"</string>
- <string name="spoken_emoji_1F4B9" msgid="647509393536679903">"ঊৰ্ধ্বমুখী প্ৰৱণতাৰ সৈতে চ্চাৰ্ট আৰু য়েনৰ চিন"</string>
- <string name="spoken_emoji_1F4BA" msgid="1269737854891046321">"আসন"</string>
- <string name="spoken_emoji_1F4BB" msgid="6252883563347816451">"ব্যক্তিগত কম্পিউটাৰ"</string>
- <string name="spoken_emoji_1F4BC" msgid="6182597732218446206">"ব্ৰিফকেছ"</string>
- <string name="spoken_emoji_1F4BD" msgid="5820961044768829176">"সৰু ডিস্ক"</string>
- <string name="spoken_emoji_1F4BE" msgid="4754542485835379808">"ফ্ল\'পী ডিস্ক"</string>
- <string name="spoken_emoji_1F4BF" msgid="2237481756984721795">"অপ্টিকেল ডিস্ক"</string>
- <string name="spoken_emoji_1F4C0" msgid="491582501089694461">"ডি. ভি. ডি."</string>
- <string name="spoken_emoji_1F4C1" msgid="6645461382494158111">"ফাইলৰ ফ\'ল্ডাৰ"</string>
- <string name="spoken_emoji_1F4C2" msgid="8095638715523765338">"খোলা ফাইলৰ ফ\'ল্ডাৰ"</string>
- <string name="spoken_emoji_1F4C3" msgid="3727274466173970142">"চুক মেৰখাই থকা পৃষ্ঠা"</string>
- <string name="spoken_emoji_1F4C4" msgid="4382570710795501612">"সোঁফালটো মুখৰফালে পাক খাই থকা পৃষ্ঠা"</string>
- <string name="spoken_emoji_1F4C5" msgid="8693944622627762487">"কেলেণ্ডাৰ"</string>
- <string name="spoken_emoji_1F4C6" msgid="8469908708708424640">"বেৰত ওলমাই থোৱা কেলেণ্ডাৰ"</string>
- <string name="spoken_emoji_1F4C7" msgid="2665313547987324495">"কাৰ্ড ইণ্ডেক্স"</string>
- <string name="spoken_emoji_1F4C8" msgid="8007686702282833600">"ঊৰ্ধ্বমুখী প্ৰৱণতাৰ সৈতে চ্চাৰ্ট"</string>
- <string name="spoken_emoji_1F4C9" msgid="2271951411192893684">"অধোগামী প্ৰৱণতাৰ সৈতে চ্চাৰ্ট"</string>
- <string name="spoken_emoji_1F4CA" msgid="3525692829622381444">"দণ্ড চিত্ৰ"</string>
- <string name="spoken_emoji_1F4CB" msgid="977639227554095521">"ক্লিপব\'ৰ্ড"</string>
- <string name="spoken_emoji_1F4CC" msgid="156107396088741574">"পুশ্বপিন"</string>
- <string name="spoken_emoji_1F4CD" msgid="4266572175361190231">"ওপৰৰ অংশ গোলাকাৰ আকৃতিৰ হেঁচি দিলে সোমোৱা গজাল"</string>
- <string name="spoken_emoji_1F4CE" msgid="6294288509864968290">"পেপাৰক্লিপ"</string>
- <string name="spoken_emoji_1F4CF" msgid="149679400831136810">"পোন ৰুলাৰ"</string>
- <string name="spoken_emoji_1F4D0" msgid="8130339336619202915">"ত্ৰিকোণাকাৰ ৰুলাৰ"</string>
- <string name="spoken_emoji_1F4D1" msgid="5852176364856284968">"বুকমার্কৰ টেব"</string>
- <string name="spoken_emoji_1F4D2" msgid="2276810154105920052">"লেজাৰ"</string>
- <string name="spoken_emoji_1F4D3" msgid="5873386492793610808">"টোকাবহী"</string>
- <string name="spoken_emoji_1F4D4" msgid="4754469936418776360">"সুন্দৰকৈ সজোৱা ক\'ভাৰৰ টোকাবহী"</string>
- <string name="spoken_emoji_1F4D5" msgid="4642713351802778905">"বন্ধ কিতাপ"</string>
- <string name="spoken_emoji_1F4D6" msgid="6987347918381807186">"খোলা কিতাপ"</string>
- <string name="spoken_emoji_1F4D7" msgid="7813394163241379223">"সেউজীয়া ৰঙৰ কিতাপ"</string>
- <string name="spoken_emoji_1F4D8" msgid="7189799718984979521">"নীলা ৰঙৰ কিতাপ"</string>
- <string name="spoken_emoji_1F4D9" msgid="3874664073186440225">"কমলা ৰঙৰ কিতাপ"</string>
- <string name="spoken_emoji_1F4DA" msgid="872212072924287762">"কিতাপ"</string>
- <string name="spoken_emoji_1F4DB" msgid="2015183603583392969">"নাম লিখা বেজ"</string>
- <string name="spoken_emoji_1F4DC" msgid="5075845110932456783">"স্ক্ৰ\'ল"</string>
- <string name="spoken_emoji_1F4DD" msgid="2494006707147586786">"মেম\'"</string>
- <string name="spoken_emoji_1F4DE" msgid="7883008605002117671">"টেলিফ\'ন ৰিচিভাৰ"</string>
- <string name="spoken_emoji_1F4DF" msgid="3538610110623780465">"পেজাৰ"</string>
- <string name="spoken_emoji_1F4E0" msgid="2960778342609543077">"ফেক্স মেচিন"</string>
- <string name="spoken_emoji_1F4E1" msgid="6269733703719242108">"উপগ্ৰহৰ পৰা তথ্য আহৰণ কৰা এণ্টেনা"</string>
- <string name="spoken_emoji_1F4E2" msgid="1987535386302883116">"ৰাইজক উদ্দেশ্য কৰি ব্যৱহৃত লাউডস্পীকাৰ"</string>
- <string name="spoken_emoji_1F4E3" msgid="5588916572878599224">"হৰ্ষধ্বনিৰ কাৰণে মেগাফ\'ন"</string>
- <string name="spoken_emoji_1F4E4" msgid="2063561529097749707">"আউটবক্স ট্ৰে\'"</string>
- <string name="spoken_emoji_1F4E5" msgid="3232462702926143576">"ইনবক্স ট্ৰে\'"</string>
- <string name="spoken_emoji_1F4E6" msgid="3399454337197561635">"টোপোলা"</string>
- <string name="spoken_emoji_1F4E7" msgid="5557136988503873238">"ই-মেইলৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F4E8" msgid="30698793974124123">"অন্তৰ্গামী লেফাফা"</string>
- <string name="spoken_emoji_1F4E9" msgid="5947550337678643166">"ওপৰত অধোগামী কাঁড় চিহ্ন থকা খাম"</string>
- <string name="spoken_emoji_1F4EA" msgid="772614045207213751">"নিম্নগামী পতাকাযুক্ত বন্ধ চিঠিৰ বাকচ"</string>
- <string name="spoken_emoji_1F4EB" msgid="6491414165464146137">"উত্তোলিত পতাকাযুক্ত বন্ধ চিঠিৰ বাকচ"</string>
- <string name="spoken_emoji_1F4EC" msgid="7369517138779988438">"উত্তোলিত পতাকাযুক্ত খোলা চিঠিৰ বাকচ"</string>
- <string name="spoken_emoji_1F4ED" msgid="5657520436285454241">"নিম্নগামী পতাকাযুক্ত খোলা চিঠিৰ বাকচ"</string>
- <string name="spoken_emoji_1F4EE" msgid="8464138906243608614">"প\'ষ্টবাকচ"</string>
- <string name="spoken_emoji_1F4EF" msgid="8801427577198798226">"ডাক পেঁপা"</string>
- <string name="spoken_emoji_1F4F0" msgid="6330208624731662525">"বাতৰিকাকত"</string>
- <string name="spoken_emoji_1F4F1" msgid="3966503935581675695">"ম\'বাইল ফ\'ন"</string>
- <string name="spoken_emoji_1F4F2" msgid="1057540341746100087">"বাওঁফালে স্থিত সোঁফালে নিদের্শ কৰা কাঁড়ৰ চিহ্নসহ ম\'বাইল ফ\'ন"</string>
- <string name="spoken_emoji_1F4F3" msgid="5003984447315754658">"কম্পন ম\'ড"</string>
- <string name="spoken_emoji_1F4F4" msgid="5549847566968306253">"অফ হৈ থকা ম\'বাইল ফ\'ন"</string>
- <string name="spoken_emoji_1F4F5" msgid="3660199448671699238">"ম\'বাইল ফ\'নৰ ব্যৱহাৰ নিষিদ্ধ"</string>
- <string name="spoken_emoji_1F4F6" msgid="2676974903233268860">"ছিংগনেলৰ দণ্ডৰ সৈতে এণ্টেনা"</string>
- <string name="spoken_emoji_1F4F7" msgid="2643891943105989039">"কেমেৰা"</string>
- <!-- no translation found for spoken_emoji_1F4F8 (6874216216317936645) -->
- <skip />
- <string name="spoken_emoji_1F4F9" msgid="4475626303058218048">"ভিডিঅ\' কেমেৰা"</string>
- <string name="spoken_emoji_1F4FA" msgid="1079796186652960775">"দূৰদৰ্শন"</string>
- <string name="spoken_emoji_1F4FB" msgid="3848729587403760645">"ৰেডিঅ’"</string>
- <string name="spoken_emoji_1F4FC" msgid="8370432508874310054">"ভিডিঅ\' কেছেট"</string>
- <!-- no translation found for spoken_emoji_1F4FD (992184090920043081) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F4FF (6566102135671766103) -->
- <skip />
- <string name="spoken_emoji_1F500" msgid="2389947994502144547">"পাকখোৱা সোঁফালে নির্দেশ কৰা দুডাল কাঁড়ৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F501" msgid="2132188352433347009">"ঘড়ীৰ কাটাৰ দিশত থকা সোঁফালে আৰু বাওঁফালে নির্দেশ কৰা দুডাল পৃথক কাঁড়ৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F502" msgid="2361976580513178391">"ঘড়ীৰ কাটাৰ দিশত সোঁফালে আৰু বাওঁফালে বৃত্তাকৃতিৰ আৱৰণেৰে খোলা মুখৰ চক্ৰাকাৰ কাঁড়"</string>
- <string name="spoken_emoji_1F503" msgid="8936283551917858793">"ঘড়ীৰ কাটাৰ দিশত নিম্নমুখী আৰু ঊৰ্ধ্বমুখী চক্ৰাকাৰ কাঁড়ৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F504" msgid="708290317843535943">"ঘড়ীৰ কাটাৰ বিপৰীত দিশত তলমুৱা আৰু ওপৰমুৱা খোলা মুখৰ চক্ৰাকাৰ কাঁড়"</string>
- <string name="spoken_emoji_1F505" msgid="6348909939004951860">"কম উজ্জ্বলতাৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F506" msgid="4449609297521280173">"অত্যন্ত উজ্জ্বল সূচোৱা প্ৰতীক"</string>
- <string name="spoken_emoji_1F507" msgid="7136386694923708448">"শব্দ নিৰৱ কৰা চিহ্ন থকা স্পীকাৰ"</string>
- <string name="spoken_emoji_1F508" msgid="5063567689831527865">"স্পীকাৰ"</string>
- <string name="spoken_emoji_1F509" msgid="3948050077992370791">"এটা ধ্বনি তৰংগৰ সৈতে স্পীকাৰ"</string>
- <string name="spoken_emoji_1F50A" msgid="5818194948677277197">"তিনিডাল শব্দ ধ্বনিৰ চিহ্ন থকা স্পীকাৰ"</string>
- <string name="spoken_emoji_1F50B" msgid="8083470451266295876">"বেটাৰি"</string>
- <string name="spoken_emoji_1F50C" msgid="7793219132036431680">"বৈদ্যুতিক প্লাগ"</string>
- <string name="spoken_emoji_1F50D" msgid="8140244710637926780">"বাওঁফালে নিৰ্দেশ কৰা আতচী কাচ"</string>
- <string name="spoken_emoji_1F50E" msgid="4751821352839693365">"সোঁফালে নিৰ্দেশ কৰা আতচী কাচ"</string>
- <string name="spoken_emoji_1F50F" msgid="915079280472199605">"তলা আৰু চিঁয়াহী কলম"</string>
- <string name="spoken_emoji_1F510" msgid="7658381761691758318">"চাবিৰ সৈতে বন্ধ তলা"</string>
- <string name="spoken_emoji_1F511" msgid="262319867774655688">"চাবি"</string>
- <string name="spoken_emoji_1F512" msgid="5628688337255115175">"তলা"</string>
- <string name="spoken_emoji_1F513" msgid="8579201846619420981">"খোল খাই থকা তলা"</string>
- <string name="spoken_emoji_1F514" msgid="7027268683047322521">"ঘণ্টা"</string>
- <string name="spoken_emoji_1F515" msgid="8903179856036069242">"কোনোধৰণৰ শব্দ কৰা নিষেধ"</string>
- <string name="spoken_emoji_1F516" msgid="108097933937925381">"বুকমার্ক"</string>
- <string name="spoken_emoji_1F517" msgid="2450846665734313397">"শিকলিৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F518" msgid="7028220286841437832">"ৰেডিঅ\' বুটাম"</string>
- <string name="spoken_emoji_1F519" msgid="8211189165075445687">"ওপৰত বাওঁফালে নিদের্শ কৰা কাঁড়ৰ চিহ্ন থকা \'বেক\' লিখা বর্গ"</string>
- <string name="spoken_emoji_1F51A" msgid="823966751787338892">"বাওঁফালে নির্দেশ কৰা কাঁড়ৰ চিহ্নৰ তলত \'End\' লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F51B" msgid="5920570742107943382">"সোঁ-বাওঁ দুয়োফালে নির্দেশ কৰা কাঁড়ৰ চিহ্নৰ তলত \'On\' লিখা বর্গ"</string>
- <string name="spoken_emoji_1F51C" msgid="110609810659826676">"সোঁফালে নির্দেশ কৰা কাঁড়ৰ চিহ্নৰ তলত \'Soon\' লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F51D" msgid="4087697222026095447">"ওপৰলৈ নির্দেশ কৰা কাঁড়ৰ চিহ্নৰ তলত \'Top\' লিখা থকা বর্গ"</string>
- <string name="spoken_emoji_1F51E" msgid="8512873526157201775">"ওঠৰ বছৰৰ তলৰ লোকৰ প্ৰৱেশ নিষেধ সূচোৱা প্ৰতীক"</string>
- <string name="spoken_emoji_1F51F" msgid="8673370823728653973">"কীকেপ টেন"</string>
- <string name="spoken_emoji_1F520" msgid="7335109890337048900">"লেটিন বৰফলা আখৰৰ বাবে ইনপুট চিহ্ন"</string>
- <string name="spoken_emoji_1F521" msgid="2693185864450925778">"লেটিন সৰুফলাৰ আখৰৰ বাবে ইনপুট চিহ্ন"</string>
- <string name="spoken_emoji_1F522" msgid="8419130286280673347">"সংখ্যাৰ ইনপুট সূচোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F523" msgid="3318053476401719421">"প্ৰতীকসমূহৰ বাবে ইনপুট চিহ্ন"</string>
- <string name="spoken_emoji_1F524" msgid="1625073997522316331">"লেটিন ভাষাৰ বর্ণৰ ইনপুট সূচোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F525" msgid="4083884189172963790">"জুই"</string>
- <string name="spoken_emoji_1F526" msgid="2035494936742643580">"বৈদ্যুতিক টৰ্চ লাইট"</string>
- <string name="spoken_emoji_1F527" msgid="134257142354034271">"ৰেঞ্চ"</string>
- <string name="spoken_emoji_1F528" msgid="700627429570609375">"হাতুৰি"</string>
- <string name="spoken_emoji_1F529" msgid="7480548235904988573">"নট আৰু বল্টু"</string>
- <string name="spoken_emoji_1F52A" msgid="7613580031502317893">"হ\'চ\'"</string>
- <string name="spoken_emoji_1F52B" msgid="4554906608328118613">"পিষ্টল"</string>
- <string name="spoken_emoji_1F52C" msgid="1330294501371770790">"অণুবীক্ষণ যন্ত্ৰ"</string>
- <string name="spoken_emoji_1F52D" msgid="7549551775445177140">"দূৰবীক্ষণ যন্ত্ৰ"</string>
- <string name="spoken_emoji_1F52E" msgid="4457099417872625141">"স্ফটিকৰ বল"</string>
- <string name="spoken_emoji_1F52F" msgid="8899031001317442792">"ছয়টা চুক আৰু মাজত বিন্দু থকা তৰাচিহ্ন"</string>
- <string name="spoken_emoji_1F530" msgid="3572898444281774023">"শিকাৰু বুজোৱা জাপানী চিহ্ন"</string>
- <string name="spoken_emoji_1F531" msgid="5225633376450025396">"ত্ৰিশূলৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F532" msgid="9169568490485180779">"ক\'লা ৰঙৰ বর্গৰ বুটাম"</string>
- <string name="spoken_emoji_1F533" msgid="6554193837201918598">"বৰ্গাকৃতিৰ বগা বুটাম"</string>
- <string name="spoken_emoji_1F534" msgid="8339298801331865340">"ডাঙৰ ৰঙা বৃত্ত"</string>
- <string name="spoken_emoji_1F535" msgid="1227403104835533512">"ডাঙৰ নীলা চক্ৰ"</string>
- <string name="spoken_emoji_1F536" msgid="5477372445510469331">"কমলা ৰঙৰ ডাঙৰ হীৰা"</string>
- <string name="spoken_emoji_1F537" msgid="3158915214347274626">"ডাঙৰ নীলা হীৰা"</string>
- <string name="spoken_emoji_1F538" msgid="4300084249474451991">"সৰু কমলাৰঙী হীৰা"</string>
- <string name="spoken_emoji_1F539" msgid="6535159756325742275">"সৰু নীলা হীৰা"</string>
- <string name="spoken_emoji_1F53A" msgid="3728196273988781389">"ঊর্ধ্বমুখী ৰঙা ত্ৰিভুজ"</string>
- <string name="spoken_emoji_1F53B" msgid="7182097039614128707">"তলমুৱা ৰঙা ত্ৰিভুজ"</string>
- <string name="spoken_emoji_1F53C" msgid="4077022046319615029">"ওপৰমুৱা সৰু ৰঙা ত্ৰিভুজ"</string>
- <string name="spoken_emoji_1F53D" msgid="3939112784894620713">"তলমুৱা সৰু ৰঙা ত্ৰিভুজ"</string>
- <!-- no translation found for spoken_emoji_1F549 (4488493812823912137) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F54A (6329445861053369293) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F54B (1632185618342057203) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F54C (2444758230008443504) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F54D (8871149889908118955) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F54E (2602602033588655819) -->
- <skip />
- <string name="spoken_emoji_1F550" msgid="7761392621689986218">"ঘড়ীত এটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F551" msgid="2699448504113431716">"ঘড়ীত দুটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F552" msgid="5872107867411853750">"ঘড়ীত তিনিটা বজা দৃশ্য"</string>
- <string name="spoken_emoji_1F553" msgid="8490966286158640743">"ঘড়ীত চাৰিটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F554" msgid="7662585417832909280">"ঘড়ীত পাঁচটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F555" msgid="5564698204520412009">"ঘড়ীত ছয়টা বজা দৃশ্য"</string>
- <string name="spoken_emoji_1F556" msgid="7325712194836512205">"ঘড়ীত সাতটা বজা দৃশ্য"</string>
- <string name="spoken_emoji_1F557" msgid="4398343183682848693">"ঘড়ীত আঠটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F558" msgid="3110507820404018172">"ঘড়ীত নটা বজা দৃশ্য"</string>
- <string name="spoken_emoji_1F559" msgid="2972160366448337839">"ঘড়ীত দহটা বজা দৃশ্য"</string>
- <string name="spoken_emoji_1F55A" msgid="5568112876681714834">"ঘড়ীত এঘাৰটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F55B" msgid="6731739890330659276">"ঘড়ীত বাৰটা বজা দৃশ্য"</string>
- <string name="spoken_emoji_1F55C" msgid="7838853679879115890">"ঘড়ীত ডেৰটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F55D" msgid="3518832144255922544">"ঘড়ীত আঢ়ৈটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F55E" msgid="3092760695634993002">"ঘড়ীত চাৰে তিনিটা বজা দৃশ্য"</string>
- <string name="spoken_emoji_1F55F" msgid="2326720311892906763">"ঘড়ীত চাৰে চাৰিটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F560" msgid="5771339179963924448">"ঘড়ীত চাৰে পাচঁটা বজা দৃশ্য"</string>
- <string name="spoken_emoji_1F561" msgid="3139944777062475382">"ঘড়ীত চাৰে ছয়টা বজা দৃশ্য"</string>
- <string name="spoken_emoji_1F562" msgid="8273944611162457084">"ঘড়ীত সাত বাজি ত্ৰিশ মিনিট দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F563" msgid="8643976903718136299">"ঘড়ীত চাৰে আঠটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F564" msgid="3511070239796141638">"ঘড়ীত চাৰে নটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F565" msgid="4567451985272963088">"ঘড়ীত চাৰে দহটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F566" msgid="2790552288169929810">"ঘড়ীত চাৰে এঘাৰটা বজা দেখুৱাইছে"</string>
- <string name="spoken_emoji_1F567" msgid="9026037362100689337">"ঘড়ীত চাৰে বাৰটা বজা দেখুৱাইছে"</string>
- <!-- no translation found for spoken_emoji_1F56F (2425394083258103670) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F570 (2611444774363424788) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F573 (1039753319384915644) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F574 (1370973157808858727) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F575 (3393287560881832534) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F576 (6510040886626337527) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F577 (1745605672232546738) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F578 (5843261607004481128) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F579 (356353388497335187) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F587 (1529578701645787678) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F58A (5535685878758638056) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F58B (8383182102775796958) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F58C (3645908884921776727) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F58D (8498569396909368249) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F590 (1764003432828568259) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F595 (2331418391124951688) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F596 (1326418921526428839) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5A5 (5652785146334053695) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5A8 (1431495880490623659) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5B1 (5175363198176970281) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5B2 (638466571223781802) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5BC (2406817930103032256) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5C2 (5722791826015378721) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5C3 (2361411623100608566) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5C4 (5699005642361736394) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5D1 (8837990226577655561) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5D2 (875563245704330618) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5D3 (5759637997516385074) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5DC (2134509111665528807) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5DD (2537536524658220506) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5DE (369717954301912562) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5E1 (4756313645316161687) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5E3 (725415936980269374) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5EF (6775383222346053007) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5F3 (5365297662012404100) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F5FA (4806783543043181633) -->
- <skip />
- <string name="spoken_emoji_1F5FB" msgid="9037503671676124015">"মাউণ্ট ফুজি"</string>
- <string name="spoken_emoji_1F5FC" msgid="1409415995817242150">"ট\'কিঅ\' টাৱাৰ"</string>
- <string name="spoken_emoji_1F5FD" msgid="2562726956654429582">"ষ্টেচু অৱ লিবাৰ্টী"</string>
- <string name="spoken_emoji_1F5FE" msgid="1184469756905210580">"জাপানৰ মেপ"</string>
- <string name="spoken_emoji_1F5FF" msgid="6003594799354942297">"ম\'য়াই মূর্তি"</string>
- <string name="spoken_emoji_1F600" msgid="7601109464776835283">"হাঁহিমুখীয়া চেহেৰা"</string>
- <string name="spoken_emoji_1F601" msgid="746026523967444503">"হাঁহি থকা চকুৰে হাঁহিমুখীয়া চেহেৰা"</string>
- <string name="spoken_emoji_1F602" msgid="8354558091785198246">"আনন্দৰ চকুলোৰ সৈতে মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F603" msgid="3861022912544159823">"মেলা মুখেৰে হাঁহি থকা চেহেৰা"</string>
- <string name="spoken_emoji_1F604" msgid="5119021072966343531">"মুখ মেলি হাঁহি থকা মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F605" msgid="6140813923973561735">"খোলা মুখ আৰু শীতল ঘামেৰে হাঁহি থকা মুখ"</string>
- <string name="spoken_emoji_1F606" msgid="3549936813966832799">"মেলা মুখেৰে কিন্তু জোৰকৈ চকু মুদি হাঁহি থকা চেহেৰা"</string>
- <string name="spoken_emoji_1F607" msgid="2826424078212384817">"মৰলৰ সৈতে হাঁহিমুখীয়া ভংগী"</string>
- <string name="spoken_emoji_1F608" msgid="7343559595089811640">"শিঙৰ সৈতে হাঁহিমুখীয়া মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F609" msgid="5481030187207504405">"চকু টিপিয়াই থকা মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F60A" msgid="5023337769148679767">"চকুৰে প্ৰকাশ পোৱা হাঁহিমুখীয়া মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F60B" msgid="3005248217216195694">"সুস্বাদু খাদ্যৰ আমেজ লোৱা চেহেৰা"</string>
- <string name="spoken_emoji_1F60C" msgid="349384012958268496">"স্বস্তি অনুভৱ কৰা মুখ"</string>
- <string name="spoken_emoji_1F60D" msgid="7921853137164938391">"হৃদয় আকৃতিৰ চকুসহ হাঁহি থকা মুখ"</string>
- <string name="spoken_emoji_1F60E" msgid="441718886380605643">"ছানগ্লাছ পৰিহিত হাঁহি থকা মুখ"</string>
- <string name="spoken_emoji_1F60F" msgid="2674453144890180538">"বেঁকা হাঁহি মৰা চেহেৰা"</string>
- <string name="spoken_emoji_1F610" msgid="3225675825334102369">"কোনো ভংগী প্ৰকাশ নকৰা মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F611" msgid="7199179827619679668">"অনুভূতিহীন মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F612" msgid="985081329745137998">"বিৰক্ত মুখ"</string>
- <string name="spoken_emoji_1F613" msgid="5548607684830303562">"ঘাম নির্গত হোৱা মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F614" msgid="3196305665259916390">"চিন্তিত মুখ"</string>
- <string name="spoken_emoji_1F615" msgid="3051674239303969101">"বিভ্ৰান্ত চেহেৰা"</string>
- <string name="spoken_emoji_1F616" msgid="8124887056243813089">"বিবুদ্ধিত পৰা ভংগীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F617" msgid="7052733625511122870">"চুমা খোৱা মুখ"</string>
- <string name="spoken_emoji_1F618" msgid="408207170572303753">"চুমা যঁচা ভংগীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F619" msgid="8645430335143153645">"চকুৰে হাঁহি প্ৰকাশ পোৱা আৰু চুমা যঁচা ভংগীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F61A" msgid="2882157190974340247">"চকু মুদি চুমা যঁচা ভংগীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F61B" msgid="3765927202787211499">"বাহিৰলৈ জিভা উলিয়াই থকা মুখ"</string>
- <string name="spoken_emoji_1F61C" msgid="198943912107589389">"চকু টিপিয়াই জিভা উলিয়াই থকা মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F61D" msgid="7643546385877816182">"চকু মুদি জিভা উলিয়াই থকা ধেমেলীয়া ভংগী"</string>
- <string name="spoken_emoji_1F61E" msgid="1528732952202098364">"নিৰাশ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F61F" msgid="1853664164636082404">"চিন্তিত চেহেৰা"</string>
- <string name="spoken_emoji_1F620" msgid="6051942001307375830">"খঙাল মুখ"</string>
- <string name="spoken_emoji_1F621" msgid="2114711878097257704">"খঙাল মুখ"</string>
- <string name="spoken_emoji_1F622" msgid="29291014645931822">"কন্দনৰত মুখ"</string>
- <string name="spoken_emoji_1F623" msgid="7803959833595184773">"অধ্যৱসায়ী চেহেৰা"</string>
- <string name="spoken_emoji_1F624" msgid="8637637647725752799">"বিজয়ৰ আনন্দত আত্মহাৰা চেহেৰা"</string>
- <string name="spoken_emoji_1F625" msgid="6153625183493635030">"হতাশ কিন্তু স্বস্তিৰ মুখ"</string>
- <string name="spoken_emoji_1F626" msgid="6179485689935562950">"মুখ মেলি থকা ভ্ৰূ কুঞ্চিত মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F627" msgid="8566204052903012809">"ক্ষোভ প্ৰকাশ কৰা ভংগীৰে মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F628" msgid="8875777401624904224">"ভীতিগ্ৰস্ত চেহেৰা"</string>
- <string name="spoken_emoji_1F629" msgid="1411538490319190118">"ক্লান্ত চেহেৰা"</string>
- <string name="spoken_emoji_1F62A" msgid="4726686726690289969">"টোপনি ধৰি থকা ভংগীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F62B" msgid="3221980473921623613">"ক্লান্ত চেহেৰা"</string>
- <string name="spoken_emoji_1F62C" msgid="4616356691941225182">"মুখ বিকটাই থকা"</string>
- <string name="spoken_emoji_1F62D" msgid="4283677508698812232">"উচ্চস্বৰে কন্দনৰত চেহেৰা"</string>
- <string name="spoken_emoji_1F62E" msgid="726083405284353894">"মুখ মেলি থকা চেহেৰা"</string>
- <string name="spoken_emoji_1F62F" msgid="7746620088234710962">"মৌন মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F630" msgid="3298804852155581163">"মেলা মুখ আৰু শীতল ঘামৰে ঘমাৰ্ত চেহেৰা"</string>
- <string name="spoken_emoji_1F631" msgid="1603391150954646779">"শংকিত মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F632" msgid="4846193232203976013">"বিস্মিত চেহেৰা"</string>
- <string name="spoken_emoji_1F633" msgid="4023593836629700443">"ৰঙাপৰা মুখ"</string>
- <string name="spoken_emoji_1F634" msgid="3155265083246248129">"নিদ্ৰালু মুখ"</string>
- <string name="spoken_emoji_1F635" msgid="4616691133452764482">"মূৰ ঘূৰণি হোৱা মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F636" msgid="947000211822375683">"মুখবিহীন চেহেৰা"</string>
- <string name="spoken_emoji_1F637" msgid="1269551267347165774">"চিকিৎসা কাৰ্যত ব্যৱহাৰ কৰা মুখা"</string>
- <string name="spoken_emoji_1F638" msgid="3410766467496872301">"হাঁহি থকা চকুৰে হাঁহিমুখীয়া মেকুৰীৰ চেহেৰা"</string>
- <string name="spoken_emoji_1F639" msgid="1833417519781022031">"আনন্দৰ চকুলোৰ সৈতে মেকুৰীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F63A" msgid="8566294484007152613">"মেলা মুখেৰে হাঁহি থকা মেকুৰী"</string>
- <string name="spoken_emoji_1F63B" msgid="74417995938927571">"হৃদয়ৰ আকাৰৰ চকুৰ হাঁহি মুখীয়া মেকুৰীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F63C" msgid="6472812005729468870">"বেঁকা হাঁহি মাৰি থকা মেকুৰী"</string>
- <string name="spoken_emoji_1F63D" msgid="1638398369553349509">"চকু মুদি চুমা খোৱা ভংগীৰ মেকুৰীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F63E" msgid="6788969063020278986">"খঙাল ভংগীৰ মেকুৰীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F63F" msgid="1207234562459550185">"কান্দি থকা ভংগীৰ মেকুৰীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F640" msgid="6023054549904329638">"বেঁকা হাঁহি মৰা মেকুৰী মুখ"</string>
- <!-- no translation found for spoken_emoji_1F641 (2580807588556383139) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F642 (1150197386159721331) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F643 (7631520433919530552) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F644 (446284817942609022) -->
- <skip />
- <string name="spoken_emoji_1F645" msgid="5202090629227587076">"কোনো ভাল অভিব্যক্তি প্ৰকাশ নোপোৱা মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F646" msgid="6734425134415138134">"আস্বস্ত অনুভৱ কৰা চেহেৰা"</string>
- <string name="spoken_emoji_1F647" msgid="1090285518444205483">"গভীৰভাৱে শিৰ নত কৰা ব্যক্তি"</string>
- <string name="spoken_emoji_1F648" msgid="8978535230610522356">"বেয়া বস্তু নোচোৱা বান্দৰৰ চেহেৰা"</string>
- <string name="spoken_emoji_1F649" msgid="8486145279809495102">"হাতেৰে কাণ ঢাকি থকা বান্দৰৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F64A" msgid="1237524974033228660">"হাতেৰে মুখ ঢাকি কথা নোকোৱা ভংগীত থকা বান্দৰৰ মুখমণ্ডল"</string>
- <string name="spoken_emoji_1F64B" msgid="4251150782016370475">"ওপৰলৈ এখন হাত দাঙি সুখী ব্যক্তিৰ চেহেৰা"</string>
- <string name="spoken_emoji_1F64C" msgid="5446231430684558344">"উল্লাসেৰে দুয়োখন হাত দাঙি থকা ব্যক্তিৰ চেহেৰা"</string>
- <string name="spoken_emoji_1F64D" msgid="4646485595309482342">"চেলাউৰি কোঁচ খুৱাই অস্বস্তি অনুভৱ কৰা ব্যক্তিৰ চেহেৰা"</string>
- <string name="spoken_emoji_1F64E" msgid="3376579939836656097">"খং কৰি থকা ব্যক্তি"</string>
- <string name="spoken_emoji_1F64F" msgid="1044439574356230711">"হাত সাৱটি থকা ব্যক্তিৰ চেহেৰা"</string>
- <string name="spoken_emoji_1F680" msgid="513263736012689059">"ৰকেট"</string>
- <string name="spoken_emoji_1F681" msgid="9201341783850525339">"হেলিকপ্টাৰ"</string>
- <string name="spoken_emoji_1F682" msgid="8046933583867498698">"বাষ্পচালিত ৰে\'ল ইঞ্জিন"</string>
- <string name="spoken_emoji_1F683" msgid="8772750354339223092">"ৰেলৰ ডবা"</string>
- <string name="spoken_emoji_1F684" msgid="346396777356203608">"দ্ৰুতবেগী ৰে\'ল"</string>
- <string name="spoken_emoji_1F685" msgid="1237059817190832730">"বন্ধুকৰ গুলি সদৃশ তীব্ৰ-গতিৰ ট্ৰেইন"</string>
- <string name="spoken_emoji_1F686" msgid="3525197227223620343">"ট্ৰেইন"</string>
- <string name="spoken_emoji_1F687" msgid="5110143437960392837">"মেট্ৰ\'"</string>
- <string name="spoken_emoji_1F688" msgid="4702085029871797965">"পাতল চিৰিৰ ৰে\'ল পথ"</string>
- <string name="spoken_emoji_1F689" msgid="2375851019798817094">"ষ্টেচন"</string>
- <string name="spoken_emoji_1F68A" msgid="6368370859718717198">"ট্ৰাম গাড়ী"</string>
- <string name="spoken_emoji_1F68B" msgid="2920160427117436633">"ট্ৰামৰ ডবা"</string>
- <string name="spoken_emoji_1F68C" msgid="1061520934758810864">"বাছ"</string>
- <string name="spoken_emoji_1F68D" msgid="2890059031360969304">"আহি থকা বাছ"</string>
- <string name="spoken_emoji_1F68E" msgid="6234042976027309654">"বৈদ্যুতিক শক্তিৰে চালিত বাছ"</string>
- <string name="spoken_emoji_1F68F" msgid="5871099334672012107">"বাছ আস্থান"</string>
- <string name="spoken_emoji_1F690" msgid="8080964620200195262">"মিনিবাছ"</string>
- <string name="spoken_emoji_1F691" msgid="999173032408730501">"এম্বুলেঞ্চ"</string>
- <string name="spoken_emoji_1F692" msgid="1712863785341849487">"জুই নুমুৱা গাড়ী"</string>
- <string name="spoken_emoji_1F693" msgid="7987109037389768934">"পুলিচৰ গাড়ী"</string>
- <string name="spoken_emoji_1F694" msgid="6061658916653884608">"আহি থকা পুলিচৰ গাড়ী"</string>
- <string name="spoken_emoji_1F695" msgid="6913445460364247283">"টেক্সি"</string>
- <string name="spoken_emoji_1F696" msgid="6391604457418285404">"আহি থকা টেক্সি"</string>
- <string name="spoken_emoji_1F697" msgid="7978399334396733790">"যান-বাহন"</string>
- <string name="spoken_emoji_1F698" msgid="7006050861129732018">"আহি থকা যান"</string>
- <string name="spoken_emoji_1F699" msgid="630317052666590607">"বিনোদনমূলক কামত ব্যৱহৃত বাহন"</string>
- <string name="spoken_emoji_1F69A" msgid="4739797891735823577">"বস্তু বিতৰণ কৰা ট্ৰাক"</string>
- <string name="spoken_emoji_1F69B" msgid="4715997280786620649">"ট্ৰাকৰ পিছফালে ট্ৰেইলাৰ লগোৱা দীঘল ল\'ৰী"</string>
- <string name="spoken_emoji_1F69C" msgid="5557395610750818161">"ট্ৰেক্টৰ"</string>
- <string name="spoken_emoji_1F69D" msgid="5467164189942951047">"ম\'ন\' ৰেল"</string>
- <string name="spoken_emoji_1F69E" msgid="169238196389832234">"পাহাৰীয়া ৰে\'লপথ"</string>
- <string name="spoken_emoji_1F69F" msgid="7508128757012845102">"ওলমা ৰেলগাড়ী"</string>
- <string name="spoken_emoji_1F6A0" msgid="8733056213790160147">"পর্বতত ব্যৱহাৰ হোৱা ৰজ্জুপথ"</string>
- <string name="spoken_emoji_1F6A1" msgid="4666516337749347253">"কেবুলৰ সহায়ত চলা বায়বীয় ট্ৰাম"</string>
- <string name="spoken_emoji_1F6A2" msgid="4511220588943129583">"জাহাজ"</string>
- <string name="spoken_emoji_1F6A3" msgid="8412962252222205387">"বঠা মাৰি বোৱা নাও"</string>
- <string name="spoken_emoji_1F6A4" msgid="8867571300266339211">"স্পীডব\'ট"</string>
- <string name="spoken_emoji_1F6A5" msgid="7650260812741963884">"অানুভূমিক ট্ৰেফিক লাইট"</string>
- <string name="spoken_emoji_1F6A6" msgid="485575967773793454">"উলম্ব ট্ৰেফিক লাইট"</string>
- <string name="spoken_emoji_1F6A7" msgid="6411048933816976794">"নিৰ্মাণ কাৰ্য প্ৰগতিত আছে সূচোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F6A8" msgid="6345717218374788364">"আৱৰ্তিত লাইটসহ পুলিচৰ গাড়ী"</string>
- <string name="spoken_emoji_1F6A9" msgid="6586380356807600412">"খুঁটাত আঁৰি থোৱা ত্ৰিভুজাকাৰ পতাকা"</string>
- <string name="spoken_emoji_1F6AA" msgid="8954448167261738885">"দুৱাৰ"</string>
- <string name="spoken_emoji_1F6AB" msgid="5313946262888343544">"প্ৰৱেশ নিষিদ্ধ সূচোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F6AC" msgid="6946858177965948288">"ধূমপানৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F6AD" msgid="6320088669185507241">"ধূমপান নিষেধৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F6AE" msgid="1062469925352817189">"উপযুক্ত স্থানত পেলনীয়া বস্তুবোৰ পেলাবলৈ দিয়া চিহ্ন"</string>
- <string name="spoken_emoji_1F6AF" msgid="2286668056123642208">"পেলনীয়া বস্তুবোৰ এই স্থানত পেলোৱা নিষেধ সূচোৱা চিহ্ন"</string>
- <string name="spoken_emoji_1F6B0" msgid="179424763882990952">"খোৱা পানীৰ প্ৰতীক"</string>
- <string name="spoken_emoji_1F6B1" msgid="5585212805429161877">"পানী খোৱাৰ উপযোগী নোহোৱা বুজোৱা প্ৰতীক"</string>
- <string name="spoken_emoji_1F6B2" msgid="1771885082068421875">"বাইচাইকেল"</string>
- <string name="spoken_emoji_1F6B3" msgid="8033779581263314408">"চাইকেলৰ প্ৰৱেশ নিষেধ চিহ্ন"</string>
- <string name="spoken_emoji_1F6B4" msgid="1999538449018476947">"চাইকেল আৰোহী"</string>
- <string name="spoken_emoji_1F6B5" msgid="340846352660993117">"পাৰ্বত্য পথত চাইকেল চলোৱা লোক"</string>
- <string name="spoken_emoji_1F6B6" msgid="4351024386495098336">"পথচাৰী"</string>
- <string name="spoken_emoji_1F6B7" msgid="4564800655866838802">"পদযাত্ৰীৰ প্ৰৱেশ নিষেধ"</string>
- <string name="spoken_emoji_1F6B8" msgid="3020531906940267349">"শিশুৱে ৰাষ্টা পাৰ হোৱা ঠাই"</string>
- <string name="spoken_emoji_1F6B9" msgid="1207095844125041251">"পুৰুষৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F6BA" msgid="2346879310071017531">"মহিলাৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F6BB" msgid="2370172469642078526">"শৌচাগাৰ"</string>
- <string name="spoken_emoji_1F6BC" msgid="5558827593563530851">"কেঁচুৱাৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F6BD" msgid="9213590243049835957">"শৌচালয়"</string>
- <string name="spoken_emoji_1F6BE" msgid="394016533781742491">"শৌচাগাৰৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F6BF" msgid="906336365928291207">"বাথৰুমৰ শ্বাৱাৰ"</string>
- <string name="spoken_emoji_1F6C0" msgid="4592099854378821599">"স্নানাগাৰৰ চিহ্ন"</string>
- <string name="spoken_emoji_1F6C1" msgid="2845056048320031158">"বাথটাব"</string>
- <string name="spoken_emoji_1F6C2" msgid="8117262514698011877">"পাৰপত্ৰ নিয়ন্ত্ৰণ"</string>
- <string name="spoken_emoji_1F6C3" msgid="1176342001834630675">"সীমাশুল্ক বিভাগ"</string>
- <string name="spoken_emoji_1F6C4" msgid="1477622834179978886">"যাত্ৰীৰ বেগ ৰখা ঠাই"</string>
- <string name="spoken_emoji_1F6C5" msgid="2495834050856617451">"সাময়িকভাৱে বস্তু ৰখা ঠাইৰ চিহ্ন"</string>
- <!-- no translation found for spoken_emoji_1F6CB (3573872215992460856) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6CC (5533098630848925915) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6CD (4591419999684883647) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6CE (3747424887764059629) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6CF (4913111315645834484) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6D0 (7538197710400229967) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6E0 (3263282970310123206) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6E1 (6426910766335807918) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6E2 (5167605828052365314) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6E3 (1107731664336606313) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6E4 (5902467073917590761) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6E5 (5188878074701467086) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6E9 (5852950271931619238) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6EB (2733806707250741222) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6EC (4869529552294301253) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6F0 (3448012994947964984) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F6F3 (1127894976097893258) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F910 (4360725090163247960) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F911 (8595715714642200771) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F912 (6361337370946123054) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F913 (3175822147540114526) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F914 (3784454242803834936) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F915 (8277232429785015709) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F916 (4717142652070467513) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F917 (5434814678071084726) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F918 (6065030046434546286) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F980 (7396183110343909685) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F981 (1201691097417167784) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F982 (7295087763708065402) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F983 (9086413570044829984) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F984 (5757150507762082864) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F9C0 (3346738126264740148) -->
- <skip />
- <!-- no translation found for spoken_emoji_0023_20E3 (3693649188523505503) -->
- <skip />
- <!-- no translation found for spoken_emoji_002A_20E3 (6500437684406442358) -->
- <skip />
- <!-- no translation found for spoken_emoji_0030_20E3 (6312420508970951699) -->
- <skip />
- <!-- no translation found for spoken_emoji_0031_20E3 (5101790681679370329) -->
- <skip />
- <!-- no translation found for spoken_emoji_0032_20E3 (6852105251673250734) -->
- <skip />
- <!-- no translation found for spoken_emoji_0033_20E3 (6436737625517381721) -->
- <skip />
- <!-- no translation found for spoken_emoji_0034_20E3 (7652958059237626893) -->
- <skip />
- <!-- no translation found for spoken_emoji_0035_20E3 (1222504383755215423) -->
- <skip />
- <!-- no translation found for spoken_emoji_0036_20E3 (7251599202525740371) -->
- <skip />
- <!-- no translation found for spoken_emoji_0037_20E3 (7717155024038170161) -->
- <skip />
- <!-- no translation found for spoken_emoji_0038_20E3 (744556233370117245) -->
- <skip />
- <!-- no translation found for spoken_emoji_0039_20E3 (1891172571916106023) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1E8 (515584542061392145) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1E9 (9021988927513031086) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1EA (4856101611523027311) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1EB (3716145572492094038) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1EC (7286661601747455727) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1EE (94989132936786231) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1F1 (182374112533705554) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1F2 (8083744008211394946) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1F4 (1162797094210816783) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1F6 (8423968169207301745) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1F7 (6876638422035482357) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1F8 (8277196879892990334) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1F9 (2248522124836544558) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1FA (4458840480641529325) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1FC (1163927173985102777) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1FD (3030463315371570615) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E6_1F1FF (612355136879823825) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1E6 (8760838318301758538) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1E7 (3157629488105877061) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1E9 (3576256753416957572) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1EA (664083045789831960) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1EB (1288425089161930952) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1EC (7159669370784906474) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1ED (6171060568325681800) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1EE (8825724034337572789) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1EF (481381108368354037) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1F1 (323880581960666092) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1F2 (6865529687293471865) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1F3 (6196184089269330603) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1F4 (7901700697723663375) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1F6 (3206988419974375148) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1F7 (3483402348221577606) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1F8 (3399891901314769071) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1F9 (8985883748925470425) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1FB (3357087874695825993) -->
- <skip />
- <string name="spoken_emoji_1F1E7_1F1FC" msgid="2010150990697392924">"ব\'টছোৱানাৰ পতাকা"</string>
- <!-- no translation found for spoken_emoji_1F1E7_1F1FE (7660069185149104762) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E7_1F1FF (4808586235664381640) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1E6 (1994799795544707087) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1E8 (4545193589020675153) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1E9 (971846413301682398) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1EB (7040500840320409927) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1EC (7814411108372534362) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1ED (7525661715353339833) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1EE (918386022730555752) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1F0 (1272608483604229355) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1F1 (4368512465692540121) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1F2 (1029570029642994892) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1F3 (1409448857910840128) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1F4 (6875493644298026833) -->
- <skip />
- <string name="spoken_emoji_1F1E8_1F1F5" msgid="2538762550371590224">"ক্লীপার্টন দ্বীপৰ পতাকা"</string>
- <!-- no translation found for spoken_emoji_1F1E8_1F1F7 (888554264338218550) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1FA (4443590407200355667) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1FB (5581596688027484825) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1FC (7291024802305602214) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1FD (2788698554656649228) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1FE (5037633794290940318) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E8_1F1FF (5384200881950442912) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E9_1F1EA (4047812762841623779) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E9_1F1EC (3569858113686878222) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E9_1F1EF (5200510107957246395) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E9_1F1F0 (8230065040498090250) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E9_1F1F2 (6971088854496559333) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E9_1F1F4 (2684281180913271831) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1E9_1F1FF (5134944828411359548) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EA_1F1E6 (5992703503107448385) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EA_1F1E8 (7604769613933532639) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EA_1F1EA (780881058311953116) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EA_1F1EC (5379955220214737541) -->
- <skip />
- <string name="spoken_emoji_1F1EA_1F1ED" msgid="608191363783136124">"দক্ষিণ ছাহাৰাৰ পতাকা"</string>
- <!-- no translation found for spoken_emoji_1F1EA_1F1F7 (1974034165386559979) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EA_1F1F8 (7667964716717428380) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EA_1F1F9 (4028236645746627833) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EA_1F1FA (2605433302354957477) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EB_1F1EE (825447084506872225) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EB_1F1EF (1029994540873767904) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EB_1F1F0 (2992979756365410511) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EB_1F1F2 (1986035899283103062) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EB_1F1F4 (2441016703335601117) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EB_1F1F7 (6052493581307010327) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1E6 (8950853954004506523) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1E7 (8888357158195515349) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1E9 (3463286702486956748) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1EA (1180536780790586881) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1EB (1203001730316543314) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1EC (1840977808701617077) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1ED (8783297421754572238) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1EE (2567172982673015319) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1F1 (8178317151097107486) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1F2 (8595547572836079090) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1F3 (3646326386653741855) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1F5 (6864411408511905871) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1F6 (2059115105795502868) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1F7 (6459258808903505755) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1F8 (5458754397575470944) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1F9 (1467915615110741560) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1FA (4393335139566648919) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1FC (3425188247186220041) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EC_1F1FE (1021690400460955309) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1ED_1F1F0 (3761740442568650190) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1ED_1F1F2 (6910358977247451757) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1ED_1F1F3 (1646439132096214446) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1ED_1F1F7 (1052046916656026391) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1ED_1F1F9 (8078385390509081446) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1ED_1F1FA (8804528562628572718) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1E8 (3140919483825058219) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1E9 (5502581798727777828) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1EA (644825647040215471) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1F1 (5743874630545163729) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1F2 (3120136719636059223) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1F3 (7645444982385343194) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1F4 (9194565409945825135) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1F6 (8988731584319817673) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1F7 (2725630029704415631) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1F8 (1010746786020461229) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EE_1F1F9 (9197939415727389837) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EF_1F1EA (2768571528360031663) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EF_1F1F2 (5221399784104523954) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EF_1F1F4 (5417778604376647557) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1EF_1F1F5 (6507273654908139469) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F0_1F1EA (21237090866742866) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F0_1F1EC (8276011655824240009) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F0_1F1ED (6083653169314926215) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F0_1F1EE (9065926492362391494) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F0_1F1F2 (3247483394872878766) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F0_1F1F3 (5367548209741205839) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F0_1F1F5 (8936494847635883781) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F0_1F1F7 (6083499745947821288) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F0_1F1FC (1379041347924516759) -->
- <skip />
- <string name="spoken_emoji_1F1F0_1F1FE" msgid="4109777537443572630">"কে\'মেন দ্বীপপুঞ্জৰ পতাকা"</string>
- <!-- no translation found for spoken_emoji_1F1F0_1F1FF (552222434607517957) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1E6 (5166202354177379139) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1E7 (5664910004482751646) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1E8 (4030901907323824445) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1EE (1173785145388735876) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1F0 (3577045271636841729) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1F7 (7993304871488957893) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1F8 (5224840012819747543) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1F9 (3594812865734584207) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1FA (224221840159454205) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1FB (7718987237653945359) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F1_1F1FE (5998022588266933168) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1E6 (8965537225940059216) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1E8 (5827062380829465964) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1E9 (1226461313141287009) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1EA (559788800834584573) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1EB (5222394276026013118) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1EC (7183384701516848699) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1ED (6898522028833048325) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1F0 (7068152815895976960) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1F1 (7611046424376988616) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1F2 (491461913101284240) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1F3 (1450454181585256539) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1F4 (3352572139711280528) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1F5 (7536142087380383112) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1F6 (5424070233210033210) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1F7 (108173332528207905) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1F8 (4922582142276070473) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1F9 (3215356274998633531) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1FA (7064984448662302120) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1FB (7349657291755821742) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1FC (2970112458704297219) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1FD (6249447018233900361) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1FE (2415463066267602417) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F2_1F1FF (5374300224943425292) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F3_1F1E6 (7995033472926590061) -->
- <skip />
- <string name="spoken_emoji_1F1F3_1F1E8" msgid="6673558559311734824">"নিউ কেলেড\'নিয়াৰ পতাকা"</string>
- <!-- no translation found for spoken_emoji_1F1F3_1F1EA (5248874974108203948) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F3_1F1EB (8586671186548769011) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F3_1F1EC (3610271061141196804) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F3_1F1EE (3793576318302879471) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F3_1F1F1 (7394150679646822106) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F3_1F1F4 (4823752697520630443) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F3_1F1F5 (8143013034442974213) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F3_1F1F7 (2718588476956930593) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F3_1F1FA (2136206841853719289) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F3_1F1FF (7114679379862776721) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F4_1F1F2 (1366056698822189642) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1E6 (2318048598212415394) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1EA (3843366473938653876) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1EB (5842604724881232116) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1EC (1527509030357350666) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1ED (4519745708610996392) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1F0 (6461277576429215252) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1F1 (8076361813157658785) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1F2 (2895871984922747795) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1F3 (3351998070564812928) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1F7 (2273664192514768865) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1F8 (4184730889323208578) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1F9 (6088372177025496872) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1FC (6503480614531765009) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F5_1F1FE (8948077259790298897) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F6_1F1E6 (5941022501487103264) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F7_1F1EA (6520393107511408733) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F7_1F1F4 (24771949751001440) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F7_1F1F8 (3958542649861771783) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F7_1F1FA (1079726084663529719) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F7_1F1FC (3705031663938652819) -->
- <skip />
- <string name="spoken_emoji_1F1F8_1F1E6" msgid="2776179858340260230">"ছৌদী আৰবৰ পতাকা"</string>
- <!-- no translation found for spoken_emoji_1F1F8_1F1E7 (3665472085378450456) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1E8 (4466400506433158307) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1E9 (5614788248607521243) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1EA (2665982185283861392) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1EC (1054034328208566506) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1ED (4263061939910522547) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1EE (6565744105871887098) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1EF (3016523221609614043) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1F0 (5390016769601791982) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1F1 (6403850165793367854) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1F2 (4310711409277111575) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1F3 (6489885135970927076) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1F4 (5341079828952201668) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1F7 (8817875467979840211) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1F8 (2660263148212045846) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1F9 (8238122890022856070) -->
- <skip />
- <string name="spoken_emoji_1F1F8_1F1FB" msgid="4615906903576645230">"এল ছালভাড\'ৰৰ পতাকা"</string>
- <!-- no translation found for spoken_emoji_1F1F8_1F1FD (4404781163148659815) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1FE (7179176431724187154) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F8_1F1FF (8456502038439909076) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1E6 (7462600413724750923) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1E8 (8714687302692115701) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1E9 (4271932459960645451) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1EB (8824845043239747091) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1EC (6378688671192754868) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1ED (3342706257317087047) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1EF (1902800890327368738) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1F0 (5328199482828913429) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1F1 (8753850591122992884) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1F2 (5491037548857189992) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1F3 (7278463413655866267) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1F4 (7624316225889181844) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1F7 (5932331866489640094) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1F9 (4042249888728442471) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1FB (4705386325884538832) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1FC (9106106156487112003) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1F9_1F1FF (6594567669471176195) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FA_1F1E6 (7516283481055191487) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FA_1F1EC (7713151466830788434) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FA_1F1F2 (169503347987231777) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FA_1F1F8 (3794069376561841694) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FA_1F1FE (7768717385050492537) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FA_1F1FF (1957036711159158590) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FB_1F1E6 (6686626035855100794) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FB_1F1E8 (958901562721846738) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FB_1F1EA (8171514854370897858) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FB_1F1EC (7825072244650491600) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FB_1F1EE (8177320330941963456) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FB_1F1F3 (6211275163002022414) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FB_1F1FA (7638199094441690866) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FC_1F1EB (2750545602487865333) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FC_1F1F8 (1717055707936794276) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FD_1F1F0 (8924460310127605012) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FE_1F1EA (5020385658435288646) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FE_1F1F9 (5627032701159894458) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FF_1F1E6 (3518155724469542909) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FF_1F1F2 (1316086892525163001) -->
- <skip />
- <!-- no translation found for spoken_emoji_1F1FF_1F1FC (7229025296887296741) -->
- <skip />
-</resources>
diff --git a/java/res/values-as/strings-letter-descriptions.xml b/java/res/values-as/strings-letter-descriptions.xml
deleted file mode 100644
index 7cedd40eb..000000000
--- a/java/res/values-as/strings-letter-descriptions.xml
+++ /dev/null
@@ -1,208 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2014, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<!--
- 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">"অন্য বর্ণৰ সোঁফালে ওপৰত লিখা \'a\' সূচক"</string>
- <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"মিউ বর্ণৰ চিহ্ন"</string>
- <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"অন্য বর্ণৰ সোঁফালে ওপৰত লিখা \'o\' সূচক"</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">"লেটিন বর্ণমালাৰ আখৰ \'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">"লেটিন বর্ণমালাৰ সৰুফলাৰ থৰ্ণ বৰ্ণ"</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">"\'oe\' আখৰৰ যুক্তাক্ষৰ"</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">"সোঁফালে ওপৰৰ অংশত লিখা সৰু \'1\'"</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">"সোঁফালে ওপৰত লিখা সৰু \'4\'"</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-as/strings-talkback-descriptions.xml b/java/res/values-as/strings-talkback-descriptions.xml
deleted file mode 100644
index dad3944f5..000000000
--- a/java/res/values-as/strings-talkback-descriptions.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="spoken_use_headphones" msgid="4313642710742229868">"পাছৱৰ্ড কীবোৰ উচ্চাৰণ কৰা শুনিবলৈ হেডছেট এটা লগাওক৷"</string>
- <string name="spoken_current_text_is" msgid="4240549866156675799">"বৰ্তমানৰ পাঠ হৈছে %s"</string>
- <string name="spoken_no_text_entered" msgid="1711276837961785646">"কোনো পাঠ লিখা হোৱা নাই"</string>
- <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g>এ <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>ৰ পৰা <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>লৈ শুদ্ধ কৰে"</string>
- <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g>এ স্বয়ংক্ৰিয়ভাৱে শুদ্ধ কৰে"</string>
- <string name="spoken_empty_suggestion" msgid="4250215619373459752">"কোনো পৰামর্শ নাই"</string>
- <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>
- <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"প্ৰতীকসমূহ"</string>
- <string name="spoken_description_caps_lock" msgid="1224851412185975036">"শ্বিফ্ট"</string>
- <string name="spoken_description_delete" msgid="3878902286264983302">"মচক"</string>
- <string name="spoken_description_to_symbol" msgid="8244903740201126590">"প্ৰতীকসমূ্হ"</string>
- <string name="spoken_description_to_alpha" msgid="4081215210530031950">"বৰ্ণসমূহ"</string>
- <string name="spoken_description_to_numeric" msgid="4560261331530795682">"সংখ্যাসমূহ"</string>
- <string name="spoken_description_settings" msgid="7281251004003143204">"ছেটিংসমূহ"</string>
- <string name="spoken_description_tab" msgid="8210782459446866716">"টেব"</string>
- <string name="spoken_description_space" msgid="5908716896642059145">"স্পেচ"</string>
- <string name="spoken_description_mic" msgid="6153138783813452464">"ধ্বনি ইনপুট"</string>
- <string name="spoken_description_emoji" msgid="7990051553008088470">"ইম\'জি"</string>
- <string name="spoken_description_return" msgid="3183692287397645708">"উভতি যাওক"</string>
- <string name="spoken_description_search" msgid="5099937658231911288">"সন্ধান কৰক"</string>
- <string name="spoken_description_dot" msgid="5644176501632325560">"বিন্দু"</string>
- <string name="spoken_description_language_switch" msgid="6818666779313544553">"ভাষা সলনি কৰক"</string>
- <string name="spoken_description_action_next" msgid="431761808119616962">"পৰৱৰ্তী"</string>
- <string name="spoken_description_action_previous" msgid="2919072174697865110">"পূৰ্বৱৰ্তী"</string>
- <string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"শ্বিফ্ট সক্ষম কৰা হ’ল"</string>
- <string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"কেপছ্ লক সক্ষম কৰা হ’ল"</string>
- <string name="spoken_description_mode_symbol" msgid="111186851131446691">"চিহ্ন ম\'ড"</string>
- <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"অধিক প্ৰতীক ম\'ড"</string>
- <string name="spoken_description_mode_alpha" msgid="4676004119618778911">"বৰ্ণ ম\'ড"</string>
- <string name="spoken_description_mode_phone" msgid="2061220553756692903">"ফ\'ন ম\'ড"</string>
- <string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"ফ\'নৰ চিহ্নৰ ম\'ড"</string>
- <string name="announce_keyboard_hidden" msgid="2313574218950517779">"কীব\'ৰ্ড লুকুওৱা হ’ল"</string>
- <string name="announce_keyboard_mode" msgid="6698257917367823205">"<xliff:g id="KEYBOARD_MODE">%s</xliff:g> কীব\'ৰ্ড দেখুওৱা হৈছে"</string>
- <string name="keyboard_mode_date" msgid="6597407244976713364">"তাৰিখ"</string>
- <string name="keyboard_mode_date_time" msgid="3642804408726668808">"তাৰিখ আৰু সময়"</string>
- <string name="keyboard_mode_email" msgid="1239682082047693644">"ই-মেইল"</string>
- <string name="keyboard_mode_im" msgid="3812086215529493501">"বাৰ্তা লিখন"</string>
- <string name="keyboard_mode_number" msgid="5395042245837996809">"সংখ্যা"</string>
- <string name="keyboard_mode_phone" msgid="2486230278064523665">"ফ’ন"</string>
- <string name="keyboard_mode_text" msgid="9138789594969187494">"পাঠ"</string>
- <string name="keyboard_mode_time" msgid="8558297845514402675">"সময়"</string>
- <string name="keyboard_mode_url" msgid="8072011652949962550">"URL"</string>
- <string name="spoken_descrption_emoji_category_recents" msgid="4185344945205590692">"শেহতীয়া সমলসমূহ"</string>
- <string name="spoken_descrption_emoji_category_people" msgid="8414196269847492817">"সম্পৰ্ক ব্যক্তিসকল"</string>
- <string name="spoken_descrption_emoji_category_objects" msgid="6116297906606195278">"বস্তুসমূহ"</string>
- <string name="spoken_descrption_emoji_category_nature" msgid="5018340512472354640">"প্ৰকৃতি"</string>
- <string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"ঠাইসমূহ"</string>
- <string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"প্ৰতীকসমূহ"</string>
- <!-- no translation found for spoken_descrption_emoji_category_flags (5971573825866381472) -->
- <skip />
- <!-- no translation found for spoken_descrption_emoji_category_eight_smiley_people (5682663819532433464) -->
- <skip />
- <!-- no translation found for spoken_descrption_emoji_category_eight_animals_nature (5844950234883716704) -->
- <skip />
- <!-- no translation found for spoken_descrption_emoji_category_eight_food_drink (6196944764485349650) -->
- <skip />
- <!-- no translation found for spoken_descrption_emoji_category_eight_travel_places (3834085499381434611) -->
- <skip />
- <!-- no translation found for spoken_descrption_emoji_category_eight_activity (4795281669042975993) -->
- <skip />
- <string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"ইম\'টিকন"</string>
- <string name="spoken_description_upper_case" msgid="4904835255229433916">"বৰফলা <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string>
- <string name="spoken_letter_0049" msgid="4743162182646977944">"বৰফলা l"</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_emoticon_3A_2D_21_20" msgid="2410905667389534573">"আমনি পোৱা ভংগীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoticon_3A_2D_24_20" msgid="2481260475945560438">"লজ্জিত ভংগীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoticon_42_2D_29_20" msgid="1063205250387128068">"ছানগ্লাছ পৰিহিত মুখমণ্ডল"</string>
- <string name="spoken_emoticon_3A_4F_20" msgid="532695091593447238">"আচৰিত হোৱা ভংগীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoticon_3A_2D_2A_20" msgid="5612342617244114291">"চুমা খোৱা ভংগীৰ মুখমণ্ডল"</string>
- <string name="spoken_emoticon_3A_2D_5B_20" msgid="2223507987759905920">"দুখী মুখমণ্ডল"</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-as/strings.xml b/java/res/values-as/strings.xml
deleted file mode 100644
index 795f29a57..000000000
--- a/java/res/values-as/strings.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="english_ime_input_options" msgid="3909945612939668554">"ইনপুট বিকল্পসমূহ"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"সম্পৰ্কসূচীৰ নামবোৰত চাওক"</string>
- <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"বানান পৰীক্ষকে আপোনাৰ সম্পৰ্কসূচীৰ নামবোৰ ব্যৱহাৰ কৰে"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"কী টিপিলে কম্পন কৰক"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"কী টিপিলে শব্দ হ\'ব"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"কী টিপিলে প\'পআপ ওলাব"</string>
- <string name="settings_screen_preferences" msgid="2696713156722014624">"অগ্ৰাধিকাৰসমূহ"</string>
- <string name="settings_screen_accounts" msgid="2786418968536696670">"একাউণ্ট আৰু গোপনীয়তা"</string>
- <string name="settings_screen_appearance" msgid="7358046399111611615">"বাহ্যিক ৰূপ আৰু চানেকিসমূহ"</string>
- <string name="settings_screen_gesture" msgid="8826372746901183556">"আঙুলি পিছলাই টাইপ কৰাৰ সুবিধা"</string>
- <string name="settings_screen_correction" msgid="1616818407747682955">"পাঠ শুধৰণি"</string>
- <string name="settings_screen_advanced" msgid="7472408607625972994">"উচ্চখাপৰ"</string>
- <string name="settings_screen_theme" msgid="2137262503543943871">"থীম"</string>
- <string name="enable_split_keyboard" msgid="4177264923999493614">"বিভক্ত কীবর্ড সক্ষম কৰক"</string>
- <string name="cloud_sync_title" msgid="8579271074443847055">"Google কীব\'ৰ্ড ছিংক"</string>
- <string name="cloud_sync_summary" msgid="7684887161145650857">"ছিংক হৈ আছে"</string>
- <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"সকলো ডিভাইচত আপোনাৰ ব্যক্তিগত অভিধান ছিংক কৰক"</string>
- <string name="sync_now_title" msgid="3088838136743277721">"এতিয়া ছিংক কৰক"</string>
- <string name="clear_sync_data_title" msgid="8582001557037069154">"ক্লাউড ডেটা মচক"</string>
- <string name="clear_sync_data_summary" msgid="993477139012576584">"আপোনাৰ ছিংক কৰা ডেটাসমূহ Googleৰ পৰা মচে"</string>
- <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"আপোনাৰ ক্লাউডৰ পৰা ছিংক কৰা ডেটাসমূহ মচা হ\'ব। আপুনি নিশ্চিতনে?"</string>
- <string name="clear_sync_data_ok" msgid="613104067705915132">"মচক"</string>
- <string name="cloud_sync_cancel" msgid="5877481252150919037">"বাতিল কৰক"</string>
- <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"আপোনাৰ ব্যক্তিগত অভিধান ছিংক কৰা হ\'ব আৰু Google ছার্ভাৰত বেক আপ লোৱা হ\'ব।শব্দৰ সঘনতা পৰিসংখ্যাৰ তথ্য আমাৰ সামগ্ৰীসমূহ উন্নত কৰাত সহায় কৰিবলৈ সংগ্ৰহ কৰা হ\'ব পাৰে। সংগ্ৰহ আৰু ব্যৱহাৰ কৰা সকলো তথ্যৰ বাবে "<a href="https://www.google.com/policies/privacy">"Googleৰ ব্যক্তিগত নীতি"</a>" মনা হ\'ব।"</string>
- <string name="add_account_to_enable_sync" msgid="7836932571852055265">"এই সুবিধা সক্ষম কৰিবলৈ ডিভাইচত এটা Google একাউণ্ট যোগ কৰক"</string>
- <string name="cloud_sync_summary_disabled_work_profile" msgid="1381770407303129164">"ব্যৱসায় একাউণ্টসমূহৰ বাবে ব্যৱহাৰ কৰা Google এপসমূহৰ ডিভাইচবোৰৰ বাবে ছিংক উপলব্ধ নহয়"</string>
- <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"আন ইনপুট পদ্ধতিলৈ সলনি কৰক"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ভাষা সলনি কৰা কীটোৱে আন ইনপুট পদ্ধতিসমূহকো সামৰি লয়"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"ভাষা সলনি কৰা কী"</string>
- <string name="show_language_switch_key_summary" msgid="7343403647474265713">"যেতিয়া একাধিক ইনপুট ভাষা সক্ষম কৰি থোৱা থাকে তেতিয়া দেখুৱাওক"</string>
- <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"কী প\'পআপৰ প্ৰত্যাখ্যান বিলম্ব"</string>
- <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"কোনো বিলম্ব নাই"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"ডিফ\'ল্ট"</string>
- <string name="abbreviation_unit_milliseconds" msgid="8700286094028323363">"<xliff:g id="MILLISECONDS">%s</xliff:g>মি. ছে."</string>
- <string name="settings_system_default" msgid="6268225104743331821">"ছিষ্টেম ডিফ\'ল্ট"</string>
- <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>
- <string name="enable_metrics_logging" msgid="5506372337118822837">"উন্নত কৰক <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
- <string name="use_double_space_period" msgid="8781529969425082860">"দুবাৰ স্পেচবাৰ টিপি দাড়ি দিয়াৰ সুবিধা"</string>
- <string name="use_double_space_period_summary" msgid="6532892187247952799">"স্পেচবাৰত দুবাৰ টিপিলে এডাল দাড়ি বহুৱাই তাৰ পিছত এটা স্পেচ ভৰায়"</string>
- <string name="auto_cap" msgid="1719746674854628252">"স্বয়ং-বৰফলাকৰণ"</string>
- <string name="auto_cap_summary" msgid="7934452761022946874">"প্ৰতিটো বাক্যৰ প্ৰথমটো শব্দৰ প্ৰথম আখৰটো বৰফলাৰ কৰক"</string>
- <string name="edit_personal_dictionary" msgid="3996910038952940420">"ব্যক্তিগত অভিধান"</string>
- <string name="configure_dictionaries_title" msgid="4238652338556902049">"অতিৰিক্ত অভিধান"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"মুখ্য অভিধান"</string>
- <string name="prefs_show_suggestions" msgid="8026799663445531637">"শুধৰণিৰ পৰামৰ্শবোৰ দেখুৱাওক"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"টাইপ কৰি থাকোঁতে পৰামৰ্শৰ শব্দবোৰ দেখুৱাওক"</string>
- <string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"আপত্তিজনক শব্দবোৰ অৱৰোধ কৰক"</string>
- <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"সাম্ভাব্য আপত্তিজনক শব্দবোৰৰ পৰামৰ্শ নিদিব"</string>
- <string name="auto_correction" msgid="7630720885194996950">"স্বয়ং-সংশোধন"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"স্পেচবাৰ আৰু যতিচিহ্নই ভুলকৈ টাইপ কৰা শব্দবোৰ স্বয়ংক্ৰিয়ভাৱে শুদ্ধ কৰে"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"অফ কৰক"</string>
- <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"পৰিমিত"</string>
- <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"আগ্ৰাসী"</string>
- <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"অতি আগ্ৰাসী"</string>
- <string name="bigram_prediction" msgid="1084449187723948550">"পৰৱৰ্তী শব্দৰ পৰামৰ্শসমূহ"</string>
- <string name="bigram_prediction_summary" msgid="3896362682751109677">"পৰামৰ্শ প্ৰদান কৰিবলৈ পূৰ্বৱৰ্তী শব্দটো ব্যৱহাৰ কৰক"</string>
- <string name="gesture_input" msgid="826951152254563827">"স্পৰ্শ লিখন সক্ষম কৰক"</string>
- <string name="gesture_input_summary" msgid="9180350639305731231">"আখৰৰ ওপৰেৰে আঙুলি পিছলাই শব্দ লিখক"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"আঙুলি পিছলাই দিয়া নিৰ্দেশসমূহৰ গতিপথৰ চিহ্ন দেখুৱাওক"</string>
- <string name="gesture_floating_preview_text" msgid="4443240334739381053">"গতিশীল প্ৰবাহিত পূৰ্বদৰ্শন"</string>
- <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"আঙুলিৰে নিৰ্দেশ দিয়াৰ সময়ত পৰামৰ্শ দিয়া শব্দটো চাওক"</string>
- <string name="gesture_space_aware" msgid="2078291600664682496">"আঙুলি পিছলাই দিয়া নিৰ্দেশেৰে বাক্যাংশ লিখক"</string>
- <string name="gesture_space_aware_summary" msgid="4371385818348528538">"আঙুলি পিছলাই দিয়া নিৰ্দেশ দিওঁতে স্পেচ কীটোৰ ওপৰেৰে আঙুলি পিছলাই স্পেচ দিয়ক"</string>
- <string name="voice_input" msgid="3583258583521397548">"কথনৰ দ্বাৰা লিখন কী"</string>
- <!-- no translation found for voice_input_disabled_summary (6323489602945135165) -->
- <skip />
- <string name="configure_input_method" msgid="373356270290742459">"ইনপুট পদ্ধতিসমূহ কনফিগাৰ কৰক"</string>
- <string name="language_selection_title" msgid="3666971864764478269">"ভাষা"</string>
- <string name="help_and_feedback" msgid="5328219371839879161">"সহায় আৰু মতামত"</string>
- <string name="select_language" msgid="5709487854987078367">"ভাষা"</string>
- <!-- no translation found for hint_add_to_dictionary (2645988432867033007) -->
- <skip />
- <!-- no translation found for hint_add_to_dictionary_without_word (6710206006427574423) -->
- <skip />
- <string name="has_dictionary" msgid="6071847973466625007">"অভিধান উপলব্ধ"</string>
- <string name="keyboard_layout" msgid="8451164783510487501">"কীব\'ৰ্ড থীম"</string>
- <string name="switch_accounts" msgid="3321216593719006162">"একাউণ্ট সলনি কৰক"</string>
- <string name="no_accounts_selected" msgid="2073821619103904330">"কোনো একাউণ্ট বাছনি কৰা হোৱা নাই"</string>
- <string name="account_selected" msgid="2846876462199625974">"<xliff:g id="EMAIL_ADDRESS">%1$s</xliff:g> বর্তমান ব্যৱহাৰ কৰি থকা হৈছে"</string>
- <string name="account_select_ok" msgid="9141195141763227797">"ঠিক আছে"</string>
- <string name="account_select_cancel" msgid="5181012062618504340">"বাতিল কৰক"</string>
- <string name="account_select_sign_out" msgid="3299651159390187933">"ছাইন আউট কৰক"</string>
- <string name="account_select_title" msgid="6279711684772922649">"ব্যৱহাৰ কৰিবৰ বাবে এটা একাউণ্ট বাছনি কৰক"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"ইংৰাজী (ইউ. কে.)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"ইংৰাজী (ইউ. এছ.)"</string>
- <string name="subtype_es_US" msgid="5583145191430180200">"স্পেনিশ্ব (ইউ. এছ.)"</string>
- <string name="subtype_hi_ZZ" msgid="8860448146262798623">"হিংলিশ্ব"</string>
- <string name="subtype_sr_ZZ" msgid="9059219552986034343">"ছাৰ্বিয়ান (লেটিন)"</string>
- <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"ইংৰাজী (ইউ. কে.) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"ইংৰাজী (ইউ. এছ.) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_es_US" msgid="510930471167541338">"স্পেনিশ্ব (ইউ. এছ.) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_hi_ZZ" msgid="6827402953860547044">"হিংলিশ্ব (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_with_layout_sr_ZZ" msgid="2859024772719772407">"ছাৰ্বিয়ান (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_generic_traditional" msgid="8584594350973800586">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (পৰম্পৰাগত)"</string>
- <string name="subtype_generic_compact" msgid="3353673321203202922">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (চমু)"</string>
- <string name="subtype_no_language" msgid="7137390094240139495">"কোনো ভাষা নাই (বৰ্ণমালা)"</string>
- <string name="subtype_no_language_qwerty" msgid="244337630616742604">"বৰ্ণমালা (QWERTY)"</string>
- <string name="subtype_no_language_qwertz" msgid="443066912507547976">"বৰ্ণমালা (QWERTZ)"</string>
- <string name="subtype_no_language_azerty" msgid="8144348527575640087">"বৰ্ণমালা (AZERTY)"</string>
- <string name="subtype_no_language_dvorak" msgid="1564494667584718094">"বৰ্ণমালা (Dvorak)"</string>
- <string name="subtype_no_language_colemak" msgid="5837418400010302623">"বৰ্ণমালা (Colemak)"</string>
- <string name="subtype_no_language_pcqwerty" msgid="5354918232046200018">"বৰ্ণমালা (পি. চি.)"</string>
- <string name="subtype_emoji" msgid="7483586578074549196">"ইম\'জি"</string>
- <string name="keyboard_theme" msgid="4909551808526178852">"কীব\'ৰ্ড থীম"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"কাষ্টম ইনপুট শৈলী"</string>
- <string name="add_style" msgid="6163126614514489951">"শৈলী যোগ কৰক"</string>
- <string name="add" msgid="8299699805688017798">"যোগ কৰক"</string>
- <string name="remove" msgid="4486081658752944606">"আঁতৰাওক"</string>
- <string name="save" msgid="7646738597196767214">"ছেভ কৰক"</string>
- <string name="subtype_locale" msgid="8576443440738143764">"ভাষা"</string>
- <string name="keyboard_layout_set" msgid="4309233698194565609">"চানেকি"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"আপুনি কাষ্টম ইনপুট শৈলীটো ব্যৱহাৰ কৰাৰ আগেয়ে তাক সক্ষম কৰিব লাগিব৷ আপুনি এতিয়াই তাক সক্ষম কৰিবলৈ বিচাৰেনে?"</string>
- <string name="enable" msgid="5031294444630523247">"সক্ষম কৰক"</string>
- <string name="not_now" msgid="6172462888202790482">"এতিয়া নহয়"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"একে ইনপুট শৈলী ইতিমধ্যে মজুত আছে: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"কী টিপিলে হোৱা কম্পনৰ কাল-দৈৰ্ঘ্য"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"কী টিপিলে হোৱা ধ্বনিৰ মাত্ৰা"</string>
- <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"কী দীঘলীয়াকৈ টিপি ৰখাৰ সময়"</string>
- <string name="prefs_enable_emoji_alt_physical_key" msgid="5963640002335470112">"কায়িক কীব\'ৰ্ডৰ বাবে ইম\'জী"</string>
- <string name="prefs_enable_emoji_alt_physical_key_summary" msgid="5259484820941627827">"কায়িক Alt কীয়ে ইম\'জী পেলেট দেখুৱায়"</string>
- <string name="button_default" msgid="3988017840431881491">"ডিফ\'ল্ট"</string>
- <string name="setup_welcome_title" msgid="6112821709832031715">"<xliff:g id="APPLICATION_NAME">%s</xliff:g>লৈ স্বাগতম জনাইছোঁ"</string>
- <string name="setup_welcome_additional_description" msgid="8150252008545768953">"আঙুলি পিছলাই দিয়া নিৰ্দেশেৰে টাইপ কৰাৰ সুবিধাৰ সৈতে"</string>
- <string name="setup_start_action" msgid="8936036460897347708">"আৰম্ভ কৰক"</string>
- <string name="setup_next_action" msgid="371821437915144603">"পৰৱৰ্তী পদক্ষেপ"</string>
- <string name="setup_steps_title" msgid="6400373034871816182">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> ছেট আপ কৰি থকা হৈছে"</string>
- <string name="setup_step1_title" msgid="3147967630253462315">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> সক্ষম কৰক"</string>
- <!-- no translation found for setup_step1_instruction (4295448056733329661) -->
- <skip />
- <!-- no translation found for setup_step1_finished_instruction (8701441895377434947) -->
- <skip />
- <string name="setup_step1_action" msgid="4366513534999901728">"ছেটিংসমূহলৈ গৈ সক্ষম কৰক"</string>
- <string name="setup_step2_title" msgid="6860725447906690594">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> লৈ সলনি কৰক"</string>
- <string name="setup_step2_instruction" msgid="9141481964870023336">"ইয়াৰ পিছত, আপোনাৰ সক্ৰিয় পাঠ ইনপুট পদ্ধতি হিচাপে \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" বাছনি কৰক৷"</string>
- <string name="setup_step2_action" msgid="1660330307159824337">"ইনপুট পদ্ধতিসমূহ সলনি কৰক"</string>
- <string name="setup_step3_title" msgid="3154757183631490281">"আপোনাক অভিনন্দন জনাইছোঁ, আপুনি এতিয়া সাজু!"</string>
- <string name="setup_step3_instruction" msgid="8025981829605426000">"আপুনি এতিয়া আপোনাৰ প্ৰিয় এপসমূহত <xliff:g id="APPLICATION_NAME">%s</xliff:g>ৰ সৈতে লিখিব পাৰিব৷"</string>
- <string name="setup_step3_action" msgid="600879797256942259">"অতিৰিক্ত ভাষা কনফিগাৰ কৰক"</string>
- <string name="setup_finish_action" msgid="276559243409465389">"সম্পূৰ্ণ হ\'ল"</string>
- <string name="show_setup_wizard_icon" msgid="5008028590593710830">"এপৰ আইকন দেখুৱাওক"</string>
- <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"লঞ্চাৰত এপ্লিকেশ্বন আইকন দেখুৱাওক"</string>
- <string name="app_name" msgid="6320102637491234792">"অভিধান প্ৰদানকাৰী"</string>
- <string name="dictionary_provider_name" msgid="3027315045397363079">"অভিধান প্ৰদানকাৰী"</string>
- <string name="dictionary_service_name" msgid="6237472350693511448">"অভিধান সেৱা"</string>
- <string name="download_description" msgid="6014835283119198591">"অভিধান আপডেট কৰাৰ তথ্য"</string>
- <string name="dictionary_settings_title" msgid="8091417676045693313">"অতিৰিক্ত অভিধান"</string>
- <string name="dictionary_install_over_metered_network_prompt" msgid="3587517870006332980">"অভিধান উপলব্ধ"</string>
- <string name="dictionary_settings_summary" msgid="5305694987799824349">"অভিধানসমূহৰ বাবে ছেটিংসমূহ"</string>
- <string name="user_dictionaries" msgid="3582332055892252845">"ব্যৱহাৰকাৰীৰ অভিধানসমূহ"</string>
- <string name="default_user_dict_pref_name" msgid="1625055720489280530">"ব্যৱহাৰকাৰীৰ অভিধান"</string>
- <string name="dictionary_available" msgid="4728975345815214218">"অভিধান উপলব্ধ"</string>
- <string name="dictionary_downloading" msgid="2982650524622620983">"বৰ্তমান ডাউনল\'ড হৈ আছে"</string>
- <string name="dictionary_installed" msgid="8081558343559342962">"ইনষ্টল কৰা হ’ল"</string>
- <string name="dictionary_disabled" msgid="8950383219564621762">"ফাইল ইনষ্টল হৈছে কিন্তু অভিধান অক্ষম হৈ আছে"</string>
- <string name="cannot_connect_to_dict_service" msgid="9216933695765732398">"অভিধান সেৱাৰ লগত সংযোগ কৰোঁতে সমস্যাৰ সৃষ্টি হৈছে"</string>
- <string name="no_dictionaries_available" msgid="8039920716566132611">"কোনো অভিধান নাই"</string>
- <string name="check_for_updates_now" msgid="8087688440916388581">"ৰিফ্ৰেশ্ব কৰক"</string>
- <string name="last_update" msgid="730467549913588780">"অন্তিমবাৰ আপডেট কৰা হৈছিল"</string>
- <string name="message_updating" msgid="4457761393932375219">"আপডেট আছে নেকি পৰীক্ষা কৰি থকা হৈছে"</string>
- <string name="message_loading" msgid="5638680861387748936">"ল\'ড হৈ আছে…"</string>
- <string name="main_dict_description" msgid="3072821352793492143">"মুখ্য অভিধান"</string>
- <string name="cancel" msgid="6830980399865683324">"বাতিল কৰক"</string>
- <string name="go_to_settings" msgid="3876892339342569259">"ছেটিংসমূহ"</string>
- <string name="install_dict" msgid="180852772562189365">"ইনষ্টল কৰক"</string>
- <string name="cancel_download_dict" msgid="7843340278507019303">"বাতিল কৰক"</string>
- <string name="delete_dict" msgid="756853268088330054">"মচক"</string>
- <!-- no translation found for should_download_over_metered_prompt (6737084685073734292) -->
- <skip />
- <string name="download_over_metered" msgid="1643065851159409546">"এতিয়াই ডাউনল\'ড কৰক (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>এম. বি.)"</string>
- <string name="do_not_download_over_metered" msgid="2176209579313941583">"ৱাই-ফাইৰ যোগেৰে ডাউনল\'ড কৰক"</string>
- <string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>ৰ বাবে এখন অভিধান উপলব্ধ"</string>
- <string name="dict_available_notification_description" msgid="1075194169443163487">"সমীক্ষা আৰু ডাউনল\'ড কৰিবলৈ হেঁচক"</string>
- <string name="toast_downloading_suggestions" msgid="6128155879830851739">"ডাউনল\'ড কৰি থকা হৈছে: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>ৰ বাবে পৰামৰ্শবোৰ সোনকালে সাজু হ\'ব।"</string>
- <string name="version_text" msgid="2715354215568469385">"সংস্কৰণ <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string>
- <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"যোগ কৰক"</string>
- <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"অভিধানত যোগ কৰক"</string>
- <string name="user_dict_settings_add_screen_title" msgid="5818914331629278758">"বাক্যাংশ"</string>
- <string name="user_dict_settings_add_dialog_more_options" msgid="5671682004887093112">"অধিক বিকল্প"</string>
- <string name="user_dict_settings_add_dialog_less_options" msgid="2716586567241724126">"কম বিকল্প"</string>
- <string name="user_dict_settings_add_dialog_confirm" msgid="4703129507388332950">"ঠিক আছে"</string>
- <string name="user_dict_settings_add_word_option_name" msgid="6665558053408962865">"শব্দ:"</string>
- <string name="user_dict_settings_add_shortcut_option_name" msgid="3094731590655523777">"শ্বৰ্টকাট:"</string>
- <string name="user_dict_settings_add_locale_option_name" msgid="4738643440987277705">"ভাষা:"</string>
- <string name="user_dict_settings_add_word_hint" msgid="4902434148985906707">"কোনো শব্দ লিখক"</string>
- <string name="user_dict_settings_add_shortcut_hint" msgid="2265453012555060178">"ঐচ্ছিক শ্বৰ্টকাট"</string>
- <string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"শব্দ সম্পাদনা কৰক"</string>
- <string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"সম্পাদনা কৰক"</string>
- <string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"মচক"</string>
- <!-- no translation found for user_dict_settings_empty_text (6889278304342592383) -->
- <skip />
- <string name="user_dict_settings_all_languages" msgid="8276126583216298886">"সকলো ভাষাৰ বাবে"</string>
- <string name="user_dict_settings_more_languages" msgid="7131268499685180461">"অধিক ভাষা…"</string>
- <string name="user_dict_settings_delete" msgid="110413335187193859">"মচক"</string>
- <string name="user_dict_fast_scroll_alphabet" msgid="5431919401558285473">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
-</resources>
diff --git a/java/res/values-b+sr+Latn/strings-talkback-descriptions.xml b/java/res/values-b+sr+Latn/strings-talkback-descriptions.xml
index 114dcf1cf..556b5ab79 100644
--- a/java/res/values-b+sr+Latn/strings-talkback-descriptions.xml
+++ b/java/res/values-b+sr+Latn/strings-talkback-descriptions.xml
@@ -46,7 +46,7 @@
<string name="spoken_description_dot" msgid="5644176501632325560">"Tačka"</string>
<string name="spoken_description_language_switch" msgid="6818666779313544553">"Prebaci jezik"</string>
<string name="spoken_description_action_next" msgid="431761808119616962">"Prethodno"</string>
- <string name="spoken_description_action_previous" msgid="2919072174697865110">"Nazad"</string>
+ <string name="spoken_description_action_previous" msgid="2919072174697865110">"Sledeće"</string>
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift je omogućen"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock je omogućen"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Režim simbola"</string>
diff --git a/java/res/values-bn/strings-talkback-descriptions.xml b/java/res/values-bn/strings-talkback-descriptions.xml
index ff7b0d8a0..1d438bd40 100644
--- a/java/res/values-bn/strings-talkback-descriptions.xml
+++ b/java/res/values-bn/strings-talkback-descriptions.xml
@@ -42,7 +42,7 @@
<string name="spoken_description_mic" msgid="6153138783813452464">"ভয়েস ইনপুট"</string>
<string name="spoken_description_emoji" msgid="7990051553008088470">"ইমোজি"</string>
<string name="spoken_description_return" msgid="3183692287397645708">"ফেরত যান"</string>
- <string name="spoken_description_search" msgid="5099937658231911288">"সার্চ"</string>
+ <string name="spoken_description_search" msgid="5099937658231911288">"অনুসন্ধান"</string>
<string name="spoken_description_dot" msgid="5644176501632325560">"ডট"</string>
<string name="spoken_description_language_switch" msgid="6818666779313544553">"ভাষা স্যুইচ করুন"</string>
<string name="spoken_description_action_next" msgid="431761808119616962">"পরবর্তী"</string>
@@ -76,7 +76,7 @@
<string name="spoken_descrption_emoji_category_eight_animals_nature" msgid="5844950234883716704">"জীবজন্তু ও প্রকৃতি"</string>
<string name="spoken_descrption_emoji_category_eight_food_drink" msgid="6196944764485349650">"খাদ্য ও পানীয়"</string>
<string name="spoken_descrption_emoji_category_eight_travel_places" msgid="3834085499381434611">"ভ্রমণ ও স্থানগুলি"</string>
- <string name="spoken_descrption_emoji_category_eight_activity" msgid="4795281669042975993">"অ্যাক্টিভিটি"</string>
+ <string name="spoken_descrption_emoji_category_eight_activity" msgid="4795281669042975993">"কার্যকলাপ"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"ইমোটিকনগুলি"</string>
<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>
diff --git a/java/res/values-bn/strings.xml b/java/res/values-bn/strings.xml
index 8ba390511..13569eabd 100644
--- a/java/res/values-bn/strings.xml
+++ b/java/res/values-bn/strings.xml
@@ -71,7 +71,7 @@
<string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"আপত্তিজনক শব্দ অবরোধ করুন"</string>
<string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"সম্ভাব্য অশোভন শব্দ সুপারিশ করবেন না"</string>
<string name="auto_correction" msgid="7630720885194996950">"স্বত:সংশোধন"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"স্পেসবার ও যতিচিহ্ন ভুলভাবে টাইপ করা শব্দ অটোমেটিক সংশোধন করে"</string>
+ <string name="auto_correction_summary" msgid="5625751551134658006">"স্পেসবার ও যতিচিহ্ন ভুলভাবে টাইপ করা শব্দ স্বয়ংক্রিয়ভাবে সংশোধন করে"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"বন্ধ করুন"</string>
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"মাঝারি"</string>
<string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"আক্রমণাত্মক"</string>
@@ -123,17 +123,17 @@
<string name="subtype_no_language_pcqwerty" msgid="5354918232046200018">"বর্ণমালা (PC)"</string>
<string name="subtype_emoji" msgid="7483586578074549196">"ইমোজি"</string>
<string name="keyboard_theme" msgid="4909551808526178852">"কীবোর্ড থিম"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"কাস্টম ইনপুট স্টাইলগুলি"</string>
- <string name="add_style" msgid="6163126614514489951">"স্টাইল জুড়ুন"</string>
+ <string name="custom_input_styles_title" msgid="8429952441821251512">"কাস্টম ইনপুট শৈলীগুলি"</string>
+ <string name="add_style" msgid="6163126614514489951">"শৈলী জুড়ুন"</string>
<string name="add" msgid="8299699805688017798">"জুড়ুন"</string>
<string name="remove" msgid="4486081658752944606">"সরান"</string>
<string name="save" msgid="7646738597196767214">"সেভ করুন"</string>
<string name="subtype_locale" msgid="8576443440738143764">"ভাষা"</string>
<string name="keyboard_layout_set" msgid="4309233698194565609">"লেআউট"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"আপনার কাস্টম ইনপুট স্টাইল ব্যবহার শুরু করার আগে এটি সক্ষম করা প্রয়োজন। আপনি কি এখন এটি সক্ষম করতে চান?"</string>
+ <string name="custom_input_style_note_message" msgid="8826731320846363423">"আপনার কাস্টম ইনপুট শৈলী ব্যবহার শুরু করার আগে এটি সক্ষম করা প্রয়োজন। আপনি কি এখন এটি সক্ষম করতে চান?"</string>
<string name="enable" msgid="5031294444630523247">"সক্ষম করুন"</string>
<string name="not_now" msgid="6172462888202790482">"এখন নয়"</string>
- <string name="custom_input_style_already_exists" msgid="8008728952215449707">"একই ইনপুট স্টাইল ইতোমধ্যে বিদ্যমান: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
+ <string name="custom_input_style_already_exists" msgid="8008728952215449707">"একই ইনপুট শৈলী ইতোমধ্যে বিদ্যমান: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
<string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"কীপ্রেস ভাইব্রেট সময়কাল"</string>
<string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"কীপ্রেস সাউন্ড ভলিউম"</string>
<string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"কী প্রেসে দীর্ঘ বিলম্ব"</string>
@@ -183,7 +183,7 @@
<string name="install_dict" msgid="180852772562189365">"ইনস্টল করুন"</string>
<string name="cancel_download_dict" msgid="7843340278507019303">"বাতিল করুন"</string>
<string name="delete_dict" msgid="756853268088330054">"মুছুন"</string>
- <string name="should_download_over_metered_prompt" msgid="6737084685073734292">"আপনার মোবাইল ডিভাইসে নির্বাচিত ভাষার জন্য একটি অভিধান উপলভ্য আছে। &lt;br/&gt; আপনার টাইপিং এর অভিজ্ঞতা ভালো করার জন্য আমরা <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> অভিধান &lt;b&gt;ডাউনলোড করার&lt;/b&gt; পরামর্শ দিই। &lt;br/&gt; &lt;br/&gt; 3G-র মাধ্যমে ডাউনলোড হতে এক বা দুই মিনিট সময় লাগতে পারে। আপনার কাছে কোন &lt;b&gt;আনলিমিটেড ডেটা প্ল্যান&lt;/b&gt;.&lt;br/&gt; না থাকলে চার্জ প্রযোজ্য হতে পারে, আপনার কাছে কোন ডেটা প্ল্যান আছে তা নিয়ে আপনি নিশ্চিত না থাকলে সেক্ষেত্রে আমরা ডাউনলোড অটোমেটিক শুরু করার জন্য একটি Wi-Fi সংযোগ খোঁজার পরামর্শ দিই। &lt;br/&gt; &lt;br/&gt;টিপ: আপনি আপনার মোবাইল ডিভাইসে &lt;b&gt;সেটিংস&lt;/b&gt; মেনুতে &lt;b&gt;ভাষা এবং ইনপুট&lt;/b&gt; এর মধ্যে গিয়ে অভিধান ডাউনলোড করতে ও মুছতে পারবেন।"</string>
+ <string name="should_download_over_metered_prompt" msgid="6737084685073734292">"আপনার মোবাইল ডিভাইসে নির্বাচিত ভাষার জন্য একটি অভিধান উপলভ্য আছে। &lt;br/&gt; আপনার টাইপিং এর অভিজ্ঞতা ভালো করার জন্য আমরা <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> অভিধান &lt;b&gt;ডাউনলোড করার&lt;/b&gt; পরামর্শ দিই। &lt;br/&gt; &lt;br/&gt; 3G-র মাধ্যমে ডাউনলোড হতে এক বা দুই মিনিট সময় লাগতে পারে। আপনার কাছে কোন &lt;b&gt;আনলিমিটেড ডেটা প্ল্যান&lt;/b&gt;.&lt;br/&gt; না থাকলে চার্জ প্রযোজ্য হতে পারে, আপনার কাছে কোন ডেটা প্ল্যান আছে তা নিয়ে আপনি নিশ্চিত না থাকলে সেক্ষেত্রে আমরা ডাউনলোড স্বয়ংক্রিয়ভাবে শুরু করার জন্য একটি Wi-Fi সংযোগ খোঁজার পরামর্শ দিই। &lt;br/&gt; &lt;br/&gt;টিপ: আপনি আপনার মোবাইল ডিভাইসে &lt;b&gt;সেটিংস&lt;/b&gt; মেনুতে &lt;b&gt;ভাষা এবং ইনপুট&lt;/b&gt; এর মধ্যে গিয়ে অভিধান ডাউনলোড করতে ও মুছতে পারবেন।"</string>
<string name="download_over_metered" msgid="1643065851159409546">"এখন ডাউনলোড করুন (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>মেবা)"</string>
<string name="do_not_download_over_metered" msgid="2176209579313941583">"ওয়াই-ফাই মাধ্যমে ডাউনলোড করুন"</string>
<string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> ভাষার জন্য একটি অভিধান উপলব্ধ"</string>
diff --git a/java/res/values-bs/strings.xml b/java/res/values-bs/strings.xml
index 18a6e8422..ee310f3e9 100644
--- a/java/res/values-bs/strings.xml
+++ b/java/res/values-bs/strings.xml
@@ -26,7 +26,7 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibracija pri pritisku na tipku"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk pri pritisku tipke"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Iskačuči prozor pri pritisku na tipku"</string>
- <string name="settings_screen_preferences" msgid="2696713156722014624">"Postavke"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Karakteristike"</string>
<string name="settings_screen_accounts" msgid="2786418968536696670">"Računi i privatnost"</string>
<string name="settings_screen_appearance" msgid="7358046399111611615">"Izgled i rasporedi tipki"</string>
<string name="settings_screen_gesture" msgid="8826372746901183556">"Kucanje pokretima"</string>
@@ -38,7 +38,7 @@
<string name="cloud_sync_summary" msgid="7684887161145650857">"Sinhronizacija je uključena"</string>
<string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sinhronizirajte vlastiti rječnik na svim uređajima"</string>
<string name="sync_now_title" msgid="3088838136743277721">"Sinhroniziraj sada"</string>
- <string name="clear_sync_data_title" msgid="8582001557037069154">"Brisanje podataka iz oblaka"</string>
+ <string name="clear_sync_data_title" msgid="8582001557037069154">"Obriši podatke iz oblaka"</string>
<string name="clear_sync_data_summary" msgid="993477139012576584">"Briše vaše sinhronizirane podatke s Googlea"</string>
<string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Vaši snihronizirani podaci bit će izbrisani iz oblaka. Sigurno?"</string>
<string name="clear_sync_data_ok" msgid="613104067705915132">"Izbriši"</string>
@@ -86,7 +86,7 @@
<string name="gesture_space_aware" msgid="2078291600664682496">"Pokret za fraze"</string>
<string name="gesture_space_aware_summary" msgid="4371385818348528538">"Klizanjem na tipku za razmak umetni razmake tokom pokreta"</string>
<string name="voice_input" msgid="3583258583521397548">"Tipka za govorni unos"</string>
- <string name="voice_input_disabled_summary" msgid="6323489602945135165">"Nisu omogućeni načini za glasovni unos. Provjerite postavke odjeljka Jezici i unos."</string>
+ <string name="voice_input_disabled_summary" msgid="6323489602945135165">"Nisu omogućeni načini za glasovni unos. Provjerite postavke sekcije Jezici i unos."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfiguriraj načine unosa"</string>
<string name="language_selection_title" msgid="3666971864764478269">"Jezici"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Pomoć i povratne informacije"</string>
@@ -146,8 +146,8 @@
<string name="setup_next_action" msgid="371821437915144603">"Sljedeći korak"</string>
<string name="setup_steps_title" msgid="6400373034871816182">"Postavljanje aplikacije <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="setup_step1_title" msgid="3147967630253462315">"Omogući aplikaciju <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
- <string name="setup_step1_instruction" msgid="4295448056733329661">"Označite aplikaciju \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" u postavkama odjeljka Jezici i unos. Na taj način ćete joj dozvoliti da se pokrene na vašem uređaju."</string>
- <string name="setup_step1_finished_instruction" msgid="8701441895377434947">"Aplikacija <xliff:g id="APPLICATION_NAME">%s</xliff:g> je već omogućena u vašim postavkama odjeljka Jezici i unos, tako da je ovaj korak završen. Pređite na sljedeći!"</string>
+ <string name="setup_step1_instruction" msgid="4295448056733329661">"Označite aplikaciju \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" u postavkama sekcije Jezici i unos. Na taj način ćete joj dozvoliti da se pokrene na vašem uređaju."</string>
+ <string name="setup_step1_finished_instruction" msgid="8701441895377434947">"Aplikacija <xliff:g id="APPLICATION_NAME">%s</xliff:g> je već omogućena u vašim postavkama sekcije Jezici i unos, tako da je ovaj korak završen. Pređite na sljedeći!"</string>
<string name="setup_step1_action" msgid="4366513534999901728">"Omogući u Postavkama"</string>
<string name="setup_step2_title" msgid="6860725447906690594">"Prebacite se na aplikaciju <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="setup_step2_instruction" msgid="9141481964870023336">"Zatim odaberite aplikaciju \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" kao vaš aktivni način unosa teksta."</string>
@@ -183,9 +183,9 @@
<string name="install_dict" msgid="180852772562189365">"Instaliraj"</string>
<string name="cancel_download_dict" msgid="7843340278507019303">"Otkaži"</string>
<string name="delete_dict" msgid="756853268088330054">"Izbriši"</string>
- <string name="should_download_over_metered_prompt" msgid="6737084685073734292">"Za odabrani jezik na vašem uređaju postoji dostupan rječnik.&lt;br/&gt; Predlažemo da &lt;b&gt;preuzmete&lt;/b&gt; rječnik za <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> kako biste poboljšali svoje iskustvo tipkanja.&lt;br/&gt; &lt;br/&gt; Preuzimanje putem 3G mreže može potrajati minut-dva. Mogući su troškovi ukoliko nemate &lt;b&gt;paket s neograničenim prijenosom podataka&lt;/b&gt;.&lt;br/&gt; Ako ne znate koji paket za prijenos podataka imate, preporučujemo da pronađete WiFi mrežu kako biste počeli automatsko preuzimanje.&lt;br/&gt; &lt;br/&gt; Savjet: Rječnike možete preuzimati i uklanjati ako odete na &lt;b&gt;Jezici i unos&lt;/b&gt; u meniju &lt;b&gt;Postavke&lt;/b&gt; na vašem mobilnom uređaju."</string>
+ <string name="should_download_over_metered_prompt" msgid="6737084685073734292">"Za odabrani jezik na vašem uređaju postoji dostupan rječnik.&lt;br/&gt; Predlažemo da &lt;b&gt;preuzmete&lt;/b&gt; rječnik za <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> kako biste poboljšali svoje iskustvo tipkanja.&lt;br/&gt; &lt;br/&gt; Preuzimanje putem 3G mreže može potrajati minut-dva. Mogući su troškovi ukoliko nemate &lt;b&gt;paket s neograničenim prijenosom podataka&lt;/b&gt;.&lt;br/&gt; Ako ne znate koji paket za prijenos podataka imate, preporučujemo da pronađete Wi-Fi mrežu kako biste počeli automatsko preuzimanje.&lt;br/&gt; &lt;br/&gt; Savjet: Rječnike možete preuzimati i uklanjati ako odete na &lt;b&gt;Jezici i unos&lt;/b&gt; u meniju &lt;b&gt;Postavke&lt;/b&gt; na vašem mobilnom uređaju."</string>
<string name="download_over_metered" msgid="1643065851159409546">"Preuzmi odmah (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string>
- <string name="do_not_download_over_metered" msgid="2176209579313941583">"Preuzmi putem WiFi mreže"</string>
+ <string name="do_not_download_over_metered" msgid="2176209579313941583">"Preuzmi putem Wi-Fi mreže"</string>
<string name="dict_available_notification_title" msgid="4583842811218581658">"Rječnik je dostupan za <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string>
<string name="dict_available_notification_description" msgid="1075194169443163487">"Pritisnite za pregled i preuzimanje"</string>
<string name="toast_downloading_suggestions" msgid="6128155879830851739">"Preuzimanje: prijedlozi za <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> bit će uskoro spremni."</string>
diff --git a/java/res/values-ca/strings-emoji-descriptions.xml b/java/res/values-ca/strings-emoji-descriptions.xml
index 86ba6a8f8..4371fc210 100644
--- a/java/res/values-ca/strings-emoji-descriptions.xml
+++ b/java/res/values-ca/strings-emoji-descriptions.xml
@@ -275,7 +275,7 @@
<string name="spoken_emoji_1F304" msgid="2767148930689050040">"Sortida del sol sobre les muntanyes"</string>
<string name="spoken_emoji_1F305" msgid="9165812924292061196">"Sortida del sol"</string>
<string name="spoken_emoji_1F306" msgid="5889294736109193104">"Paisatge urbà al vespre"</string>
- <string name="spoken_emoji_1F307" msgid="2714290867291163713">"Posta de sol sobre els edificis"</string>
+ <string name="spoken_emoji_1F307" msgid="2714290867291163713">"Posta del sol sobre els edificis"</string>
<string name="spoken_emoji_1F308" msgid="688704703985173377">"Arc de Sant Martí"</string>
<string name="spoken_emoji_1F309" msgid="6217981957992313528">"Pont a la nit"</string>
<string name="spoken_emoji_1F30A" msgid="4329309263152110893">"Onada"</string>
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index f18390219..77ec50eb7 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -62,7 +62,7 @@
<string name="use_double_space_period" msgid="8781529969425082860">"Doble espai per punt"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Fer dos tocs a la barra d\'espai insereix punt seguit d\'un espai"</string>
<string name="auto_cap" msgid="1719746674854628252">"Majúscules automàtiques"</string>
- <string name="auto_cap_summary" msgid="7934452761022946874">"Escriu en majúscula la primera lletra de la primera paraula de cada frase"</string>
+ <string name="auto_cap_summary" msgid="7934452761022946874">"Posa en majúscula la primera paraula de cada frase"</string>
<string name="edit_personal_dictionary" msgid="3996910038952940420">"Diccionari personal"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Diccionaris complementaris"</string>
<string name="main_dictionary" msgid="4798763781818361168">"Diccionari principal"</string>
diff --git a/java/res/values-cs/strings-emoji-descriptions.xml b/java/res/values-cs/strings-emoji-descriptions.xml
index db072c415..988abd12d 100644
--- a/java/res/values-cs/strings-emoji-descriptions.xml
+++ b/java/res/values-cs/strings-emoji-descriptions.xml
@@ -1100,7 +1100,7 @@
<string name="spoken_emoji_1F685" msgid="1237059817190832730">"Vysokorychlostní vlak s kulatou přídí"</string>
<string name="spoken_emoji_1F686" msgid="3525197227223620343">"Vlak"</string>
<string name="spoken_emoji_1F687" msgid="5110143437960392837">"Metro"</string>
- <string name="spoken_emoji_1F688" msgid="4702085029871797965">"Městská dráha"</string>
+ <string name="spoken_emoji_1F688" msgid="4702085029871797965">"Železnice"</string>
<string name="spoken_emoji_1F689" msgid="2375851019798817094">"Stanice"</string>
<string name="spoken_emoji_1F68A" msgid="6368370859718717198">"Tramvaj"</string>
<string name="spoken_emoji_1F68B" msgid="2920160427117436633">"Vagon tramvaje"</string>
diff --git a/java/res/values-da/strings-emoji-descriptions.xml b/java/res/values-da/strings-emoji-descriptions.xml
index e3773c47f..e82b06c1e 100644
--- a/java/res/values-da/strings-emoji-descriptions.xml
+++ b/java/res/values-da/strings-emoji-descriptions.xml
@@ -806,7 +806,7 @@
<string name="spoken_emoji_1F4E4" msgid="2063561529097749707">"Udbakke"</string>
<string name="spoken_emoji_1F4E5" msgid="3232462702926143576">"Indbakke"</string>
<string name="spoken_emoji_1F4E6" msgid="3399454337197561635">"Pakke"</string>
- <string name="spoken_emoji_1F4E7" msgid="5557136988503873238">"Mailsymbol"</string>
+ <string name="spoken_emoji_1F4E7" msgid="5557136988503873238">"E-mailsymbol"</string>
<string name="spoken_emoji_1F4E8" msgid="30698793974124123">"Indgående kuvert"</string>
<string name="spoken_emoji_1F4E9" msgid="5947550337678643166">"Kuvert under pil, der peger nedad"</string>
<string name="spoken_emoji_1F4EA" msgid="772614045207213751">"Lukket postkasse med flaget nede"</string>
diff --git a/java/res/values-da/strings-talkback-descriptions.xml b/java/res/values-da/strings-talkback-descriptions.xml
index 29740154d..8ee20d3b8 100644
--- a/java/res/values-da/strings-talkback-descriptions.xml
+++ b/java/res/values-da/strings-talkback-descriptions.xml
@@ -58,7 +58,7 @@
<string name="announce_keyboard_mode" msgid="6698257917367823205">"Viser tastatur til <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string>
<string name="keyboard_mode_date" msgid="6597407244976713364">"dato"</string>
<string name="keyboard_mode_date_time" msgid="3642804408726668808">"dato og klokkeslæt"</string>
- <string name="keyboard_mode_email" msgid="1239682082047693644">"mail"</string>
+ <string name="keyboard_mode_email" msgid="1239682082047693644">"e-mail"</string>
<string name="keyboard_mode_im" msgid="3812086215529493501">"beskeder"</string>
<string name="keyboard_mode_number" msgid="5395042245837996809">"tal"</string>
<string name="keyboard_mode_phone" msgid="2486230278064523665">"telefonnummer"</string>
diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml
index 5471ea019..2c3546cfa 100644
--- a/java/res/values-da/strings.xml
+++ b/java/res/values-da/strings.xml
@@ -56,7 +56,7 @@
<string name="abbreviation_unit_milliseconds" msgid="8700286094028323363">"<xliff:g id="MILLISECONDS">%s</xliff:g> ms"</string>
<string name="settings_system_default" msgid="6268225104743331821">"Systemstandard"</string>
<string name="use_contacts_dict" msgid="4435317977804180815">"Foreslå navne på kontakter"</string>
- <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Brug navne fra Kontakter til forslag og rettelser"</string>
+ <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Brug navne fra Kontaktpersoner til forslag og rettelser"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Tilpassede forslag"</string>
<string name="enable_metrics_logging" msgid="5506372337118822837">"Gør <xliff:g id="APPLICATION_NAME">%s</xliff:g> bedre"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"To mellemrum for punktum"</string>
diff --git a/java/res/values-de/strings-emoji-descriptions.xml b/java/res/values-de/strings-emoji-descriptions.xml
index 0e4699b7c..bbcd50a3f 100644
--- a/java/res/values-de/strings-emoji-descriptions.xml
+++ b/java/res/values-de/strings-emoji-descriptions.xml
@@ -227,7 +227,7 @@
<string name="spoken_emoji_2935" msgid="6198710960720232074">"Pfeil nach rechts und dann im Bogen nach unten"</string>
<string name="spoken_emoji_2B05" msgid="4813405635410707690">"Schwarzer Pfeil nach links"</string>
<string name="spoken_emoji_2B06" msgid="1223172079106250748">"Schwarzer Pfeil nach oben"</string>
- <string name="spoken_emoji_2B07" msgid="1599124424746596150">"Schwarzer Abwärtspfeil"</string>
+ <string name="spoken_emoji_2B07" msgid="1599124424746596150">"Schwarzer Pfeil nach unten"</string>
<string name="spoken_emoji_2B1B" msgid="3461247311988501626">"Großes schwarzes Quadrat"</string>
<string name="spoken_emoji_2B1C" msgid="5793146430145248915">"Großes weißes Quadrat"</string>
<string name="spoken_emoji_2B50" msgid="3850845519526950524">"Mittelgroßer weißer Stern"</string>
diff --git a/java/res/values-de/strings-letter-descriptions.xml b/java/res/values-de/strings-letter-descriptions.xml
index 92b1d6c4f..78cf74230 100644
--- a/java/res/values-de/strings-letter-descriptions.xml
+++ b/java/res/values-de/strings-letter-descriptions.xml
@@ -199,7 +199,7 @@
<string name="spoken_symbol_20B1" msgid="2159994270622444689">"Peso-Zeichen"</string>
<string name="spoken_symbol_2105" msgid="7289404939366976829">"Per Adresse"</string>
<string name="spoken_symbol_2192" msgid="827804523596125414">"Pfeil nach rechts"</string>
- <string name="spoken_symbol_2193" msgid="2659541693445985717">"Abwärtspfeil"</string>
+ <string name="spoken_symbol_2193" msgid="2659541693445985717">"Pfeil nach unten"</string>
<string name="spoken_symbol_2205" msgid="4457188084269117343">"Leere Menge"</string>
<string name="spoken_symbol_2206" msgid="4856786565708380687">"Differenzzeichen"</string>
<string name="spoken_symbol_2264" msgid="5092061257745123554">"Kleiner/gleich"</string>
diff --git a/java/res/values-de/strings-talkback-descriptions.xml b/java/res/values-de/strings-talkback-descriptions.xml
index 7580678ec..17e9c946a 100644
--- a/java/res/values-de/strings-talkback-descriptions.xml
+++ b/java/res/values-de/strings-talkback-descriptions.xml
@@ -29,9 +29,9 @@
<string name="spoken_description_unknown" msgid="5139930082759824442">"Unbekanntes Zeichen"</string>
<string name="spoken_description_shift" msgid="7209798151676638728">"Umschalttaste"</string>
<string name="spoken_description_symbols_shift" msgid="3483198879916435717">"Weitere Symbole"</string>
- <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Umschalttaste-Taste"</string>
+ <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift-Taste"</string>
<string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symbole"</string>
- <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Umschalttaste-Taste"</string>
+ <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift-Taste"</string>
<string name="spoken_description_delete" msgid="3878902286264983302">"Löschen"</string>
<string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symbole"</string>
<string name="spoken_description_to_alpha" msgid="4081215210530031950">"Buchstaben"</string>
diff --git a/java/res/values-en-rAU/strings-emoji-descriptions.xml b/java/res/values-en-rAU/strings-emoji-descriptions.xml
index 695dcfe1b..b3eb4cc17 100644
--- a/java/res/values-en-rAU/strings-emoji-descriptions.xml
+++ b/java/res/values-en-rAU/strings-emoji-descriptions.xml
@@ -1151,7 +1151,7 @@
<string name="spoken_emoji_1F6B8" msgid="3020531906940267349">"Children crossing"</string>
<string name="spoken_emoji_1F6B9" msgid="1207095844125041251">"Mens symbol"</string>
<string name="spoken_emoji_1F6BA" msgid="2346879310071017531">"Womens symbol"</string>
- <string name="spoken_emoji_1F6BB" msgid="2370172469642078526">"Toilet"</string>
+ <string name="spoken_emoji_1F6BB" msgid="2370172469642078526">"Restroom"</string>
<string name="spoken_emoji_1F6BC" msgid="5558827593563530851">"Baby symbol"</string>
<string name="spoken_emoji_1F6BD" msgid="9213590243049835957">"Toilet"</string>
<string name="spoken_emoji_1F6BE" msgid="394016533781742491">"Water closet"</string>
diff --git a/java/res/values-en-rCA/strings-emoji-descriptions.xml b/java/res/values-en-rCA/strings-emoji-descriptions.xml
index 952c27be6..b3eb4cc17 100644
--- a/java/res/values-en-rCA/strings-emoji-descriptions.xml
+++ b/java/res/values-en-rCA/strings-emoji-descriptions.xml
@@ -188,7 +188,7 @@
<string name="spoken_emoji_26FD" msgid="2417060622927453534">"Fuel pump"</string>
<string name="spoken_emoji_2702" msgid="4005741160717451912">"Black scissors"</string>
<string name="spoken_emoji_2705" msgid="164605766946697759">"White heavy tick"</string>
- <string name="spoken_emoji_2708" msgid="7153840886849268988">"Airplane"</string>
+ <string name="spoken_emoji_2708" msgid="7153840886849268988">"Aeroplane"</string>
<string name="spoken_emoji_2709" msgid="2217319160724311369">"Envelope"</string>
<string name="spoken_emoji_270A" msgid="508347232762319473">"Raised fist"</string>
<string name="spoken_emoji_270B" msgid="6640562128327753423">"Raised hand"</string>
@@ -1151,7 +1151,7 @@
<string name="spoken_emoji_1F6B8" msgid="3020531906940267349">"Children crossing"</string>
<string name="spoken_emoji_1F6B9" msgid="1207095844125041251">"Mens symbol"</string>
<string name="spoken_emoji_1F6BA" msgid="2346879310071017531">"Womens symbol"</string>
- <string name="spoken_emoji_1F6BB" msgid="2370172469642078526">"Toilet"</string>
+ <string name="spoken_emoji_1F6BB" msgid="2370172469642078526">"Restroom"</string>
<string name="spoken_emoji_1F6BC" msgid="5558827593563530851">"Baby symbol"</string>
<string name="spoken_emoji_1F6BD" msgid="9213590243049835957">"Toilet"</string>
<string name="spoken_emoji_1F6BE" msgid="394016533781742491">"Water closet"</string>
diff --git a/java/res/values-en-rGB/strings-emoji-descriptions.xml b/java/res/values-en-rGB/strings-emoji-descriptions.xml
index 695dcfe1b..b3eb4cc17 100644
--- a/java/res/values-en-rGB/strings-emoji-descriptions.xml
+++ b/java/res/values-en-rGB/strings-emoji-descriptions.xml
@@ -1151,7 +1151,7 @@
<string name="spoken_emoji_1F6B8" msgid="3020531906940267349">"Children crossing"</string>
<string name="spoken_emoji_1F6B9" msgid="1207095844125041251">"Mens symbol"</string>
<string name="spoken_emoji_1F6BA" msgid="2346879310071017531">"Womens symbol"</string>
- <string name="spoken_emoji_1F6BB" msgid="2370172469642078526">"Toilet"</string>
+ <string name="spoken_emoji_1F6BB" msgid="2370172469642078526">"Restroom"</string>
<string name="spoken_emoji_1F6BC" msgid="5558827593563530851">"Baby symbol"</string>
<string name="spoken_emoji_1F6BD" msgid="9213590243049835957">"Toilet"</string>
<string name="spoken_emoji_1F6BE" msgid="394016533781742491">"Water closet"</string>
diff --git a/java/res/values-en-rIN/strings-emoji-descriptions.xml b/java/res/values-en-rIN/strings-emoji-descriptions.xml
index 695dcfe1b..b3eb4cc17 100644
--- a/java/res/values-en-rIN/strings-emoji-descriptions.xml
+++ b/java/res/values-en-rIN/strings-emoji-descriptions.xml
@@ -1151,7 +1151,7 @@
<string name="spoken_emoji_1F6B8" msgid="3020531906940267349">"Children crossing"</string>
<string name="spoken_emoji_1F6B9" msgid="1207095844125041251">"Mens symbol"</string>
<string name="spoken_emoji_1F6BA" msgid="2346879310071017531">"Womens symbol"</string>
- <string name="spoken_emoji_1F6BB" msgid="2370172469642078526">"Toilet"</string>
+ <string name="spoken_emoji_1F6BB" msgid="2370172469642078526">"Restroom"</string>
<string name="spoken_emoji_1F6BC" msgid="5558827593563530851">"Baby symbol"</string>
<string name="spoken_emoji_1F6BD" msgid="9213590243049835957">"Toilet"</string>
<string name="spoken_emoji_1F6BE" msgid="394016533781742491">"Water closet"</string>
diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml
index 62c135658..c8df11304 100644
--- a/java/res/values-es-rUS/strings.xml
+++ b/java/res/values-es-rUS/strings.xml
@@ -43,7 +43,7 @@
<string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Se eliminarán los datos sincronizados de la nube. ¿Estás seguro?"</string>
<string name="clear_sync_data_ok" msgid="613104067705915132">"Eliminar"</string>
<string name="cloud_sync_cancel" msgid="5877481252150919037">"Cancelar"</string>
- <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Se creará una copia de tu diccionario personal y se sincronizará con los servidores de Google. Es posible que se recopile información estadística de la frecuencia de palabras para mejorar nuestros productos. La recopilación y el uso de toda la información se realizará conforme a la "<a href="https://www.google.com/policies/privacy">"Política de Privacidad de Google"</a>"."</string>
+ <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Se creará una copia de tu diccionario personal y se sincronizará con los servidores de Google. Es posible que se recopile información estadística de la frecuencia de palabras para mejorar nuestros productos. La recopilación y el uso de toda la información se realizará conforme a la "<a href="https://www.google.com/policies/privacy">"Política de privacidad de Google"</a>"."</string>
<string name="add_account_to_enable_sync" msgid="7836932571852055265">"Para habilitar esta función, agrega una cuenta de Google."</string>
<string name="cloud_sync_summary_disabled_work_profile" msgid="1381770407303129164">"Sinc. no disponible en dispositivos con cuentas de Google Apps for Business"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Otros métodos de entrada"</string>
diff --git a/java/res/values-es/strings-talkback-descriptions.xml b/java/res/values-es/strings-talkback-descriptions.xml
index 4f79193d0..139b637f9 100644
--- a/java/res/values-es/strings-talkback-descriptions.xml
+++ b/java/res/values-es/strings-talkback-descriptions.xml
@@ -74,7 +74,7 @@
<string name="spoken_descrption_emoji_category_flags" msgid="5971573825866381472">"Banderas"</string>
<string name="spoken_descrption_emoji_category_eight_smiley_people" msgid="5682663819532433464">"Sonrisas y personas"</string>
<string name="spoken_descrption_emoji_category_eight_animals_nature" msgid="5844950234883716704">"Animales y naturaleza"</string>
- <string name="spoken_descrption_emoji_category_eight_food_drink" msgid="6196944764485349650">"Comer y beber"</string>
+ <string name="spoken_descrption_emoji_category_eight_food_drink" msgid="6196944764485349650">"Alimentación y bebidas"</string>
<string name="spoken_descrption_emoji_category_eight_travel_places" msgid="3834085499381434611">"Viajes y sitios"</string>
<string name="spoken_descrption_emoji_category_eight_activity" msgid="4795281669042975993">"Actividad"</string>
<string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Emoticonos"</string>
diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml
index eab31f514..ced838e83 100644
--- a/java/res/values-es/strings.xml
+++ b/java/res/values-es/strings.xml
@@ -59,15 +59,15 @@
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilizar nombres de contactos para sugerencias y correcciones"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Sugerencias personalizadas"</string>
<string name="enable_metrics_logging" msgid="5506372337118822837">"Mejorar <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
- <string name="use_double_space_period" msgid="8781529969425082860">"Doble espacio inserta punto"</string>
- <string name="use_double_space_period_summary" msgid="6532892187247952799">"Insertar un punto seguido de un espacio al tocar dos veces la barra espaciadora"</string>
+ <string name="use_double_space_period" msgid="8781529969425082860">"Punto y espacio"</string>
+ <string name="use_double_space_period_summary" msgid="6532892187247952799">"Si tocas dos veces el espacio, se inserta un punto seguido de un espacio"</string>
<string name="auto_cap" msgid="1719746674854628252">"Mayúsculas automáticas"</string>
<string name="auto_cap_summary" msgid="7934452761022946874">"Escribir la primera letra de cada frase en mayúscula"</string>
<string name="edit_personal_dictionary" msgid="3996910038952940420">"Diccionario personal"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Diccionarios complementarios"</string>
<string name="main_dictionary" msgid="4798763781818361168">"Diccionario principal"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Sugerencias de correcciones"</string>
- <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Mostrar las palabras sugeridas mientras escribes"</string>
+ <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Mostrar las palabras sugeridas mientras se escribe"</string>
<string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"Bloquear palabras ofensivas"</string>
<string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"No sugerir palabras que pueden ser ofensivas"</string>
<string name="auto_correction" msgid="7630720885194996950">"Autocorrección"</string>
diff --git a/java/res/values-et/strings-emoji-descriptions.xml b/java/res/values-et/strings-emoji-descriptions.xml
index 795c7d011..0bd3707c4 100644
--- a/java/res/values-et/strings-emoji-descriptions.xml
+++ b/java/res/values-et/strings-emoji-descriptions.xml
@@ -818,7 +818,7 @@
<string name="spoken_emoji_1F4F0" msgid="6330208624731662525">"Ajaleht"</string>
<string name="spoken_emoji_1F4F1" msgid="3966503935581675695">"Mobiiltelefon"</string>
<string name="spoken_emoji_1F4F2" msgid="1057540341746100087">"Mobiiiltelefon, millest vasakul on paremnool"</string>
- <string name="spoken_emoji_1F4F3" msgid="5003984447315754658">"Vibreerimisrežiim"</string>
+ <string name="spoken_emoji_1F4F3" msgid="5003984447315754658">"Värinarežiim"</string>
<string name="spoken_emoji_1F4F4" msgid="5549847566968306253">"Mobiiltelefon väljas"</string>
<string name="spoken_emoji_1F4F5" msgid="3660199448671699238">"Mobiiltelefonid pole lubatud"</string>
<string name="spoken_emoji_1F4F6" msgid="2676974903233268860">"Antennipostid"</string>
diff --git a/java/res/values-et/strings.xml b/java/res/values-et/strings.xml
index 54de874ef..a0bf57da4 100644
--- a/java/res/values-et/strings.xml
+++ b/java/res/values-et/strings.xml
@@ -69,7 +69,7 @@
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Kuva korrigeerimise soovitused"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Kuva sisestamise ajal sõnasoovitusi"</string>
<string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"Blokeeri solvavad sõnad"</string>
- <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Ära soovita potentsiaalselt solvavaid sõnu"</string>
+ <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Ära soovita potentsiaals. solvavaid sõnu"</string>
<string name="auto_correction" msgid="7630720885194996950">"Automaatne korrigeerimine"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"Tühik ja kirjavahemärgid parand. autom. kirjavigadega sõnad"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Väljas"</string>
diff --git a/java/res/values-eu/strings-emoji-descriptions.xml b/java/res/values-eu/strings-emoji-descriptions.xml
index c4a788a0c..9af7e6429 100644
--- a/java/res/values-eu/strings-emoji-descriptions.xml
+++ b/java/res/values-eu/strings-emoji-descriptions.xml
@@ -70,8 +70,8 @@
<string name="spoken_emoji_24C2" msgid="3948348737566038470">"M letra larri latindarra zirkulu batean"</string>
<string name="spoken_emoji_25AA" msgid="7865181015100227349">"Karratu beltz txikia"</string>
<string name="spoken_emoji_25AB" msgid="6446532820937381457">"Karratu zuri txikia"</string>
- <string name="spoken_emoji_25B6" msgid="2423897708496040947">"Triangelu beltza gora begira"</string>
- <string name="spoken_emoji_25C0" msgid="3595083440074484934">"Triangelu beltza ezkerrera begira"</string>
+ <string name="spoken_emoji_25B6" msgid="2423897708496040947">"Triangelu beltza gorantz begira"</string>
+ <string name="spoken_emoji_25C0" msgid="3595083440074484934">"Triangelu beltza ezkerrerantz begira"</string>
<string name="spoken_emoji_25FB" msgid="4838691986881215419">"Karratu zuri ertaina"</string>
<string name="spoken_emoji_25FC" msgid="7008859564991191050">"Karratu beltz ertaina"</string>
<string name="spoken_emoji_25FD" msgid="7673439755069217479">"Karratu zuri txiki-ertaina"</string>
@@ -220,14 +220,14 @@
<string name="spoken_emoji_2795" msgid="6563954833786162168">"Gehi ikur lodia"</string>
<string name="spoken_emoji_2796" msgid="5990926508250772777">"Ken ikur lodia"</string>
<string name="spoken_emoji_2797" msgid="24694184172879174">"Zatiketa ikur lodia"</string>
- <string name="spoken_emoji_27A1" msgid="3513434778263100580">"Gezi beltza eskuinera"</string>
+ <string name="spoken_emoji_27A1" msgid="3513434778263100580">"Gezi beltza eskuinerantz"</string>
<string name="spoken_emoji_27B0" msgid="203395646864662198">"Kiribila"</string>
<string name="spoken_emoji_27BF" msgid="4940514642375640510">"Kiribil bikoitza"</string>
- <string name="spoken_emoji_2934" msgid="9062130477982973457">"Gezia eskuinera begira eta gero gora biratuta"</string>
- <string name="spoken_emoji_2935" msgid="6198710960720232074">"Gezia eskuinera begira eta gero behera biratuta"</string>
- <string name="spoken_emoji_2B05" msgid="4813405635410707690">"Gezi beltza ezkerrera"</string>
- <string name="spoken_emoji_2B06" msgid="1223172079106250748">"Gezi beltza gora"</string>
- <string name="spoken_emoji_2B07" msgid="1599124424746596150">"Gezi beltza behera"</string>
+ <string name="spoken_emoji_2934" msgid="9062130477982973457">"Gezia eskuinerantz begira eta gero gorantz biratuta"</string>
+ <string name="spoken_emoji_2935" msgid="6198710960720232074">"Gezia eskuinerantz begira eta gero beherantz biratuta"</string>
+ <string name="spoken_emoji_2B05" msgid="4813405635410707690">"Gezi beltza ezkerrerantz"</string>
+ <string name="spoken_emoji_2B06" msgid="1223172079106250748">"Gezi beltza gorantz"</string>
+ <string name="spoken_emoji_2B07" msgid="1599124424746596150">"Gezi beltza beherantz"</string>
<string name="spoken_emoji_2B1B" msgid="3461247311988501626">"Karratu beltz handia"</string>
<string name="spoken_emoji_2B1C" msgid="5793146430145248915">"Karratu zuri handia"</string>
<string name="spoken_emoji_2B50" msgid="3850845519526950524">"Izar zuri ertaina"</string>
@@ -645,10 +645,10 @@
<string name="spoken_emoji_1F443" msgid="1491504447758933115">"Sudurra"</string>
<string name="spoken_emoji_1F444" msgid="3654613047946080332">"Ahoa"</string>
<string name="spoken_emoji_1F445" msgid="7024905244040509204">"Mihia"</string>
- <string name="spoken_emoji_1F446" msgid="2150365643636471745">"Esku zuri baten atzeko aldea, hatz erakuslearekin gora seinalatzen duela"</string>
- <string name="spoken_emoji_1F447" msgid="8794022344940891388">"Esku zuri baten atzeko aldea, hatz erakuslearekin behera seinalatzen duela"</string>
- <string name="spoken_emoji_1F448" msgid="3261812959215550650">"Esku zuri baten atzeko aldea, hatz erakuslearekin ezkerrera seinalatzen duela"</string>
- <string name="spoken_emoji_1F449" msgid="4764447975177805991">"Esku zuri baten atzeko aldea, hatz erakuslearekin eskuinera seinalatzen duela"</string>
+ <string name="spoken_emoji_1F446" msgid="2150365643636471745">"Esku zuri baten atzeko aldea, hatz erakuslearekin gorantz seinalatzen duela"</string>
+ <string name="spoken_emoji_1F447" msgid="8794022344940891388">"Esku zuri baten atzeko aldea, hatz erakuslearekin beherantz seinalatzen duela"</string>
+ <string name="spoken_emoji_1F448" msgid="3261812959215550650">"Esku zuri baten atzeko aldea, hatz erakuslearekin ezkerrerantz seinalatzen duela"</string>
+ <string name="spoken_emoji_1F449" msgid="4764447975177805991">"Esku zuri baten atzeko aldea, hatz erakuslearekin eskuinerantz seinalatzen duela"</string>
<string name="spoken_emoji_1F44A" msgid="7197417095486424841">"Ukabila"</string>
<string name="spoken_emoji_1F44B" msgid="1975968945250833117">"Eskua agurtzen"</string>
<string name="spoken_emoji_1F44C" msgid="3185919567897876562">"Ados keinua eskuarekin"</string>
@@ -752,7 +752,7 @@
<string name="spoken_emoji_1F4AE" msgid="1223142786927162641">"Lore zuria"</string>
<string name="spoken_emoji_1F4AF" msgid="3526278354452138397">"Ehun puntuen ikurra"</string>
<string name="spoken_emoji_1F4B0" msgid="4124102195175124156">"Diru-poltsa"</string>
- <string name="spoken_emoji_1F4B1" msgid="8339494003418572905">"Dibisa-trukaketa"</string>
+ <string name="spoken_emoji_1F4B1" msgid="8339494003418572905">"Moneta-trukaketa"</string>
<string name="spoken_emoji_1F4B2" msgid="3179159430187243132">"Dolarraren ikur lodia"</string>
<string name="spoken_emoji_1F4B3" msgid="5375412518221759596">"Kreditu-txartela"</string>
<string name="spoken_emoji_1F4B4" msgid="1068592463669453204">"Billetea yenaren ikurrarekin"</string>
@@ -833,7 +833,7 @@
<skip />
<!-- no translation found for spoken_emoji_1F4FF (6566102135671766103) -->
<skip />
- <string name="spoken_emoji_1F500" msgid="2389947994502144547">"Elkar gurutzatzen diren geziak eskuinera"</string>
+ <string name="spoken_emoji_1F500" msgid="2389947994502144547">"Elkar gurutzatzen diren geziak eskuinerantz"</string>
<string name="spoken_emoji_1F501" msgid="2132188352433347009">"Erlojuaren noranzkoan doazen zirkulu irekiko gezi horizontalak"</string>
<string name="spoken_emoji_1F502" msgid="2361976580513178391">"Erlojuaren noranzkoan doazen zirkulu irekiko gezi horizontalak, 1 zenbakiarekin"</string>
<string name="spoken_emoji_1F503" msgid="8936283551917858793">"Erlojuaren noranzkoan doazen zirkulu irekiko gezi bertikalak"</string>
@@ -846,8 +846,8 @@
<string name="spoken_emoji_1F50A" msgid="5818194948677277197">"Bozgorailua, hiru soinu-uhinekin"</string>
<string name="spoken_emoji_1F50B" msgid="8083470451266295876">"Bateria"</string>
<string name="spoken_emoji_1F50C" msgid="7793219132036431680">"Entxufe elektrikoa"</string>
- <string name="spoken_emoji_1F50D" msgid="8140244710637926780">"Lupa ezkerrera"</string>
- <string name="spoken_emoji_1F50E" msgid="4751821352839693365">"Lupa eskuinera"</string>
+ <string name="spoken_emoji_1F50D" msgid="8140244710637926780">"Lupa ezkerrerantz"</string>
+ <string name="spoken_emoji_1F50E" msgid="4751821352839693365">"Lupa eskuinerantz"</string>
<string name="spoken_emoji_1F50F" msgid="915079280472199605">"Giltzarrapoa eta bolaluma"</string>
<string name="spoken_emoji_1F510" msgid="7658381761691758318">"Giltzarrapoa itxita eta giltza"</string>
<string name="spoken_emoji_1F511" msgid="262319867774655688">"Giltza"</string>
@@ -858,11 +858,11 @@
<string name="spoken_emoji_1F516" msgid="108097933937925381">"Orri-markatzailea"</string>
<string name="spoken_emoji_1F517" msgid="2450846665734313397">"Estekaren ikurra"</string>
<string name="spoken_emoji_1F518" msgid="7028220286841437832">"Aukera-botoia"</string>
- <string name="spoken_emoji_1F519" msgid="8211189165075445687">"\"Back\" hitza eta ezkerrera gezia gainean"</string>
- <string name="spoken_emoji_1F51A" msgid="823966751787338892">"\"End\" hitza eta ezkerrera gezia gainean"</string>
- <string name="spoken_emoji_1F51B" msgid="5920570742107943382">"\"On\" hitza harridura markarekin eta ezkerrera gezia gainean"</string>
- <string name="spoken_emoji_1F51C" msgid="110609810659826676">"\"Soon\" hitza eta eskuinera gezia gainean"</string>
- <string name="spoken_emoji_1F51D" msgid="4087697222026095447">"\"Top\" hitza eta gora gezia gainean"</string>
+ <string name="spoken_emoji_1F519" msgid="8211189165075445687">"\"Back\" hitza eta ezkerrerantz gezia gainean"</string>
+ <string name="spoken_emoji_1F51A" msgid="823966751787338892">"\"End\" hitza eta ezkerrerantz gezia gainean"</string>
+ <string name="spoken_emoji_1F51B" msgid="5920570742107943382">"\"On\" hitza harridura markarekin eta ezkerrerantz gezia gainean"</string>
+ <string name="spoken_emoji_1F51C" msgid="110609810659826676">"\"Soon\" hitza eta eskuinerantz gezia gainean"</string>
+ <string name="spoken_emoji_1F51D" msgid="4087697222026095447">"\"Top\" hitza eta gorantz gezia gainean"</string>
<string name="spoken_emoji_1F51E" msgid="8512873526157201775">"Hemezortzi urte beherakorik ez ikurra"</string>
<string name="spoken_emoji_1F51F" msgid="8673370823728653973">"Hamar tekla"</string>
<string name="spoken_emoji_1F520" msgid="7335109890337048900">"Letra larri latindarren idazketa-ikurra"</string>
@@ -1021,7 +1021,7 @@
<string name="spoken_emoji_1F60A" msgid="5023337769148679767">"Aurpegi irribarretsua poztasun-begiekin"</string>
<string name="spoken_emoji_1F60B" msgid="3005248217216195694">"Janari gozoa dastatzearen aurpegia"</string>
<string name="spoken_emoji_1F60C" msgid="349384012958268496">"Lasaitasun-aurpegia"</string>
- <string name="spoken_emoji_1F60D" msgid="7921853137164938391">"Aurpegi irribarretsua bihotz-formako begiekin"</string>
+ <string name="spoken_emoji_1F60D" msgid="7921853137164938391">"Aurpegi irribarretsua bihotz formako begiekin"</string>
<string name="spoken_emoji_1F60E" msgid="441718886380605643">"Aurpegi irribarretsua betaurrekoekin"</string>
<string name="spoken_emoji_1F60F" msgid="2674453144890180538">"Konplizitate irribarreko aurpegia"</string>
<string name="spoken_emoji_1F610" msgid="3225675825334102369">"Aurpegi neutroa"</string>
diff --git a/java/res/values-eu/strings.xml b/java/res/values-eu/strings.xml
index dfb2c1ca9..b63d83e86 100644
--- a/java/res/values-eu/strings.xml
+++ b/java/res/values-eu/strings.xml
@@ -43,7 +43,7 @@
<string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Datuak hodeitik ezabatuko dira. Ziur hori egin nahi duzula?"</string>
<string name="clear_sync_data_ok" msgid="613104067705915132">"Ezabatu"</string>
<string name="cloud_sync_cancel" msgid="5877481252150919037">"Utzi"</string>
- <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Hiztegi pertsonalizatua sinkronizatu egingo da eta Google zerbitzarietan gordeko da babeskopia gisa. Hitzak erabiltzeko maiztasunari buruzko estatistikak bil daitezke produktuak hobetzen laguntzeko. Informazioaren bilketak eta erabilerak "<a href="https://www.google.com/policies/privacy">"Google Pribatutasun-gidalerroak"</a>" gordeko ditu une oro."</string>
+ <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Hiztegi pertsonalizatua sinkronizatu egingo da eta Google zerbitzarietan gordeko da babeskopia gisa. Hitzak erabiltzeko maiztasunari buruzko estatistikak bil daitezke produktuak hobetzen laguntzeko. Informazioaren bilketak eta erabilerak "<a href="https://www.google.com/policies/privacy">"Google Pribatutasun-gidalerroak"</a>" gordeko ditu uneoro."</string>
<string name="add_account_to_enable_sync" msgid="7836932571852055265">"Eginbidea gaitzeko, gehitu Google kontua gailuan"</string>
<string name="cloud_sync_summary_disabled_work_profile" msgid="1381770407303129164">"Sinkronizazioa ez dago erabilgarri Google Apps for Business kontuak dituzten gailuetan"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Aldatu idazketa-metodoa"</string>
diff --git a/java/res/values-fa/strings-emoji-descriptions.xml b/java/res/values-fa/strings-emoji-descriptions.xml
index 35139efb7..747bf1a97 100644
--- a/java/res/values-fa/strings-emoji-descriptions.xml
+++ b/java/res/values-fa/strings-emoji-descriptions.xml
@@ -806,7 +806,7 @@
<string name="spoken_emoji_1F4E4" msgid="2063561529097749707">"سینی صندوق خروجی"</string>
<string name="spoken_emoji_1F4E5" msgid="3232462702926143576">"سینی صندوق ورودی"</string>
<string name="spoken_emoji_1F4E6" msgid="3399454337197561635">"بسته‌بندی"</string>
- <string name="spoken_emoji_1F4E7" msgid="5557136988503873238">"نماد ایمیل"</string>
+ <string name="spoken_emoji_1F4E7" msgid="5557136988503873238">"نماد رایانامه"</string>
<string name="spoken_emoji_1F4E8" msgid="30698793974124123">"پاکت نامه ورودی"</string>
<string name="spoken_emoji_1F4E9" msgid="5947550337678643166">"پاکت نامه با پیکان‌های رو به پایین در بالا"</string>
<string name="spoken_emoji_1F4EA" msgid="772614045207213751">"صندوق پستی بسته شده با پرچم پایین آمده"</string>
diff --git a/java/res/values-fa/strings-talkback-descriptions.xml b/java/res/values-fa/strings-talkback-descriptions.xml
index 4613d32fd..12b55be65 100644
--- a/java/res/values-fa/strings-talkback-descriptions.xml
+++ b/java/res/values-fa/strings-talkback-descriptions.xml
@@ -58,7 +58,7 @@
<string name="announce_keyboard_mode" msgid="6698257917367823205">"در حال نمایش صفحه‌کلید <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string>
<string name="keyboard_mode_date" msgid="6597407244976713364">"تاریخ"</string>
<string name="keyboard_mode_date_time" msgid="3642804408726668808">"تاریخ و زمان"</string>
- <string name="keyboard_mode_email" msgid="1239682082047693644">"ایمیل"</string>
+ <string name="keyboard_mode_email" msgid="1239682082047693644">"رایانامه"</string>
<string name="keyboard_mode_im" msgid="3812086215529493501">"پیام‌رسانی"</string>
<string name="keyboard_mode_number" msgid="5395042245837996809">"عدد"</string>
<string name="keyboard_mode_phone" msgid="2486230278064523665">"تلفن"</string>
diff --git a/java/res/values-fr-rCA/strings.xml b/java/res/values-fr-rCA/strings.xml
index d1f7e1991..139e77571 100644
--- a/java/res/values-fr-rCA/strings.xml
+++ b/java/res/values-fr-rCA/strings.xml
@@ -169,7 +169,7 @@
<string name="default_user_dict_pref_name" msgid="1625055720489280530">"Dictionnaire personnel"</string>
<string name="dictionary_available" msgid="4728975345815214218">"Dictionnaire disponible"</string>
<string name="dictionary_downloading" msgid="2982650524622620983">"Téléchargement en cours…"</string>
- <string name="dictionary_installed" msgid="8081558343559342962">"Installés"</string>
+ <string name="dictionary_installed" msgid="8081558343559342962">"Installé"</string>
<string name="dictionary_disabled" msgid="8950383219564621762">"Installé, désactivé"</string>
<string name="cannot_connect_to_dict_service" msgid="9216933695765732398">"Pas de service dico."</string>
<string name="no_dictionaries_available" msgid="8039920716566132611">"Aucun dictionnaire"</string>
@@ -204,7 +204,7 @@
<string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"Modifier le mot"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"Modifier"</string>
<string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"Supprimer"</string>
- <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"Votre dictionnaire personnel ne contient aucun mot. Pour ajouter un mot, touchez le bouton d\'ajout (+)."</string>
+ <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"Votre dictionnaire personnel ne contient aucun mot. Pour ajouter un mot, touchez le bouton d\'ajout (« + »)."</string>
<string name="user_dict_settings_all_languages" msgid="8276126583216298886">"Pour toutes les langues"</string>
<string name="user_dict_settings_more_languages" msgid="7131268499685180461">"Plus de langues…"</string>
<string name="user_dict_settings_delete" msgid="110413335187193859">"Supprimer"</string>
diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml
index 9e42ecc3d..f8490b27e 100644
--- a/java/res/values-fr/strings.xml
+++ b/java/res/values-fr/strings.xml
@@ -74,7 +74,7 @@
<string name="auto_correction_summary" msgid="5625751551134658006">"Corriger l\'orthographe (pression sur barre espace/signes ponctuation)"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Désactiver"</string>
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Simple"</string>
- <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Forcée"</string>
+ <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Proactive"</string>
<string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Très proactive"</string>
<string name="bigram_prediction" msgid="1084449187723948550">"Suggestions pour mot suivant"</string>
<string name="bigram_prediction_summary" msgid="3896362682751109677">"Utiliser le mot précédent pour les suggestions"</string>
diff --git a/java/res/values-gl/strings.xml b/java/res/values-gl/strings.xml
index 354f31d1d..2f5f134a7 100644
--- a/java/res/values-gl/strings.xml
+++ b/java/res/values-gl/strings.xml
@@ -157,7 +157,7 @@
<string name="setup_step3_action" msgid="600879797256942259">"Configurar idiomas adicionais"</string>
<string name="setup_finish_action" msgid="276559243409465389">"Finalizado"</string>
<string name="show_setup_wizard_icon" msgid="5008028590593710830">"Mostrar icona da aplicación"</string>
- <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Mostra a icona da aplicación no Launcher"</string>
+ <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Mostra a icona da aplicación no menú de aplicacións"</string>
<string name="app_name" msgid="6320102637491234792">"Fornecedor do dicionario"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"Fornecedor do dicionario"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"Servizo de dicionario"</string>
diff --git a/java/res/values-hi/strings-talkback-descriptions.xml b/java/res/values-hi/strings-talkback-descriptions.xml
index 677dd3695..b6b3170fb 100644
--- a/java/res/values-hi/strings-talkback-descriptions.xml
+++ b/java/res/values-hi/strings-talkback-descriptions.xml
@@ -45,7 +45,7 @@
<string name="spoken_description_search" msgid="5099937658231911288">"सर्च करें"</string>
<string name="spoken_description_dot" msgid="5644176501632325560">"डॉट"</string>
<string name="spoken_description_language_switch" msgid="6818666779313544553">"भाषा स्विच करें"</string>
- <string name="spoken_description_action_next" msgid="431761808119616962">"आगे बढ़ें"</string>
+ <string name="spoken_description_action_next" msgid="431761808119616962">"आगे"</string>
<string name="spoken_description_action_previous" msgid="2919072174697865110">"पीछे जाएं"</string>
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"शिफ़्ट सक्षम किया गया"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"कैप्स लॉक सक्षम किया गया"</string>
diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml
index 4f6d372f9..3e7142513 100644
--- a/java/res/values-hi/strings.xml
+++ b/java/res/values-hi/strings.xml
@@ -156,7 +156,7 @@
<string name="setup_step3_instruction" msgid="8025981829605426000">"अब आप <xliff:g id="APPLICATION_NAME">%s</xliff:g> के साथ अपने सभी पसंदीदा ऐप्स में लिख सकते हैं."</string>
<string name="setup_step3_action" msgid="600879797256942259">"अतिरिक्त भाषाएं कॉन्फ़िगर करें"</string>
<string name="setup_finish_action" msgid="276559243409465389">"समाप्त"</string>
- <string name="show_setup_wizard_icon" msgid="5008028590593710830">"ऐप्लिकेशन का आइकॉन दिखाएं"</string>
+ <string name="show_setup_wizard_icon" msgid="5008028590593710830">"ऐप आइकॉन दिखाएं"</string>
<string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"लॉन्चर में ऐप आइकॉन दिखाएं"</string>
<string name="app_name" msgid="6320102637491234792">"डिक्‍शनरी प्रदाता"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"डिक्‍शनरी प्रदाता"</string>
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
index 57c169293..d5f72c27c 100644
--- a/java/res/values-hr/strings.xml
+++ b/java/res/values-hr/strings.xml
@@ -79,7 +79,7 @@
<string name="bigram_prediction" msgid="1084449187723948550">"Prijedlozi za sljedeću riječ"</string>
<string name="bigram_prediction_summary" msgid="3896362682751109677">"Koristi se prethodnom riječi u izradi prijedloga"</string>
<string name="gesture_input" msgid="826951152254563827">"Omogući pisanje kretnjama"</string>
- <string name="gesture_input_summary" msgid="9180350639305731231">"Unesite riječ klizanjem preko slova"</string>
+ <string name="gesture_input_summary" msgid="9180350639305731231">"Unesi riječ klizanjem preko slova"</string>
<string name="gesture_preview_trail" msgid="3802333369335722221">"Prikaži trag pokreta"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dinamički plutajući pregled"</string>
<string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Vidi predloženu riječ tijekom pokreta"</string>
diff --git a/java/res/values-hy/strings.xml b/java/res/values-hy/strings.xml
index 5e2568cbf..3d9b39f5a 100644
--- a/java/res/values-hy/strings.xml
+++ b/java/res/values-hy/strings.xml
@@ -59,10 +59,10 @@
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Օգտագործել կոնտակտների անունները՝ առաջարկների և ուղղումների համար"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Անհատականացված առաջարկներ"</string>
<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="use_double_space_period" msgid="8781529969425082860">"Կրկնաբացակի վերջակետ"</string>
+ <string name="use_double_space_period_summary" msgid="6532892187247952799">"Բացակի ստեղնի կրկնակի հպումը բացակից հետո վերջակետ է դնում"</string>
<string name="auto_cap" msgid="1719746674854628252">"Ավտոմատ գլխատառացում"</string>
- <string name="auto_cap_summary" msgid="7934452761022946874">"Մեծատառով գրել յուրաքանչյուր նախադասության առաջին բառը"</string>
+ <string name="auto_cap_summary" msgid="7934452761022946874">"Գլխատառել յուրաքանչյուր նախադասության առաջին բառը"</string>
<string name="edit_personal_dictionary" msgid="3996910038952940420">"Անհատական բառարան"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Հավելյալ բառարաններ"</string>
<string name="main_dictionary" msgid="4798763781818361168">"Հիմնական բառարան"</string>
@@ -79,7 +79,7 @@
<string name="bigram_prediction" msgid="1084449187723948550">"Հաջորդ բառի առաջարկներ"</string>
<string name="bigram_prediction_summary" msgid="3896362682751109677">"Առաջարկներ կազմելու համար օգտագործել նախորդ բառը"</string>
<string name="gesture_input" msgid="826951152254563827">"Միացնել ժեստերով մուտքագրումը"</string>
- <string name="gesture_input_summary" msgid="9180350639305731231">"Մուտքագրեք բառ` մատը տառից տառ սահեցնելով"</string>
+ <string name="gesture_input_summary" msgid="9180350639305731231">"Մուտքագրեք բառ` սահեցնելով տառերը"</string>
<string name="gesture_preview_trail" msgid="3802333369335722221">"Ցույց տալ ժեստի հետագիծը"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"Դինամիկ սահող նախատեսք"</string>
<string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Տեսեք առաջարկված բառը՝ ժեստի միջոցով"</string>
@@ -157,7 +157,7 @@
<string name="setup_step3_action" msgid="600879797256942259">"Կարգավորել լրացուցիչ լեզուները"</string>
<string name="setup_finish_action" msgid="276559243409465389">"Ավարտված"</string>
<string name="show_setup_wizard_icon" msgid="5008028590593710830">"Ցույց տալ հավելվածի պատկերակը"</string>
- <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Ցուցադրել հավելվածի պատկերակը գործարկիչում"</string>
+ <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Ցուցադրել հավելվածի պատկերակը թողարկչում"</string>
<string name="app_name" msgid="6320102637491234792">"Բառարանի մատակարար"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"Բառարանի մատակարար"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"Բառարանի ծառայություն"</string>
diff --git a/java/res/values-in/strings-emoji-descriptions.xml b/java/res/values-in/strings-emoji-descriptions.xml
index 6658a5c8f..1e87027c0 100644
--- a/java/res/values-in/strings-emoji-descriptions.xml
+++ b/java/res/values-in/strings-emoji-descriptions.xml
@@ -677,8 +677,8 @@
<string name="spoken_emoji_1F463" msgid="5850772903593010699">"Jejak kaki"</string>
<string name="spoken_emoji_1F464" msgid="1228335905487734913">"Siluet patung dada"</string>
<string name="spoken_emoji_1F465" msgid="4461307702499679879">"Siluet patung dada"</string>
- <string name="spoken_emoji_1F466" msgid="1938873085514108889">"Laki-laki"</string>
- <string name="spoken_emoji_1F467" msgid="8237080594860144998">"Perempuan"</string>
+ <string name="spoken_emoji_1F466" msgid="1938873085514108889">"Anak laki-laki"</string>
+ <string name="spoken_emoji_1F467" msgid="8237080594860144998">"Anak perempuan"</string>
<string name="spoken_emoji_1F468" msgid="6081300722526675382">"Pria"</string>
<string name="spoken_emoji_1F469" msgid="1090140923076108158">"Wanita"</string>
<string name="spoken_emoji_1F46A" msgid="5063570981942606595">"Keluarga"</string>
@@ -1082,7 +1082,7 @@
<!-- no translation found for spoken_emoji_1F644 (446284817942609022) -->
<skip />
<string name="spoken_emoji_1F645" msgid="5202090629227587076">"Wajah dengan isyarat tidak setuju"</string>
- <string name="spoken_emoji_1F646" msgid="6734425134415138134">"Wajah dengan gestur oke"</string>
+ <string name="spoken_emoji_1F646" msgid="6734425134415138134">"Wajah dengan isyarat oke"</string>
<string name="spoken_emoji_1F647" msgid="1090285518444205483">"Orang yang membungkuk dalam-dalam"</string>
<string name="spoken_emoji_1F648" msgid="8978535230610522356">"Monyet menutup mata"</string>
<string name="spoken_emoji_1F649" msgid="8486145279809495102">"Monyet menutup telinga"</string>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index 7061c40c5..22a3c8089 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -29,7 +29,7 @@
<string name="settings_screen_preferences" msgid="2696713156722014624">"Preferensi"</string>
<string name="settings_screen_accounts" msgid="2786418968536696670">"Akun &amp; Privasi"</string>
<string name="settings_screen_appearance" msgid="7358046399111611615">"Tampilan &amp; Tata Letak"</string>
- <string name="settings_screen_gesture" msgid="8826372746901183556">"Ketikan Gestur"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Ketikan Isyarat"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Koreksi teks"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Lanjutan"</string>
<string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
@@ -43,7 +43,7 @@
<string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Data yang disinkronkan akan dihapus dari awan. Anda yakin?"</string>
<string name="clear_sync_data_ok" msgid="613104067705915132">"Hapus"</string>
<string name="cloud_sync_cancel" msgid="5877481252150919037">"Batal"</string>
- <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Kamus pribadi akan disinkronkan dan di-backup ke server Google. Informasi statistik tentang frekuensi kata dapat dikumpulkan untuk membantu menyempurnakan produk kami. Pengumpulan dan penggunaan data tunduk pada "<a href="https://www.google.com/policies/privacy">"Kebijakan Privasi Google"</a>"."</string>
+ <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Kamus pribadi akan disinkronkan dan dicadangkan ke server Google. Informasi statistik tentang frekuensi kata dapat dikumpulkan untuk membantu menyempurnakan produk kami. Pengumpulan dan penggunaan data tunduk pada "<a href="https://www.google.com/policies/privacy">"Kebijakan Privasi Google"</a>"."</string>
<string name="add_account_to_enable_sync" msgid="7836932571852055265">"Tambahkan akun Google ke perangkat ini untuk mengaktifkan fitur ini"</string>
<string name="cloud_sync_summary_disabled_work_profile" msgid="1381770407303129164">"Sinkronisasi tidak tersedia untuk perangkat yang memiliki akun Google Apps for Business"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Beralih ke metode masukan lain"</string>
@@ -78,12 +78,12 @@
<string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Sangat agresif"</string>
<string name="bigram_prediction" msgid="1084449187723948550">"Saran kata berikutnya"</string>
<string name="bigram_prediction_summary" msgid="3896362682751109677">"Gunakan kata sebelumnya dalam membuat saran"</string>
- <string name="gesture_input" msgid="826951152254563827">"Aktifkan pengetikan gestur"</string>
+ <string name="gesture_input" msgid="826951152254563827">"Aktifkan pengetikan isyarat"</string>
<string name="gesture_input_summary" msgid="9180350639305731231">"Masukkan kata dengan menggeser huruf ke kanan/kiri"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"Tampilkan jejak gestur"</string>
+ <string name="gesture_preview_trail" msgid="3802333369335722221">"Tampilkan jejak isyarat"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"Pratinjau mengambang dinamis"</string>
<string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Lihat kata yang disarankan saat melakukan isyarat"</string>
- <string name="gesture_space_aware" msgid="2078291600664682496">"Gesture frasa"</string>
+ <string name="gesture_space_aware" msgid="2078291600664682496">"Isyarat frasa"</string>
<string name="gesture_space_aware_summary" msgid="4371385818348528538">"Masukkan spasi dalam isyarat dengan meluncur ke tombol spasi"</string>
<string name="voice_input" msgid="3583258583521397548">"Tombol masukan suara"</string>
<string name="voice_input_disabled_summary" msgid="6323489602945135165">"Tidak ada metode masukan suara yang diaktifkan. Periksa setelan Bahasan &amp; masukan."</string>
@@ -91,8 +91,8 @@
<string name="language_selection_title" msgid="3666971864764478269">"Bahasa"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Bantuan &amp; masukan"</string>
<string name="select_language" msgid="5709487854987078367">"Bahasa"</string>
- <string name="hint_add_to_dictionary" msgid="2645988432867033007">"Tap sekali lagi untuk menyimpan"</string>
- <string name="hint_add_to_dictionary_without_word" msgid="6710206006427574423">"Tap di sini untuk menyimpan"</string>
+ <string name="hint_add_to_dictionary" msgid="2645988432867033007">"Ketuk sekali lagi untuk menyimpan"</string>
+ <string name="hint_add_to_dictionary_without_word" msgid="6710206006427574423">"Ketuk di sini untuk menyimpan"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Kamus yang tersedia"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema keyboard"</string>
<string name="switch_accounts" msgid="3321216593719006162">"Beralih akun"</string>
@@ -141,7 +141,7 @@
<string name="prefs_enable_emoji_alt_physical_key_summary" msgid="5259484820941627827">"Tombol Alt fisik menampilkan palet emoji"</string>
<string name="button_default" msgid="3988017840431881491">"Default"</string>
<string name="setup_welcome_title" msgid="6112821709832031715">"Selamat datang di <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
- <string name="setup_welcome_additional_description" msgid="8150252008545768953">"dengan Ketikan Gestur"</string>
+ <string name="setup_welcome_additional_description" msgid="8150252008545768953">"dengan Ketikan Isyarat"</string>
<string name="setup_start_action" msgid="8936036460897347708">"Memulai"</string>
<string name="setup_next_action" msgid="371821437915144603">"Langkah berikutnya"</string>
<string name="setup_steps_title" msgid="6400373034871816182">"Menyiapkan <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
@@ -204,7 +204,7 @@
<string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"Edit kata"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"Edit"</string>
<string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"Hapus"</string>
- <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"Tidak ada kata-kata dalam kamus pengguna. Untuk menambahkan kata, tap tombol Tambahkan (+)."</string>
+ <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"Tidak ada kata-kata dalam kamus pengguna. Untuk menambahkan kata, ketuk tombol Tambahkan (+)."</string>
<string name="user_dict_settings_all_languages" msgid="8276126583216298886">"Untuk semua bahasa"</string>
<string name="user_dict_settings_more_languages" msgid="7131268499685180461">"Bahasa lainnya..."</string>
<string name="user_dict_settings_delete" msgid="110413335187193859">"Hapus"</string>
diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml
index a44b2fb36..73a296196 100644
--- a/java/res/values-it/strings.xml
+++ b/java/res/values-it/strings.xml
@@ -44,7 +44,7 @@
<string name="clear_sync_data_ok" msgid="613104067705915132">"Elimina"</string>
<string name="cloud_sync_cancel" msgid="5877481252150919037">"Annulla"</string>
<string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Il tuo dizionario personale verrà sincronizzato sui server di Google e ne verrà effettuato il backup. Potrebbero essere raccolte informazioni statistiche relative alla frequenza delle parole per migliorare i nostri prodotti. La raccolta e l\'utilizzo di tutte le informazioni saranno conformi alle "<a href="https://www.google.com/policies/privacy">"Norme sulla privacy di Google"</a>"."</string>
- <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Per attivare la funzione, aggiungi un Account Google al dispositivo"</string>
+ <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Per attivare la funzione, aggiungi un account Google al dispositivo"</string>
<string name="cloud_sync_summary_disabled_work_profile" msgid="1381770407303129164">"La sincronizzazione non è disponibile per i dispositivi con account Google Apps for Business"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Altri metodi immissione"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Il tasto per cambiare lingua offre altri metodi di immissione"</string>
@@ -157,7 +157,7 @@
<string name="setup_step3_action" msgid="600879797256942259">"Configura altre lingue"</string>
<string name="setup_finish_action" msgid="276559243409465389">"Terminato"</string>
<string name="show_setup_wizard_icon" msgid="5008028590593710830">"Mostra icona app"</string>
- <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Mostra l\'icona dell\'app in Avvio app"</string>
+ <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Mostra l\'icona dell\'app in Avvio applicazioni"</string>
<string name="app_name" msgid="6320102637491234792">"Dictionary Provider"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"Dictionary Provider"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"Servizio dizionario"</string>
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
index 2fc113333..bce66c0be 100644
--- a/java/res/values-ja/strings.xml
+++ b/java/res/values-ja/strings.xml
@@ -23,7 +23,7 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"入力オプション"</string>
<string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"連絡先名の検索"</string>
<string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"スペルチェッカーでは連絡先リストのエントリを使用します"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"キー操作バイブレーション"</string>
+ <string name="vibrate_on_keypress" msgid="5258079494276955460">"キー操作バイブ"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"キー操作音"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"キー押下時ポップアップ"</string>
<string name="settings_screen_preferences" msgid="2696713156722014624">"設定"</string>
@@ -134,7 +134,7 @@
<string name="enable" msgid="5031294444630523247">"有効にする"</string>
<string name="not_now" msgid="6172462888202790482">"後で行う"</string>
<string name="custom_input_style_already_exists" msgid="8008728952215449707">"同じ入力スタイルが既に存在します: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"キー操作バイブレーションの振動時間"</string>
+ <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"キー操作バイブの振動時間"</string>
<string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"キー操作音の音量"</string>
<string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"キーの長押し時間"</string>
<string name="prefs_enable_emoji_alt_physical_key" msgid="5963640002335470112">"物理キーボードの絵文字"</string>
diff --git a/java/res/values-kk/strings-emoji-descriptions.xml b/java/res/values-kk/strings-emoji-descriptions.xml
index 8d6c438d0..989c64595 100644
--- a/java/res/values-kk/strings-emoji-descriptions.xml
+++ b/java/res/values-kk/strings-emoji-descriptions.xml
@@ -249,7 +249,7 @@
<string name="spoken_emoji_1F194" msgid="4903128609556175887">"Шаршыдағы ID"</string>
<string name="spoken_emoji_1F195" msgid="1433142500411060924">"Шаршыдағы «new»"</string>
<string name="spoken_emoji_1F196" msgid="8825160701159634202">"Шаршыдағы «N G»"</string>
- <string name="spoken_emoji_1F197" msgid="7841079241554176535">"Шаршыдағы «Жарайды»"</string>
+ <string name="spoken_emoji_1F197" msgid="7841079241554176535">"Шаршыдағы «OK»"</string>
<string name="spoken_emoji_1F198" msgid="7020298909426960622">"Шаршыдағы «SOS»"</string>
<string name="spoken_emoji_1F199" msgid="5971252667136235630">"Шаршыдағы «Up» және леп белгісі"</string>
<string name="spoken_emoji_1F19A" msgid="4557270135899843959">"Шаршыдағы «vs»"</string>
diff --git a/java/res/values-kk/strings.xml b/java/res/values-kk/strings.xml
index b7da51b1c..275300daa 100644
--- a/java/res/values-kk/strings.xml
+++ b/java/res/values-kk/strings.xml
@@ -31,7 +31,7 @@
<string name="settings_screen_appearance" msgid="7358046399111611615">"Сыртқы түр және орналасулар"</string>
<string name="settings_screen_gesture" msgid="8826372746901183556">"Қимыл арқылы теру"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Мәтінді түзету"</string>
- <string name="settings_screen_advanced" msgid="7472408607625972994">"Қосымша"</string>
+ <string name="settings_screen_advanced" msgid="7472408607625972994">"Кеңейтілген"</string>
<string name="settings_screen_theme" msgid="2137262503543943871">"Тақырып"</string>
<string name="enable_split_keyboard" msgid="4177264923999493614">"Бөлінген пернетақтаны қосу"</string>
<string name="cloud_sync_title" msgid="8579271074443847055">"Google пернетақтасын синхрондау"</string>
@@ -54,21 +54,21 @@
<string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Кідіріс жоқ"</string>
<string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Әдепкі"</string>
<string name="abbreviation_unit_milliseconds" msgid="8700286094028323363">"<xliff:g id="MILLISECONDS">%s</xliff:g>мс"</string>
- <string name="settings_system_default" msgid="6268225104743331821">"Жүйенің әдепкі мәні"</string>
+ <string name="settings_system_default" msgid="6268225104743331821">"Жүйе әдепкісі"</string>
<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>
<string name="enable_metrics_logging" msgid="5506372337118822837">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> жақсарту"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Нүкте мен бос орын қою"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Бос орын пернесін екі рет түртсе, нүкте мен бос орын қойылады"</string>
- <string name="auto_cap" msgid="1719746674854628252">"Автоматты бас әріпке ауыстыру"</string>
+ <string name="auto_cap" msgid="1719746674854628252">"Авто бас әріптерге түрлендіру"</string>
<string name="auto_cap_summary" msgid="7934452761022946874">"Әрбір сөйлемнің бірінші әріпін бас әріпке түрлендіру"</string>
<string name="edit_personal_dictionary" msgid="3996910038952940420">"Жеке сөздік"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Қосымша сөздіктер"</string>
<string name="main_dictionary" msgid="4798763781818361168">"Негізгі сөздік"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Түзету ұсыныстарын көрсету"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Теру кезінде ұсынылған сөздерді көрсету"</string>
- <string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"Балағат сөздерге тыйым салу"</string>
+ <string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"Қорлаушы сөздерді тыю"</string>
<string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Қорлаушы сөздерді ұсынбау"</string>
<string name="auto_correction" msgid="7630720885194996950">"Авто түзету"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"Бос орын және тыныс белгі автоматты түрде қателерді түзетеді"</string>
@@ -157,7 +157,7 @@
<string name="setup_step3_action" msgid="600879797256942259">"Қосымша тілдерді теңшеу"</string>
<string name="setup_finish_action" msgid="276559243409465389">"Аяқталған"</string>
<string name="show_setup_wizard_icon" msgid="5008028590593710830">"Қолданба белгішесін көрсету"</string>
- <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Іске қосу құралында қолданба белгішесін көрсету"</string>
+ <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Іске қосу құралындағы қолданба белгішесін көрсету"</string>
<string name="app_name" msgid="6320102637491234792">"Сөздік провайдері"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"Сөздік провайдері"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"Сөздік қызметі"</string>
diff --git a/java/res/values-km/strings.xml b/java/res/values-km/strings.xml
index 71a185d71..d5dce2a41 100644
--- a/java/res/values-km/strings.xml
+++ b/java/res/values-km/strings.xml
@@ -156,8 +156,8 @@
<string name="setup_step3_instruction" msgid="8025981829605426000">"ឥឡូវ​​អ្នក​អាច​​វាយ​បញ្ចូល​នៅ​ក្នុង​​កម្មវិធី​​ពេញ​ចិត្ត​របស់​អ្នក​ទាំងអស់​ជាមួយ <xliff:g id="APPLICATION_NAME">%s</xliff:g> ។"</string>
<string name="setup_step3_action" msgid="600879797256942259">"កំណត់​រចនា​សម្ព័ន្ធ​ភាសា​បន្ថែម"</string>
<string name="setup_finish_action" msgid="276559243409465389">"បាន​បញ្ចប់"</string>
- <string name="show_setup_wizard_icon" msgid="5008028590593710830">"បង្ហាញ​រូប​កម្មវិធី"</string>
- <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"បង្ហាញ​រូប​កម្មវិធី​នៅ​ក្នុង​កម្ម​​វិធី​ចាប់ផ្ដើម"</string>
+ <string name="show_setup_wizard_icon" msgid="5008028590593710830">"បង្ហាញ​រូប​តំណាង​កម្មវិធី"</string>
+ <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"បង្ហាញ​រូប​តំណាង​កម្មវិធី​នៅ​ក្នុង​កម្ម​​វិធី​ចាប់ផ្ដើម"</string>
<string name="app_name" msgid="6320102637491234792">"កម្មវិធី​ផ្ដល់​វចនានុក្រម"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"កម្មវិធី​ផ្ដល់​វចនានុក្រម"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"សេវាកម្ម​​វចនានុក្រម"</string>
diff --git a/java/res/values-kn/strings.xml b/java/res/values-kn/strings.xml
index 45f05abdb..924f05930 100644
--- a/java/res/values-kn/strings.xml
+++ b/java/res/values-kn/strings.xml
@@ -80,7 +80,7 @@
<string name="bigram_prediction_summary" msgid="3896362682751109677">"ಸಲಹೆಗಳನ್ನು ಮಾಡುವಾಗ ಹಿಂದಿನ ಪದವನ್ನು ಬಳಸು"</string>
<string name="gesture_input" msgid="826951152254563827">"ಗೆಶ್ಚರ್ ಟೈಪಿಂಗ್ ಸಕ್ರಿಯಗೊಳಿಸು"</string>
<string name="gesture_input_summary" msgid="9180350639305731231">"ಅಕ್ಷರಗಳ ಮೇಲೆ ಸರಿಸುವ ಮೂಲಕ ಪದವೊಂದನ್ನು ನಮೂದಿಸಿ"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"ಗೆಶ್ಚರ್ ಟ್ರೇಲ್ ತೋರಿಸು"</string>
+ <string name="gesture_preview_trail" msgid="3802333369335722221">"ಗೆಶ್ಚರ್ ಟ್ರಯಲ್ ತೋರಿಸು"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"ಡೈನಮಿಕ್ ಫ್ಲೋಟಿಂಗ್ ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
<string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"ಗೆಸ್ಟರ್ ಮಾಡುವಾಗ ಸೂಚಿಸಿದ ಪದವನ್ನು ನೋಡಿ"</string>
<string name="gesture_space_aware" msgid="2078291600664682496">"ಪದಗುಚ್ಛದ ಗೆಶ್ಚರ್"</string>
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
index 90fec1b31..5f2fb8e63 100644
--- a/java/res/values-ko/strings.xml
+++ b/java/res/values-ko/strings.xml
@@ -60,7 +60,7 @@
<string name="use_personalized_dicts" msgid="5167396352105467626">"맞춤 추천 검색어"</string>
<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="use_double_space_period_summary" msgid="6532892187247952799">"스페이스바를 두 번 탭하면 마침표와 공백 한 개가 삽입됩니다."</string>
<string name="auto_cap" msgid="1719746674854628252">"자동 대문자화"</string>
<string name="auto_cap_summary" msgid="7934452761022946874">"문장의 첫 단어를 대문자로 표시"</string>
<string name="edit_personal_dictionary" msgid="3996910038952940420">"개인 사전"</string>
diff --git a/java/res/values-ky/strings.xml b/java/res/values-ky/strings.xml
index 59ef3634d..c6be21a6c 100644
--- a/java/res/values-ky/strings.xml
+++ b/java/res/values-ky/strings.xml
@@ -24,7 +24,7 @@
<string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Байланыш ысымдарын издөө"</string>
<string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Орфография текшерилип жатканда байланыштар тизмеси колдонулат"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Баскыч басылганда дирилдесин"</string>
- <string name="sound_on_keypress" msgid="6093592297198243644">"Баскычты басканда үн чыгат"</string>
+ <string name="sound_on_keypress" msgid="6093592297198243644">"Баскыч басылганда чыккан үн"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Баскыч басылганда калкып чыкма"</string>
<string name="settings_screen_preferences" msgid="2696713156722014624">"Мүмкүнчүлүктөрдү тандоо"</string>
<string name="settings_screen_accounts" msgid="2786418968536696670">"Каттоо эсептери жана купуялык"</string>
@@ -69,7 +69,7 @@
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Оңдоо сунуштары көрсөтүлсүн"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Терүү учурунда сунушталган сөздөрдү көрсөтүү"</string>
<string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"Адепсиз сөздөрдү бөгөттө"</string>
- <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Адепсиз сөздөр сунушталбайт"</string>
+ <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Адепсиз сөздөр сунушталбасын"</string>
<string name="auto_correction" msgid="7630720885194996950">"Авто оңдоо"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"Боштук жана тыныш белгиси автоматтык түрдө туура эмес терилген сөздөрдү оңдойт"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Өчүк"</string>
@@ -79,7 +79,7 @@
<string name="bigram_prediction" msgid="1084449187723948550">"Кийинки сөздү сунуштоо"</string>
<string name="bigram_prediction_summary" msgid="3896362682751109677">"Сунуштоодо мурунку сөздү пайдалануу"</string>
<string name="gesture_input" msgid="826951152254563827">"Жаңсап терүүнү иштетүү"</string>
- <string name="gesture_input_summary" msgid="9180350639305731231">"Сөздү тамгаларды сүрүп киргизесиз"</string>
+ <string name="gesture_input_summary" msgid="9180350639305731231">"Тамгаларды сүрүп сөз киргизүү"</string>
<string name="gesture_preview_trail" msgid="3802333369335722221">"Жаңсоо изи көрүнүп турсун"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"Динамикалык калкыма алдын-ала көрүү"</string>
<string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Жаңсалганда сунушталган сөздү көрүү"</string>
@@ -157,7 +157,7 @@
<string name="setup_step3_action" msgid="600879797256942259">"Кошумча тилдерди конфигурациялоо"</string>
<string name="setup_finish_action" msgid="276559243409465389">"Аяктады"</string>
<string name="show_setup_wizard_icon" msgid="5008028590593710830">"Колдонмонун сүрөтчөсүн көрсөтүү"</string>
- <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Колдонмонун сүрөтчөсү иштетүү тактасында көрүнөт"</string>
+ <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Колдонмонун сүрөтчөсүн иштетүү тактасында көрсөтүү"</string>
<string name="app_name" msgid="6320102637491234792">"Сөздүк жабдуучусу"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"Сөздүк жабдуучусу"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"Сөздүк кызматы"</string>
diff --git a/java/res/values-lo/strings.xml b/java/res/values-lo/strings.xml
index fc9342511..2c37c9ae0 100644
--- a/java/res/values-lo/strings.xml
+++ b/java/res/values-lo/strings.xml
@@ -21,7 +21,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="english_ime_input_options" msgid="3909945612939668554">"ຕົວເລືອກການປ້ອນຂໍ້ມູນ"</string>
- <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"ຊອກຫາລາຍຊື່ຜູ້ຕິດຕໍ່"</string>
+ <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"ເບິ່ງທີ່ຊື່ຂອງລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
<string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"ໂຕຊ່ວຍສະກົດໃຊ້ຂໍ້ມູນຈາກລາຍການຂອງລາຍຊື່ຜູ່ຕິດຕໍ່ຂອງທ່ານ"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"ສັ່ນເຕືອນເມື່ອພິມ"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"ສຽງໃນການກົດປຸ່ມ"</string>
@@ -156,8 +156,8 @@
<string name="setup_step3_instruction" msgid="8025981829605426000">"ຕອນນີ້ທ່ານສາມາດພິມໃນແອັບຯທີ່ທ່ານມັກໄດ້ທຸກແອັບຯດ້ວຍ <xliff:g id="APPLICATION_NAME">%s</xliff:g>."</string>
<string name="setup_step3_action" msgid="600879797256942259">"ປັບຄ່າພາສາເພີ່ມເຕີມ"</string>
<string name="setup_finish_action" msgid="276559243409465389">"ສຳເລັດແລ້ວ"</string>
- <string name="show_setup_wizard_icon" msgid="5008028590593710830">"ສະແດງໄອຄອນຂອງແອັບ"</string>
- <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"ສະແດງໄອຄອນຂອງແອັບໃນ Launcher"</string>
+ <string name="show_setup_wizard_icon" msgid="5008028590593710830">"ສະແດງໄອຄອນຂອງແອັບຯ"</string>
+ <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"ສະແດງໄອຄອນຂອງແອັບຯໃນ Launcher"</string>
<string name="app_name" msgid="6320102637491234792">"ຜູ່​ສະ​ຫນອງ​ວັດຈະ​ນາ​ນຸ​ກົມ"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"ຜູ່​ສະ​ຫນອງ​ວັດຈະ​ນາ​ນຸ​ກົມ"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"ບໍລິການວັດຈະນານຸກົມ"</string>
diff --git a/java/res/values-mk/strings-talkback-descriptions.xml b/java/res/values-mk/strings-talkback-descriptions.xml
index 44ac433a1..0955656e2 100644
--- a/java/res/values-mk/strings-talkback-descriptions.xml
+++ b/java/res/values-mk/strings-talkback-descriptions.xml
@@ -64,7 +64,7 @@
<string name="keyboard_mode_phone" msgid="2486230278064523665">"телефон"</string>
<string name="keyboard_mode_text" msgid="9138789594969187494">"текст"</string>
<string name="keyboard_mode_time" msgid="8558297845514402675">"време"</string>
- <string name="keyboard_mode_url" msgid="8072011652949962550">"URL"</string>
+ <string name="keyboard_mode_url" msgid="8072011652949962550">"УРЛ"</string>
<string name="spoken_descrption_emoji_category_recents" msgid="4185344945205590692">"Неодамнешни"</string>
<string name="spoken_descrption_emoji_category_people" msgid="8414196269847492817">"Луѓе"</string>
<string name="spoken_descrption_emoji_category_objects" msgid="6116297906606195278">"Предмети"</string>
diff --git a/java/res/values-ml/strings.xml b/java/res/values-ml/strings.xml
index bc1aebc07..6d4ce71fa 100644
--- a/java/res/values-ml/strings.xml
+++ b/java/res/values-ml/strings.xml
@@ -78,7 +78,7 @@
<string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"വളരെ നിർബന്ധിതമായി"</string>
<string name="bigram_prediction" msgid="1084449187723948550">"അടുത്ത-പദ നിർദ്ദേശങ്ങൾ"</string>
<string name="bigram_prediction_summary" msgid="3896362682751109677">"നിർദ്ദേശങ്ങൾ സൃഷ്‌ടിക്കാൻ മുമ്പത്തെ പദം ഉപയോഗിക്കുക"</string>
- <string name="gesture_input" msgid="826951152254563827">"ജെസ്റ്റർടൈപ്പിംഗ് സജീവമാക്കുക"</string>
+ <string name="gesture_input" msgid="826951152254563827">"ജെസ്റ്റർടൈപ്പിംഗ് സജീവമാക്കൂ"</string>
<string name="gesture_input_summary" msgid="9180350639305731231">"അക്ഷരങ്ങളിലൂടെ സ്ലൈഡ് ചെയ്‌തുകൊണ്ട് ഒരു പദം ടൈപ്പുചെയ്യുക"</string>
<string name="gesture_preview_trail" msgid="3802333369335722221">"വിരൽചലന ട്രെയിൽ കാണിക്കുക"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"ചലനാത്മക ഫ്ലോട്ടിംഗ് പ്രിവ്യൂ"</string>
diff --git a/java/res/values-mn/strings.xml b/java/res/values-mn/strings.xml
index 69f96733a..a2efc42b4 100644
--- a/java/res/values-mn/strings.xml
+++ b/java/res/values-mn/strings.xml
@@ -30,7 +30,7 @@
<string name="settings_screen_accounts" msgid="2786418968536696670">"Хаяг &amp; Нууцлал"</string>
<string name="settings_screen_appearance" msgid="7358046399111611615">"Харагдах байдал &amp; Зураглал"</string>
<string name="settings_screen_gesture" msgid="8826372746901183556">"Зангаагаар бичих"</string>
- <string name="settings_screen_correction" msgid="1616818407747682955">"Текст засварлах"</string>
+ <string name="settings_screen_correction" msgid="1616818407747682955">"Текст залруулалт"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Дэлгэрэнгүй"</string>
<string name="settings_screen_theme" msgid="2137262503543943871">"Загвар"</string>
<string name="enable_split_keyboard" msgid="4177264923999493614">"Хуваагдмал гарыг идэвхжүүлэх"</string>
@@ -135,7 +135,7 @@
<string name="not_now" msgid="6172462888202790482">"Одоо биш"</string>
<string name="custom_input_style_already_exists" msgid="8008728952215449707">"Ижилхэн оруулах загвар байна: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
<string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Товч дарах чичиргээний хугацаа"</string>
- <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Товчны дууны түвшин"</string>
+ <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Товчны дууны хэмжээ"</string>
<string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Товчны удаан даралтын тохиргоо"</string>
<string name="prefs_enable_emoji_alt_physical_key" msgid="5963640002335470112">"Бодит гарт зориулсан эможи"</string>
<string name="prefs_enable_emoji_alt_physical_key_summary" msgid="5259484820941627827">"Бодит Alt товчлуур нь эможи палитрыг харуулдаг"</string>
diff --git a/java/res/values-mr/strings-emoji-descriptions.xml b/java/res/values-mr/strings-emoji-descriptions.xml
index 373ef29cb..07b5b503d 100644
--- a/java/res/values-mr/strings-emoji-descriptions.xml
+++ b/java/res/values-mr/strings-emoji-descriptions.xml
@@ -818,7 +818,7 @@
<string name="spoken_emoji_1F4F0" msgid="6330208624731662525">"वर्तमानपत्र"</string>
<string name="spoken_emoji_1F4F1" msgid="3966503935581675695">"मोबाईल फोन"</string>
<string name="spoken_emoji_1F4F2" msgid="1057540341746100087">"डावीकडे उजवीकडे जाणार्‍या बाणासह मोबाईल फोन"</string>
- <string name="spoken_emoji_1F4F3" msgid="5003984447315754658">"व्हायब्रेट मोड"</string>
+ <string name="spoken_emoji_1F4F3" msgid="5003984447315754658">"कंपन मोड"</string>
<string name="spoken_emoji_1F4F4" msgid="5549847566968306253">"मोबाईल फोन बंद"</string>
<string name="spoken_emoji_1F4F5" msgid="3660199448671699238">"मोबाईल फोन नाहीत"</string>
<string name="spoken_emoji_1F4F6" msgid="2676974903233268860">"बार सह अँटेना"</string>
diff --git a/java/res/values-mr/strings.xml b/java/res/values-mr/strings.xml
index 437a5a8c4..a7963ef4d 100644
--- a/java/res/values-mr/strings.xml
+++ b/java/res/values-mr/strings.xml
@@ -23,7 +23,7 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"इनपुट पर्याय"</string>
<string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"संपर्क नावे शोधा"</string>
<string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"शब्दलेखन तपासक आपल्या संपर्क सूचीमधील प्रविष्ट्या वापरतो"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"की दाबताना व्हायब्रेट"</string>
+ <string name="vibrate_on_keypress" msgid="5258079494276955460">"की दाबताना कंपन"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"की दाबताना आवाज"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"की दाबताना पॉपअप"</string>
<string name="settings_screen_preferences" msgid="2696713156722014624">"प्राधान्ये"</string>
@@ -33,19 +33,19 @@
<string name="settings_screen_correction" msgid="1616818407747682955">"मजकूर दुरुस्ती"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"प्रगत"</string>
<string name="settings_screen_theme" msgid="2137262503543943871">"थीम"</string>
- <string name="enable_split_keyboard" msgid="4177264923999493614">"विभाजित कीबोर्ड सुरू करा"</string>
- <string name="cloud_sync_title" msgid="8579271074443847055">"Google कीबोर्ड सिंक"</string>
- <string name="cloud_sync_summary" msgid="7684887161145650857">"सिंक चालू केले आहे"</string>
- <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"डिव्‍हाइसेस वरून तुमचा वैयक्तिक शब्दकोश संकालित करा"</string>
- <string name="sync_now_title" msgid="3088838136743277721">"आता सिंक करा"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"विभाजित कीबोर्ड सक्षम करा"</string>
+ <string name="cloud_sync_title" msgid="8579271074443847055">"Google कीबोर्ड संकालन"</string>
+ <string name="cloud_sync_summary" msgid="7684887161145650857">"संकालन चालू केले आहे"</string>
+ <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"डिव्‍हाइसेस वरून आपला वैयक्तिक शब्दकोश संकालित करा"</string>
+ <string name="sync_now_title" msgid="3088838136743277721">"आता संकालन करा"</string>
<string name="clear_sync_data_title" msgid="8582001557037069154">"क्लाउड डेटा हटवा"</string>
- <string name="clear_sync_data_summary" msgid="993477139012576584">"Google वरून तुमचा संकालित केलेला डेटा हटविते"</string>
- <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"तुमचा संकालित केलेला डेटा मेघवरून हटवला जाईल. आपल्‍याला खात्री आहे?"</string>
+ <string name="clear_sync_data_summary" msgid="993477139012576584">"Google वरून आपला संकालित केलेला डेटा हटविते"</string>
+ <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"आपला संकालित केलेला डेटा मेघवरून हटविला जाईल. आपल्‍याला खात्री आहे?"</string>
<string name="clear_sync_data_ok" msgid="613104067705915132">"हटवा"</string>
<string name="cloud_sync_cancel" msgid="5877481252150919037">"रद्द करा"</string>
- <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"तुमची वैयक्तिक डिरेक्टरी Google सर्व्हरवर सिंक केली जाईल आणि बॅकअप घेतला जाईल. आमचे उत्पादन सुधारित करण्यात मदत करण्यासाठी शब्दाच्या वारंवारतेची आकडेवारी माहिती गोळा केली जाऊ शकते. सर्व माहितीचे संकलन आणि वापर "<a href="https://www.google.com/policies/privacy">"Google चे गोपनीयता धोरण"</a>" शी सुसंगत असेल."</string>
+ <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"आपली वैयक्तिक डिरेक्टरी Google सर्व्हरवर सिंक केली जाईल आणि बॅकअप घेतला जाईल. आमचे उत्पादन सुधारित करण्यात मदत करण्यासाठी शब्दाच्या वारंवारतेची आकडेवारी माहिती गोळा केली जाऊ शकते. सर्व माहितीचे संकलन आणि वापर "<a href="https://www.google.com/policies/privacy">"Google चे गोपनीयता धोरण"</a>" शी सुसंगत असेल."</string>
<string name="add_account_to_enable_sync" msgid="7836932571852055265">"या डीव्हाइसमध्ये हे वैशिष्ट्य सक्षम करण्यासाठी कृपया एक Google खाते जोडा"</string>
- <string name="cloud_sync_summary_disabled_work_profile" msgid="1381770407303129164">"Google Apps for Business खात्यांसह डिव्हाइसेससाठी सिंक उपलब्ध नाही"</string>
+ <string name="cloud_sync_summary_disabled_work_profile" msgid="1381770407303129164">"Google Apps for Business खात्यांसह डिव्हाइसेससाठी संकालन उपलब्ध नाही"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"अन्य इनपुट पद्धतींवर स्विच करा"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"भाषा स्विच की अन्य इनपुट पद्धती देखील समाविष्ट करते"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"भाषा स्विच की"</string>
@@ -57,7 +57,7 @@
<string name="settings_system_default" msgid="6268225104743331821">"सिस्टम डीफॉल्ट"</string>
<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>
+ <string name="use_personalized_dicts" msgid="5167396352105467626">"वैयक्तिकृत केलेल्या सूचना"</string>
<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>
@@ -70,7 +70,7 @@
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"टाइप करताना सुचविलेले शब्द प्रदर्शित करा"</string>
<string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"आक्षेपार्ह शब्द ब्लॉक करा"</string>
<string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"संभाव्य आक्षेपार्ह शब्द सुचवू नका"</string>
- <string name="auto_correction" msgid="7630720885194996950">"ऑटो-करेक्शन"</string>
+ <string name="auto_correction" msgid="7630720885194996950">"स्‍वयं-सुधारणा"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"चुकीचे टाइप केलेले शब्द स्पेसबार आणि विरामचिन्हे स्वयंचलितपणे सुधारते"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"बंद"</string>
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"मर्यादशील"</string>
@@ -78,7 +78,7 @@
<string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"खूप आक्रमक"</string>
<string name="bigram_prediction" msgid="1084449187723948550">"पुढील-शब्द सूचना"</string>
<string name="bigram_prediction_summary" msgid="3896362682751109677">"सूचना करताना मागील शब्द वापरा"</string>
- <string name="gesture_input" msgid="826951152254563827">"जेश्चर टायपिंग सुरू करा"</string>
+ <string name="gesture_input" msgid="826951152254563827">"जेश्चर टायपिंग सक्षम करा"</string>
<string name="gesture_input_summary" msgid="9180350639305731231">"अक्षरांमधून स्लायडिंग करून एक शब्द इनपुट करा"</string>
<string name="gesture_preview_trail" msgid="3802333369335722221">"जेश्चर अनुचिन्ह दर्शवा"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"डायनॅमिक फ्लोटिंग पूर्वावलोकन"</string>
@@ -91,8 +91,8 @@
<string name="language_selection_title" msgid="3666971864764478269">"भाषा"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"मदत आणि अभिप्राय"</string>
<string name="select_language" msgid="5709487854987078367">"भाषा"</string>
- <string name="hint_add_to_dictionary" msgid="2645988432867033007">"सेव्ह करण्यासाठी पुन्हा टॅप करा"</string>
- <string name="hint_add_to_dictionary_without_word" msgid="6710206006427574423">"सेव्ह करण्यासाठी येथे टॅप करा"</string>
+ <string name="hint_add_to_dictionary" msgid="2645988432867033007">"जतन करण्यासाठी पुन्हा टॅप करा"</string>
+ <string name="hint_add_to_dictionary_without_word" msgid="6710206006427574423">"जतन करण्यासाठी येथे टॅप करा"</string>
<string name="has_dictionary" msgid="6071847973466625007">"शब्दकोश उपलब्ध"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"कीबोर्ड थीम"</string>
<string name="switch_accounts" msgid="3321216593719006162">"खाती स्विच करा"</string>
@@ -123,18 +123,18 @@
<string name="subtype_no_language_pcqwerty" msgid="5354918232046200018">"वर्णमाला (PC)"</string>
<string name="subtype_emoji" msgid="7483586578074549196">"इमोजी"</string>
<string name="keyboard_theme" msgid="4909551808526178852">"कीबोर्ड थीम"</string>
- <string name="custom_input_styles_title" msgid="8429952441821251512">"कस्टम इनपुट शैली"</string>
+ <string name="custom_input_styles_title" msgid="8429952441821251512">"सानुकूल इनपुट शैली"</string>
<string name="add_style" msgid="6163126614514489951">"स्टाइल जोडा"</string>
<string name="add" msgid="8299699805688017798">"जोडा"</string>
<string name="remove" msgid="4486081658752944606">"काढा"</string>
<string name="save" msgid="7646738597196767214">"सेव्ह करा"</string>
<string name="subtype_locale" msgid="8576443440738143764">"भाषा"</string>
<string name="keyboard_layout_set" msgid="4309233698194565609">"लेआउट"</string>
- <string name="custom_input_style_note_message" msgid="8826731320846363423">"तुमची कस्टम इनपुट शैली तुम्ही ती वापरणे प्रारंभ करण्यापूर्वी सक्षम करणे आवश्यक आहे. तुम्ही आता ती सक्षम करू इच्‍छिता?"</string>
- <string name="enable" msgid="5031294444630523247">"सुरू करा"</string>
+ <string name="custom_input_style_note_message" msgid="8826731320846363423">"आपली सानुकूल इनपुट शैली आपण ती वापरणे प्रारंभ करण्यापूर्वी सक्षम करणे आवश्यक आहे. आपण आता ती सक्षम करू इच्‍छिता?"</string>
+ <string name="enable" msgid="5031294444630523247">"सक्षम करा"</string>
<string name="not_now" msgid="6172462888202790482">"आता नाही"</string>
<string name="custom_input_style_already_exists" msgid="8008728952215449707">"समान इनपुट शैली आधीपासूनच अस्तित्वात आहे: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"की दाबल्यानंतरचा व्हायब्रेट कालावधी"</string>
+ <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"की दाबल्यानंतरचा कंपन कालावधी"</string>
<string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"की दाबल्यावर आवाजाची तीव्रता"</string>
<string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"की जास्त दाबण्यात विलंब"</string>
<string name="prefs_enable_emoji_alt_physical_key" msgid="5963640002335470112">"वास्तविक कीबोर्डसाठी इमोजी"</string>
@@ -145,15 +145,15 @@
<string name="setup_start_action" msgid="8936036460897347708">"सुरू करा"</string>
<string name="setup_next_action" msgid="371821437915144603">"पुढील चरण"</string>
<string name="setup_steps_title" msgid="6400373034871816182">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> सेट अप करत आहे"</string>
- <string name="setup_step1_title" msgid="3147967630253462315">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> सुरू करा"</string>
+ <string name="setup_step1_title" msgid="3147967630253462315">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> सक्षम करा"</string>
<string name="setup_step1_instruction" msgid="4295448056733329661">"कृपया आपल्या भाषांमध्ये आणि इनपुट सेटिंग्जमध्ये \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" तपासा. आपल्या डिव्हाइसवर चालण्यासाठी त्यास हे अधिकृत करेल."</string>
<string name="setup_step1_finished_instruction" msgid="8701441895377434947">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> आपल्या भाषांमध्ये आणि इनपुट सेटिंग्जमध्ये आधीपासून सक्षम केला आहे, त्यामुळे हे चरण पूर्ण झाले आहे. पुढील चरणावर!"</string>
- <string name="setup_step1_action" msgid="4366513534999901728">"सेटिंग्जमध्ये सुरू करा"</string>
+ <string name="setup_step1_action" msgid="4366513534999901728">"सेटिंग्जमध्ये सक्षम करा"</string>
<string name="setup_step2_title" msgid="6860725447906690594">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> वर स्विच करा"</string>
- <string name="setup_step2_instruction" msgid="9141481964870023336">"पुढे, तुमची सक्रिय मजकूर-इनपुट पद्धत म्हणून \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" निवडा."</string>
+ <string name="setup_step2_instruction" msgid="9141481964870023336">"पुढे, आपली सक्रिय मजकूर-इनपुट पद्धत म्हणून \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" निवडा."</string>
<string name="setup_step2_action" msgid="1660330307159824337">"इनपुट पद्धती स्विच करा"</string>
- <string name="setup_step3_title" msgid="3154757183631490281">"अभिनंदन, आता तुम्ही तयार आहात!"</string>
- <string name="setup_step3_instruction" msgid="8025981829605426000">"आता तुम्ही <xliff:g id="APPLICATION_NAME">%s</xliff:g> सह आपल्या सर्व आवडत्या अॅप्समध्ये टाइप करू शकता."</string>
+ <string name="setup_step3_title" msgid="3154757183631490281">"अभिनंदन, आता आपण तयार आहात!"</string>
+ <string name="setup_step3_instruction" msgid="8025981829605426000">"आता आपण <xliff:g id="APPLICATION_NAME">%s</xliff:g> सह आपल्या सर्व आवडत्या अॅप्समध्ये टाइप करू शकता."</string>
<string name="setup_step3_action" msgid="600879797256942259">"अतिरिक्त भाषा कॉन्फिगर करा"</string>
<string name="setup_finish_action" msgid="276559243409465389">"समाप्त"</string>
<string name="show_setup_wizard_icon" msgid="5008028590593710830">"अॅप आयकन दर्शवा"</string>
diff --git a/java/res/values-my/strings.xml b/java/res/values-my/strings.xml
index 10709bba7..685dc9b64 100644
--- a/java/res/values-my/strings.xml
+++ b/java/res/values-my/strings.xml
@@ -25,7 +25,7 @@
<string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"စာလုံးပေါင်းစစ်စနစ်က သင့်အဆက်အသွယ်စာရင်းမှ ရယူအသုံးပြုသည်"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"ခလုတ်နှိပ်သည်နှင့် တုံခါစေပါ"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"ခလုတ်နှိပ်လျှင် အသံမြည်"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"ခလုတ်နှိပ်လိုက်သည်နှင့် ပေါ်လာရန်"</string>
+ <string name="popup_on_keypress" msgid="123894815723512944">"ကီးနှိပ်လိုက်သည်နှင့် ပေါ်လာရန်"</string>
<string name="settings_screen_preferences" msgid="2696713156722014624">"ရွေးချယ်စရာများ"</string>
<string name="settings_screen_accounts" msgid="2786418968536696670">"အကောင့်များ &amp; ကိုယ်ပိုင်ကိစ္စ"</string>
<string name="settings_screen_appearance" msgid="7358046399111611615">"ပုံပန်းသွင်ပြင် &amp; အပြင်အဆင်များ"</string>
@@ -91,8 +91,8 @@
<string name="language_selection_title" msgid="3666971864764478269">"ဘာသာစကားများ"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"အကူအညီနှင့် အကြံပြုချက်"</string>
<string name="select_language" msgid="5709487854987078367">"ဘာသာစကားများ"</string>
- <string name="hint_add_to_dictionary" msgid="2645988432867033007">"သိမ်းရန် နောက်တစ်ကြိမ် တို့ပါ"</string>
- <string name="hint_add_to_dictionary_without_word" msgid="6710206006427574423">"သိမ်းရန် ဤနေရာတွင် တို့ပါ"</string>
+ <string name="hint_add_to_dictionary" msgid="2645988432867033007">"သိမ်းဆည်းရန် နောက်တစ်ကြိမ် တို့ပါ"</string>
+ <string name="hint_add_to_dictionary_without_word" msgid="6710206006427574423">"သိမ်းဆည်းရန် ဤနေရာတွင် တို့ပါ"</string>
<string name="has_dictionary" msgid="6071847973466625007">"အဘိဓါန်ရနိုင်"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"ကီးဘုတ်အရောင်"</string>
<string name="switch_accounts" msgid="3321216593719006162">"အကောင့်များကို ပြောင်းရန်"</string>
@@ -156,7 +156,7 @@
<string name="setup_step3_instruction" msgid="8025981829605426000">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> ဖြင့်သင့် ကြိုက်နှစ်သက်ရာ အပလီကေးရှင်းများအားလုံးအား ရိုက်ထည့်နိုင်ပါပြီ။"</string>
<string name="setup_step3_action" msgid="600879797256942259">"ထပ်ပေါင်းဘာသာစကားများ ပြုပြင်မည်"</string>
<string name="setup_finish_action" msgid="276559243409465389">"ပြီးဆုံးသွားပြီ"</string>
- <string name="show_setup_wizard_icon" msgid="5008028590593710830">"အက်ပ်သင်္ကေတပြခြင်း"</string>
+ <string name="show_setup_wizard_icon" msgid="5008028590593710830">"အက်ပ်သင်္ကေတ ပြပါ"</string>
<string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"launcher တွင် အပလီကေးရှင်း သင်္ကေတကိုပြရန်"</string>
<string name="app_name" msgid="6320102637491234792">"အဘိဓါန် ထောက်ပံ့သူ"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"အဘိဓါန် ထောက်ပံ့သူ"</string>
diff --git a/java/res/values-ne/strings-emoji-descriptions.xml b/java/res/values-ne/strings-emoji-descriptions.xml
index 2735db830..23961561a 100644
--- a/java/res/values-ne/strings-emoji-descriptions.xml
+++ b/java/res/values-ne/strings-emoji-descriptions.xml
@@ -249,7 +249,7 @@
<string name="spoken_emoji_1F194" msgid="4903128609556175887">"चारपाते ID"</string>
<string name="spoken_emoji_1F195" msgid="1433142500411060924">"चारपाते नयाँ"</string>
<string name="spoken_emoji_1F196" msgid="8825160701159634202">"चारपाते N G"</string>
- <string name="spoken_emoji_1F197" msgid="7841079241554176535">"चारपाते ठिक"</string>
+ <string name="spoken_emoji_1F197" msgid="7841079241554176535">"चारपाते ठीक"</string>
<string name="spoken_emoji_1F198" msgid="7020298909426960622">"चारपाते SOS"</string>
<string name="spoken_emoji_1F199" msgid="5971252667136235630">"उद्गार चिन्ह साथ चारपाते"</string>
<string name="spoken_emoji_1F19A" msgid="4557270135899843959">"चारपाते बिरुद्ध"</string>
@@ -651,7 +651,7 @@
<string name="spoken_emoji_1F449" msgid="4764447975177805991">"औंला इशारा पछाडिबाट सूचकांक दायाँ"</string>
<string name="spoken_emoji_1F44A" msgid="7197417095486424841">"मुठी चिन्ह"</string>
<string name="spoken_emoji_1F44B" msgid="1975968945250833117">"हल्लाएको हात चिन्ह"</string>
- <string name="spoken_emoji_1F44C" msgid="3185919567897876562">"ठिक हात चिन्ह"</string>
+ <string name="spoken_emoji_1F44C" msgid="3185919567897876562">"ठीक हात चिन्ह"</string>
<string name="spoken_emoji_1F44D" msgid="6182553970602667815">"औंठा माथी चिन्ह"</string>
<string name="spoken_emoji_1F44E" msgid="8030851867365111809">"औंठा तल चिन्ह"</string>
<string name="spoken_emoji_1F44F" msgid="5148753662268213389">"ताली चिन्ह"</string>
@@ -1082,7 +1082,7 @@
<!-- no translation found for spoken_emoji_1F644 (446284817942609022) -->
<skip />
<string name="spoken_emoji_1F645" msgid="5202090629227587076">"कुनै राम्रो सङ्केत बिना साथ अनुहार"</string>
- <string name="spoken_emoji_1F646" msgid="6734425134415138134">"ठिक इशारा साथ अनुहार"</string>
+ <string name="spoken_emoji_1F646" msgid="6734425134415138134">"ठीक इशारा साथ अनुहार"</string>
<string name="spoken_emoji_1F647" msgid="1090285518444205483">"गहिरो निहुरेको व्यक्ति"</string>
<string name="spoken_emoji_1F648" msgid="8978535230610522356">"हेर्नुहोस्-कुनै-दुष्ट बाँदर"</string>
<string name="spoken_emoji_1F649" msgid="8486145279809495102">"सुन-कुनै-दुष्ट बाँदर"</string>
diff --git a/java/res/values-ne/strings-talkback-descriptions.xml b/java/res/values-ne/strings-talkback-descriptions.xml
index 5d4d1315b..4a8438693 100644
--- a/java/res/values-ne/strings-talkback-descriptions.xml
+++ b/java/res/values-ne/strings-talkback-descriptions.xml
@@ -72,7 +72,7 @@
<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_flags" msgid="5971573825866381472">"झण्डाहरू"</string>
- <string name="spoken_descrption_emoji_category_eight_smiley_people" msgid="5682663819532433464">"स्माइली र मान्छेहरू"</string>
+ <string name="spoken_descrption_emoji_category_eight_smiley_people" msgid="5682663819532433464">"स्माइली र व्यक्तिहरू"</string>
<string name="spoken_descrption_emoji_category_eight_animals_nature" msgid="5844950234883716704">"पशुहरू र प्रकृति"</string>
<string name="spoken_descrption_emoji_category_eight_food_drink" msgid="6196944764485349650">"खाद्य र पेय"</string>
<string name="spoken_descrption_emoji_category_eight_travel_places" msgid="3834085499381434611">"यात्रा र स्थानहरू"</string>
diff --git a/java/res/values-ne/strings.xml b/java/res/values-ne/strings.xml
index 2a7055317..b552dd5ee 100644
--- a/java/res/values-ne/strings.xml
+++ b/java/res/values-ne/strings.xml
@@ -98,7 +98,7 @@
<string name="switch_accounts" msgid="3321216593719006162">"खाताहरू स्विच गर्नुहोस्"</string>
<string name="no_accounts_selected" msgid="2073821619103904330">"कुनै खाता चयन गरिएको छैन"</string>
<string name="account_selected" msgid="2846876462199625974">"हाल प्रयोग गर्दै <xliff:g id="EMAIL_ADDRESS">%1$s</xliff:g>"</string>
- <string name="account_select_ok" msgid="9141195141763227797">"ठिक छ"</string>
+ <string name="account_select_ok" msgid="9141195141763227797">"ठीक छ"</string>
<string name="account_select_cancel" msgid="5181012062618504340">"रद्द गर्नुहोस्"</string>
<string name="account_select_sign_out" msgid="3299651159390187933">"बाहिर निकल्नुहोस्"</string>
<string name="account_select_title" msgid="6279711684772922649">"प्रयोग गर्न खाता चयन गर्नुहोस्"</string>
@@ -153,7 +153,7 @@
<string name="setup_step2_instruction" msgid="9141481964870023336">"त्यसपछि, \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" लाई तपाईँको सक्रिय पाठ इनपुट विधिका रूपमा चयन गर्नुहोस्।"</string>
<string name="setup_step2_action" msgid="1660330307159824337">"इनपुट विधि स्विच गर्नुहोस्"</string>
<string name="setup_step3_title" msgid="3154757183631490281">"बधाई छ, तपाईँले सेट पुरा गर्नुभयो!"</string>
- <string name="setup_step3_instruction" msgid="8025981829605426000">"अब तपाईं <xliff:g id="APPLICATION_NAME">%s</xliff:g>का साथ तपाईंका सम्पूर्ण मन पर्ने अनुप्रयोगहरू टाइप गर्न सक्नुहुन्छ।"</string>
+ <string name="setup_step3_instruction" msgid="8025981829605426000">"अब तपाईं <xliff:g id="APPLICATION_NAME">%s</xliff:g>का साथ तपाईंका सम्पूर्ण मनपर्ने अनुप्रयोगहरू टाइप गर्न सक्नुहुन्छ।"</string>
<string name="setup_step3_action" msgid="600879797256942259">"थप भाषाहरू कन्फिगर गर्नुहोस्"</string>
<string name="setup_finish_action" msgid="276559243409465389">"समाप्त भयो"</string>
<string name="show_setup_wizard_icon" msgid="5008028590593710830">"अनुप्रयोग आइकन देखाउनुहोस्"</string>
@@ -195,7 +195,7 @@
<string name="user_dict_settings_add_screen_title" msgid="5818914331629278758">"पदावली"</string>
<string name="user_dict_settings_add_dialog_more_options" msgid="5671682004887093112">"थप विकल्पहरू"</string>
<string name="user_dict_settings_add_dialog_less_options" msgid="2716586567241724126">"कम विकल्पहरू"</string>
- <string name="user_dict_settings_add_dialog_confirm" msgid="4703129507388332950">"ठिक छ"</string>
+ <string name="user_dict_settings_add_dialog_confirm" msgid="4703129507388332950">"ठीक छ"</string>
<string name="user_dict_settings_add_word_option_name" msgid="6665558053408962865">"शब्द:"</string>
<string name="user_dict_settings_add_shortcut_option_name" msgid="3094731590655523777">"सर्टकट:"</string>
<string name="user_dict_settings_add_locale_option_name" msgid="4738643440987277705">"भाषा:"</string>
diff --git a/java/res/values-nl/strings-emoji-descriptions.xml b/java/res/values-nl/strings-emoji-descriptions.xml
index 125f62a85..1a355072f 100644
--- a/java/res/values-nl/strings-emoji-descriptions.xml
+++ b/java/res/values-nl/strings-emoji-descriptions.xml
@@ -870,7 +870,7 @@
<string name="spoken_emoji_1F522" msgid="8419130286280673347">"Invoersymbool voor cijfers"</string>
<string name="spoken_emoji_1F523" msgid="3318053476401719421">"Invoersymbool voor symbolen"</string>
<string name="spoken_emoji_1F524" msgid="1625073997522316331">"Invoersymbool voor Latijnse letters"</string>
- <string name="spoken_emoji_1F525" msgid="4083884189172963790">"Brandweer"</string>
+ <string name="spoken_emoji_1F525" msgid="4083884189172963790">"Vuur"</string>
<string name="spoken_emoji_1F526" msgid="2035494936742643580">"Zaklamp"</string>
<string name="spoken_emoji_1F527" msgid="134257142354034271">"Moersleutel"</string>
<string name="spoken_emoji_1F528" msgid="700627429570609375">"Hamer"</string>
diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml
index 4951f97ac..195821b3c 100644
--- a/java/res/values-nl/strings.xml
+++ b/java/res/values-nl/strings.xml
@@ -89,7 +89,7 @@
<string name="voice_input_disabled_summary" msgid="6323489602945135165">"Geen spraakinvoermethoden ingeschakeld. Bekijk de instellingen bij \'Talen en invoer\'."</string>
<string name="configure_input_method" msgid="373356270290742459">"Invoermethoden configureren"</string>
<string name="language_selection_title" msgid="3666971864764478269">"Talen"</string>
- <string name="help_and_feedback" msgid="5328219371839879161">"Hulp en feedback"</string>
+ <string name="help_and_feedback" msgid="5328219371839879161">"Help en feedback"</string>
<string name="select_language" msgid="5709487854987078367">"Talen"</string>
<string name="hint_add_to_dictionary" msgid="2645988432867033007">"Tik nogmaals om op te slaan"</string>
<string name="hint_add_to_dictionary_without_word" msgid="6710206006427574423">"Tik hier om op te slaan"</string>
diff --git a/java/res/values-pa/strings.xml b/java/res/values-pa/strings.xml
index 0f972e52a..bcce742a0 100644
--- a/java/res/values-pa/strings.xml
+++ b/java/res/values-pa/strings.xml
@@ -62,7 +62,7 @@
<string name="use_double_space_period" msgid="8781529969425082860">"ਡਬਲ-ਸਪੇਸ ਡੰਡੀ"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"ਸਪੇਸਬਾਰ ’ਤੇ ਡਬਲ ਟੈਪ ਕਰਨਾ ਇੱਕ ਡੰਡੀ ਤੋਂ ਬਾਅਦ ਇੱਕ ਸਪੇਸ ਦਾਖਲ ਕਰਦਾ ਹੈ"</string>
<string name="auto_cap" msgid="1719746674854628252">"ਆਟੋ-ਕੈਪਿਟਲਾਈਜ਼ੇਸ਼ਨ"</string>
- <string name="auto_cap_summary" msgid="7934452761022946874">"ਹਰੇਕ ਵਾਕ ਦਾ ਪਹਿਲਾ ਅੱਖਰ ਵੱਡਾ ਕਰੋ"</string>
+ <string name="auto_cap_summary" msgid="7934452761022946874">"ਹਰੇਕ ਵਾਕ ਦਾ ਪਹਿਲਾ ਸ਼ਬਦ ਕੈਪੀਟਲਾਈਜ਼ ਕਰੋ"</string>
<string name="edit_personal_dictionary" msgid="3996910038952940420">"ਨਿੱਜੀ ਸ਼ਬਦਕੋਸ਼"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"ਐਡ-ਆਨ ਸ਼ਬਦਕੋਸ਼"</string>
<string name="main_dictionary" msgid="4798763781818361168">"ਮੁੱਖ ਸ਼ਬਦਕੋਸ਼"</string>
@@ -80,12 +80,12 @@
<string name="bigram_prediction_summary" msgid="3896362682751109677">"ਸੁਝਾਅ ਦੇਣ ਵਿੱਚ ਪਿਛਲਾ ਸ਼ਬਦ ਵਰਤੋ"</string>
<string name="gesture_input" msgid="826951152254563827">"ਸੰਕੇਤ ਟਾਈਪਿੰਗ ਚਾਲੂ ਕਰੋ"</string>
<string name="gesture_input_summary" msgid="9180350639305731231">"ਅੱਖਰਾਂ ਰਾਹੀਂ ਸਲਾਈਡ ਕਰਕੇ ਇੱਕ ਸ਼ਬਦ ਦਾਖਲ ਕਰੋ"</string>
- <string name="gesture_preview_trail" msgid="3802333369335722221">"ਸੰਕੇਤ ਲੀਹ ਦਿਖਾਓ"</string>
+ <string name="gesture_preview_trail" msgid="3802333369335722221">"ਸੰਕੇਤ ਲੀਹ ਦਿਖਾਓ"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"ਸਕਿਰਿਆ ਫਲੋਟਿੰਗ ਪੂਰਵ-ਝਲਕ"</string>
<string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"ਸੰਕੇਤ ਦਿੰਦੇ ਸਮੇਂ ਸੁਝਾਇਆ ਗਿਆ ਸ਼ਬਦ ਦੇਖੋ"</string>
<string name="gesture_space_aware" msgid="2078291600664682496">"ਵਾਕਾਂਸ਼ ਸੰਕੇਤ"</string>
<string name="gesture_space_aware_summary" msgid="4371385818348528538">"ਸਪੇਸ ਕੁੰਜੀ ਸਰਕਾ ਕੇ ਸੰਕੇਤਾਂ ਦੇ ਦੌਰਾਨ ਸਪੇਸ ਇਨਪੁਟ ਕਰੋ"</string>
- <string name="voice_input" msgid="3583258583521397548">"ਅਵਾਜ਼ੀ ਇਨਪੁੱਟ ਕੁੰਜੀ"</string>
+ <string name="voice_input" msgid="3583258583521397548">"ਵੌਇਸ ਇਨਪੁਟ ਕੁੰਜੀ"</string>
<string name="voice_input_disabled_summary" msgid="6323489602945135165">"ਕੋਈ ਵੌਇਸ ਇਨਪੁੱਟ ਵਿਧੀਆਂ ਚਾਲੂ ਨਹੀਂ ਕੀਤੀਆਂ ਹਨ। ਭਾਸ਼ਾਵਾਂ ਅਤੇ ਇਨਪੁੱਟ ਸੈਟਿੰਗਾਂ ਦੀ ਜਾਂਚ ਕਰੋ।"</string>
<string name="configure_input_method" msgid="373356270290742459">"ਇਨਪੁੱਟ ਵਿਧੀਆਂ ਦੀ ਰੂਪ-ਰੇਖਾ ਬਦਲੋ"</string>
<string name="language_selection_title" msgid="3666971864764478269">"ਭਾਸ਼ਾਵਾਂ"</string>
diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml
index 3912782e8..81b40f0c1 100644
--- a/java/res/values-pl/strings.xml
+++ b/java/res/values-pl/strings.xml
@@ -57,7 +57,7 @@
<string name="settings_system_default" msgid="6268225104743331821">"Ustawienie domyślne"</string>
<string name="use_contacts_dict" msgid="4435317977804180815">"Proponuj osoby z kontaktów"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"W podpowiedziach i poprawkach używaj nazwisk z kontaktów"</string>
- <string name="use_personalized_dicts" msgid="5167396352105467626">"Dostosowane sugestie"</string>
+ <string name="use_personalized_dicts" msgid="5167396352105467626">"Spersonalizowane sugestie"</string>
<string name="enable_metrics_logging" msgid="5506372337118822837">"Popraw aplikację <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="use_double_space_period" msgid="8781529969425082860">"Szybka kropka ze spacją"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Dwukrotne kliknięcie spacji wstawia kropkę ze spacją"</string>
diff --git a/java/res/values-pt/strings-talkback-descriptions.xml b/java/res/values-pt/strings-talkback-descriptions.xml
index c41baac99..fc0c6eec8 100644
--- a/java/res/values-pt/strings-talkback-descriptions.xml
+++ b/java/res/values-pt/strings-talkback-descriptions.xml
@@ -72,7 +72,7 @@
<string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Lugares"</string>
<string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Símbolos"</string>
<string name="spoken_descrption_emoji_category_flags" msgid="5971573825866381472">"Sinalizações"</string>
- <string name="spoken_descrption_emoji_category_eight_smiley_people" msgid="5682663819532433464">"Emoticons e pessoas"</string>
+ <string name="spoken_descrption_emoji_category_eight_smiley_people" msgid="5682663819532433464">"Emoticon e pessoas"</string>
<string name="spoken_descrption_emoji_category_eight_animals_nature" msgid="5844950234883716704">"Animais e natureza"</string>
<string name="spoken_descrption_emoji_category_eight_food_drink" msgid="6196944764485349650">"Comidas e bebidas"</string>
<string name="spoken_descrption_emoji_category_eight_travel_places" msgid="3834085499381434611">"Viagens e lugares"</string>
diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml
index 24a015411..a82b6b87c 100644
--- a/java/res/values-pt/strings.xml
+++ b/java/res/values-pt/strings.xml
@@ -23,15 +23,15 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"Opções de entrada"</string>
<string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Buscar nomes de contatos"</string>
<string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"O corretor ortográfico usa entradas de sua lista de contatos"</string>
- <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar ao digitar"</string>
+ <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar ao tocar a tecla"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Som ao tocar a tecla"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Mostrar letra em pop-up ao digitar"</string>
+ <string name="popup_on_keypress" msgid="123894815723512944">"Exibir pop-up ao digitar"</string>
<string name="settings_screen_preferences" msgid="2696713156722014624">"Preferências"</string>
<string name="settings_screen_accounts" msgid="2786418968536696670">"Contas e privacidade"</string>
<string name="settings_screen_appearance" msgid="7358046399111611615">"Aparência e layouts"</string>
<string name="settings_screen_gesture" msgid="8826372746901183556">"Escrita com gestos"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Correção de texto"</string>
- <string name="settings_screen_advanced" msgid="7472408607625972994">"Avançado"</string>
+ <string name="settings_screen_advanced" msgid="7472408607625972994">"Avançadas"</string>
<string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
<string name="enable_split_keyboard" msgid="4177264923999493614">"Ativar teclado dividido"</string>
<string name="cloud_sync_title" msgid="8579271074443847055">"Sincronização Teclado do Google"</string>
@@ -62,14 +62,14 @@
<string name="use_double_space_period" msgid="8781529969425082860">"Duplo espaço para ponto"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Toque duplo na barra de espaço insere um ponto seguido de espaço"</string>
<string name="auto_cap" msgid="1719746674854628252">"Capitalização automática"</string>
- <string name="auto_cap_summary" msgid="7934452761022946874">"Iniciar a primeira palavra de cada frase com letra maiúscula"</string>
+ <string name="auto_cap_summary" msgid="7934452761022946874">"Inicia a primeira palavra de cada frase com letra maiúscula"</string>
<string name="edit_personal_dictionary" msgid="3996910038952940420">"Dicionário pessoal"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Dicionários complementares"</string>
<string name="main_dictionary" msgid="4798763781818361168">"Dicionário principal"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Mostrar sugestões de correção"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Exibir sugestões de palavras durante a digitação"</string>
<string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"Bloquear palavras ofensivas"</string>
- <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Não sugerir palavras potencialmente ofensivas"</string>
+ <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Não sugere palavras potencialmente ofensivas"</string>
<string name="auto_correction" msgid="7630720885194996950">"Correção automática"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"A barra de espaço e a pontuação corrigem automaticamente palavras com erro de digitação"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desativado"</string>
@@ -77,7 +77,7 @@
<string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agressivo"</string>
<string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Muito agressivo"</string>
<string name="bigram_prediction" msgid="1084449187723948550">"Sugerir palavra seguinte"</string>
- <string name="bigram_prediction_summary" msgid="3896362682751109677">"Usar a palavra anterior ao fazer sugestões"</string>
+ <string name="bigram_prediction_summary" msgid="3896362682751109677">"Usa a palavra anterior ao fazer sugestões"</string>
<string name="gesture_input" msgid="826951152254563827">"Ativar a escrita com gestos"</string>
<string name="gesture_input_summary" msgid="9180350639305731231">"Insere uma palavra deslizando os dedos pelas letras"</string>
<string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar percurso do gesto"</string>
@@ -121,7 +121,7 @@
<string name="subtype_no_language_dvorak" msgid="1564494667584718094">"Alfabeto (Dvorak)"</string>
<string name="subtype_no_language_colemak" msgid="5837418400010302623">"Alfabeto (Colemak)"</string>
<string name="subtype_no_language_pcqwerty" msgid="5354918232046200018">"Alfabeto (PC)"</string>
- <string name="subtype_emoji" msgid="7483586578074549196">"Emojis"</string>
+ <string name="subtype_emoji" msgid="7483586578074549196">"Emoji"</string>
<string name="keyboard_theme" msgid="4909551808526178852">"Tema do teclado"</string>
<string name="custom_input_styles_title" msgid="8429952441821251512">"Estilos personalizados"</string>
<string name="add_style" msgid="6163126614514489951">"Adic. estilo"</string>
@@ -137,8 +137,8 @@
<string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Duração da vibração ao tocar"</string>
<string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volume ao tocar na tela"</string>
<string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Atraso ao pressionar teclas"</string>
- <string name="prefs_enable_emoji_alt_physical_key" msgid="5963640002335470112">"Emojis para teclado físico"</string>
- <string name="prefs_enable_emoji_alt_physical_key_summary" msgid="5259484820941627827">"Exibe o teclado de emojis ao pressionar a tecla Alt"</string>
+ <string name="prefs_enable_emoji_alt_physical_key" msgid="5963640002335470112">"Emoticons para teclado físico"</string>
+ <string name="prefs_enable_emoji_alt_physical_key_summary" msgid="5259484820941627827">"Tecla Alt física mostra a paleta de emoticons"</string>
<string name="button_default" msgid="3988017840431881491">"Padrão"</string>
<string name="setup_welcome_title" msgid="6112821709832031715">"Bem-vindo ao <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="setup_welcome_additional_description" msgid="8150252008545768953">"com entrada por gestos"</string>
diff --git a/java/res/values-ru/strings-emoji-descriptions.xml b/java/res/values-ru/strings-emoji-descriptions.xml
index 1c6f4e07a..a133412ff 100644
--- a/java/res/values-ru/strings-emoji-descriptions.xml
+++ b/java/res/values-ru/strings-emoji-descriptions.xml
@@ -249,7 +249,7 @@
<string name="spoken_emoji_1F194" msgid="4903128609556175887">"Квадратный значок идентификатора."</string>
<string name="spoken_emoji_1F195" msgid="1433142500411060924">"Квадратный значок Новый."</string>
<string name="spoken_emoji_1F196" msgid="8825160701159634202">"Квадратный значок Нехорошо."</string>
- <string name="spoken_emoji_1F197" msgid="7841079241554176535">"Квадратный значок Окей."</string>
+ <string name="spoken_emoji_1F197" msgid="7841079241554176535">"Квадратный значок О\'кей."</string>
<string name="spoken_emoji_1F198" msgid="7020298909426960622">"Квадратный значок СОС."</string>
<string name="spoken_emoji_1F199" msgid="5971252667136235630">"Квадратный значок обновления с восклицательным знаком."</string>
<string name="spoken_emoji_1F19A" msgid="4557270135899843959">"Квадратный значок Против."</string>
@@ -651,7 +651,7 @@
<string name="spoken_emoji_1F449" msgid="4764447975177805991">"Белая рука с указательным пальцем вправо с тыльной стороны."</string>
<string name="spoken_emoji_1F44A" msgid="7197417095486424841">"Кулак."</string>
<string name="spoken_emoji_1F44B" msgid="1975968945250833117">"Машущая раскрытая ладонь."</string>
- <string name="spoken_emoji_1F44C" msgid="3185919567897876562">"Пальцы, сложенные знаком Окей."</string>
+ <string name="spoken_emoji_1F44C" msgid="3185919567897876562">"Пальцы, сложенные знаком О\'кей."</string>
<string name="spoken_emoji_1F44D" msgid="6182553970602667815">"Большой палец вверх."</string>
<string name="spoken_emoji_1F44E" msgid="8030851867365111809">"Большой палец вниз."</string>
<string name="spoken_emoji_1F44F" msgid="5148753662268213389">"Аплодисменты."</string>
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
index 40ab5b582..2415299d5 100644
--- a/java/res/values-ru/strings.xml
+++ b/java/res/values-ru/strings.xml
@@ -58,7 +58,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>
- <string name="enable_metrics_logging" msgid="5506372337118822837">"Помочь улучшить приложение <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
+ <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>
@@ -72,7 +72,7 @@
<string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Не предлагать слова, которые могут быть сочтены оскорбительными"</string>
<string name="auto_correction" msgid="7630720885194996950">"Автоисправление"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"Автоматическое исправление опечаток при вводе знака препинания или пробела"</string>
- <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Отключено"</string>
+ <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Откл."</string>
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Умеренное"</string>
<string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Активно"</string>
<string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Очень активно"</string>
diff --git a/java/res/values-sq/strings.xml b/java/res/values-sq/strings.xml
index 7fc2837d3..5889c7e07 100644
--- a/java/res/values-sq/strings.xml
+++ b/java/res/values-sq/strings.xml
@@ -204,7 +204,7 @@
<string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"Redakto fjalën"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"Redakto"</string>
<string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"Fshi"</string>
- <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"Nuk ke asnjë fjalë në fjalorin e përdoruesit. Për të shtuar një fjalë, trokit te butoni \"Shto (+)\"."</string>
+ <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"Nuk ke asnjë fjalë në fjalorin e përdoruesit. Për të shtuar një fjalë, trokit te butoni Shto (+)."</string>
<string name="user_dict_settings_all_languages" msgid="8276126583216298886">"Për të gjitha gjuhët"</string>
<string name="user_dict_settings_more_languages" msgid="7131268499685180461">"Gjuhë të tjera…"</string>
<string name="user_dict_settings_delete" msgid="110413335187193859">"Fshi"</string>
diff --git a/java/res/values-sr/strings-talkback-descriptions.xml b/java/res/values-sr/strings-talkback-descriptions.xml
index e1728bf45..ae1855614 100644
--- a/java/res/values-sr/strings-talkback-descriptions.xml
+++ b/java/res/values-sr/strings-talkback-descriptions.xml
@@ -46,7 +46,7 @@
<string name="spoken_description_dot" msgid="5644176501632325560">"Тачка"</string>
<string name="spoken_description_language_switch" msgid="6818666779313544553">"Пребаци језик"</string>
<string name="spoken_description_action_next" msgid="431761808119616962">"Претходно"</string>
- <string name="spoken_description_action_previous" msgid="2919072174697865110">"Назад"</string>
+ <string name="spoken_description_action_previous" msgid="2919072174697865110">"Следеће"</string>
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift је омогућен"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock је омогућен"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Режим симбола"</string>
diff --git a/java/res/values-sw/strings-config-important-notice.xml b/java/res/values-sw/strings-config-important-notice.xml
index efc283d43..7b10085b5 100644
--- a/java/res/values-sw/strings-config-important-notice.xml
+++ b/java/res/values-sw/strings-config-important-notice.xml
@@ -20,5 +20,5 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="use_personalized_dicts_summary" msgid="590432261305469627">"Tumia mawasiliano yako na data unayocharaza, kujifunza ili kuboresha mapendekezo"</string>
+ <string name="use_personalized_dicts_summary" msgid="590432261305469627">"Jifunze kutoka kwenye mawasiliano yako na data iliyocharazwa ili kuboresha mapendekezo"</string>
</resources>
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index 16cfa80c5..a3268d5dd 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -52,9 +52,9 @@
<string name="show_language_switch_key_summary" msgid="7343403647474265713">"Onyesha wakati lugha ingizo mbalimbali zinapowezeshwa"</string>
<string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Kuchelewesha kutupa kitufe ibukizi"</string>
<string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Hakuna kuchelewa"</string>
- <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Chaguomsingi"</string>
+ <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Chaguo-msingi"</string>
<string name="abbreviation_unit_milliseconds" msgid="8700286094028323363">"Milisekunde <xliff:g id="MILLISECONDS">%s</xliff:g>"</string>
- <string name="settings_system_default" msgid="6268225104743331821">"Chaguomsingi la mfumo"</string>
+ <string name="settings_system_default" msgid="6268225104743331821">"Chaguo-msingi la mfumo"</string>
<string name="use_contacts_dict" msgid="4435317977804180815">"Pendekeza majini ya Anwani"</string>
<string name="use_contacts_dict_summary" msgid="6599983334507879959">"Tumia majina kutoka kwa Anwani kama mapendekezo na marekebisho"</string>
<string name="use_personalized_dicts" msgid="5167396352105467626">"Mapendekezo yaliyobadilishwa kukufaa"</string>
@@ -136,10 +136,10 @@
<string name="custom_input_style_already_exists" msgid="8008728952215449707">"Mfumo sawa wa maingizo tayari upo: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string>
<string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Bonyeza kitufe cha muda wa kutetema"</string>
<string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Bonyeza kitufe cha kiwango cha sauti"</string>
- <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Ucheleweshaji unapobofya kitufe na kushikilia"</string>
+ <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Ucheleweshaji wa kubofya kitufe na kushikilia"</string>
<string name="prefs_enable_emoji_alt_physical_key" msgid="5963640002335470112">"Emoji za kibodi halisi"</string>
<string name="prefs_enable_emoji_alt_physical_key_summary" msgid="5259484820941627827">"Kitufe halisi cha Alt huonyesha kibao cha emoji"</string>
- <string name="button_default" msgid="3988017840431881491">"Chaguomsingi"</string>
+ <string name="button_default" msgid="3988017840431881491">"Chaguo-msingi"</string>
<string name="setup_welcome_title" msgid="6112821709832031715">"Karibu kwenye <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="setup_welcome_additional_description" msgid="8150252008545768953">"kwa Kuandika kwa ishara"</string>
<string name="setup_start_action" msgid="8936036460897347708">"Anza kutumia"</string>
@@ -194,7 +194,7 @@
<string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Ongeza kwenye kamusi"</string>
<string name="user_dict_settings_add_screen_title" msgid="5818914331629278758">"Fungu la maneno"</string>
<string name="user_dict_settings_add_dialog_more_options" msgid="5671682004887093112">"Hiari zingine"</string>
- <string name="user_dict_settings_add_dialog_less_options" msgid="2716586567241724126">"Chaguo chache"</string>
+ <string name="user_dict_settings_add_dialog_less_options" msgid="2716586567241724126">"Hiari chache"</string>
<string name="user_dict_settings_add_dialog_confirm" msgid="4703129507388332950">"Sawa"</string>
<string name="user_dict_settings_add_word_option_name" msgid="6665558053408962865">"Neno:"</string>
<string name="user_dict_settings_add_shortcut_option_name" msgid="3094731590655523777">"Njia ya mkato:"</string>
diff --git a/java/res/values-ta/strings.xml b/java/res/values-ta/strings.xml
index bbb7b62dc..9fee3e584 100644
--- a/java/res/values-ta/strings.xml
+++ b/java/res/values-ta/strings.xml
@@ -68,8 +68,8 @@
<string name="main_dictionary" msgid="4798763781818361168">"முதன்மை அகராதி"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"திருத்துதல் விருப்பங்களைக் காட்டு"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"உள்ளிடும்போது பரிந்துரைக்கப்பட்ட வார்த்தைகளைக் காட்டும்"</string>
- <string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"புண்படுத்தும் சொற்களைத் தடு"</string>
- <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"மனதைப் புண்படுத்தக் கூடிய சொற்களைப் பரிந்துரைக்க வேண்டாம்"</string>
+ <string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"வன்மொழி சொற்களைத் தடு"</string>
+ <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"வன்மொழியாக இருக்கும் சாத்தியமுள்ள சொற்களைப் பரிந்துரைக்க வேண்டாம்"</string>
<string name="auto_correction" msgid="7630720885194996950">"தன்னியக்க திருத்தம்"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"ஸ்பேஸ்பாரும், நிறுத்தற்குறிகளும் தவறாக உள்ளிடப்பட்ட வார்த்தைகளை தானாக திருத்தும்"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"ஆஃப்"</string>
diff --git a/java/res/values-te/strings.xml b/java/res/values-te/strings.xml
index 9233af872..2b1556484 100644
--- a/java/res/values-te/strings.xml
+++ b/java/res/values-te/strings.xml
@@ -71,12 +71,12 @@
<string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"అభ్యంతరకరమైన పదాలను బ్లాక్ చేయి"</string>
<string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"సంభావ్యంగా అభ్యంతరకరమైన పదాలను సూచించవద్దు"</string>
<string name="auto_correction" msgid="7630720885194996950">"స్వీయ-సవరణ"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"స్పేస్ బార్ మరియు విరామ చిహ్నాలు తప్పుగా టైప్ చేసిన పదాలను ఆటోమేటిక్‌గా సరి చేస్తాయి"</string>
+ <string name="auto_correction_summary" msgid="5625751551134658006">"స్పేస్ బార్ మరియు విరామ చిహ్నాలు తప్పుగా టైప్ చేసిన పదాలను స్వయంచాలకంగా సరి చేస్తాయి"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"ఆఫ్‌ చేయి"</string>
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"మధ్యస్థం"</string>
<string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"తీవ్రం"</string>
<string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"చాలా తీవ్రం"</string>
- <string name="bigram_prediction" msgid="1084449187723948550">"తర్వాతి-పదం సూచనలు"</string>
+ <string name="bigram_prediction" msgid="1084449187723948550">"తర్వాత-పదం సూచనలు"</string>
<string name="bigram_prediction_summary" msgid="3896362682751109677">"సూచనలను రూపొందించడంలో మునుపటి పదాన్ని ఉపయోగించు"</string>
<string name="gesture_input" msgid="826951152254563827">"సంజ్ఞ టైపింగ్‌ను ప్రారంభించండి"</string>
<string name="gesture_input_summary" msgid="9180350639305731231">"అక్షరాల గుండా స్లైడ్ చేయడం ద్వారా పదాన్ని ఇన్‌పుట్ చేయండి"</string>
@@ -156,8 +156,8 @@
<string name="setup_step3_instruction" msgid="8025981829605426000">"ఇప్పుడు మీరు <xliff:g id="APPLICATION_NAME">%s</xliff:g>తో మీకు ఇష్టమైన అన్ని అనువర్తనాల్లో టైప్ చేయవచ్చు."</string>
<string name="setup_step3_action" msgid="600879797256942259">"అదనపు భాషలను కాన్ఫిగర్ చేయండి"</string>
<string name="setup_finish_action" msgid="276559243409465389">"పూర్తయింది"</string>
- <string name="show_setup_wizard_icon" msgid="5008028590593710830">"యాప్‌ చిహ్నాన్ని చూపు"</string>
- <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"లాంచర్‌లో యాప్‌ చిహ్నాన్ని ప్రదర్శించు"</string>
+ <string name="show_setup_wizard_icon" msgid="5008028590593710830">"అనువర్తన చిహ్నాన్ని చూపు"</string>
+ <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"లాంచర్‌లో అనువర్తన చిహ్నాన్ని ప్రదర్శించు"</string>
<string name="app_name" msgid="6320102637491234792">"నిఘంటువు ప్రదాత"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"నిఘంటువు ప్రదాత"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"నిఘంటువు సేవ"</string>
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index 885b633f3..cf2833fa7 100644
--- a/java/res/values-th/strings.xml
+++ b/java/res/values-th/strings.xml
@@ -70,7 +70,7 @@
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"แสดงคำที่แนะนำขณะพิมพ์"</string>
<string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"บล็อกคำที่ไม่เหมาะสม"</string>
<string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"ไม่แนะนำคำที่อาจไม่เหมาะสม"</string>
- <string name="auto_correction" msgid="7630720885194996950">"การแก้ไขคำผิดอัตโนมัติ"</string>
+ <string name="auto_correction" msgid="7630720885194996950">"การแก้ไขอัตโนมัติ"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"กดเว้นวรรคและเครื่องหมายจะแก้คำผิดอัตโนมัติ"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"ปิด"</string>
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"ปานกลาง"</string>
diff --git a/java/res/values-tl/strings-emoji-descriptions.xml b/java/res/values-tl/strings-emoji-descriptions.xml
index c3645875f..20279206a 100644
--- a/java/res/values-tl/strings-emoji-descriptions.xml
+++ b/java/res/values-tl/strings-emoji-descriptions.xml
@@ -272,10 +272,10 @@
<string name="spoken_emoji_1F301" msgid="3601962477653752974">"Mahamog"</string>
<string name="spoken_emoji_1F302" msgid="3404357123421753593">"Nakasarang payong"</string>
<string name="spoken_emoji_1F303" msgid="3899301321538188206">"Gabi na may mga bituin"</string>
- <string name="spoken_emoji_1F304" msgid="2767148930689050040">"Sunrise sa mga bundok"</string>
- <string name="spoken_emoji_1F305" msgid="9165812924292061196">"Sunrise"</string>
+ <string name="spoken_emoji_1F304" msgid="2767148930689050040">"Pagsikat ng araw sa mga bundok"</string>
+ <string name="spoken_emoji_1F305" msgid="9165812924292061196">"Pagsikat ng araw"</string>
<string name="spoken_emoji_1F306" msgid="5889294736109193104">"Lungsod sa dapit-hapon"</string>
- <string name="spoken_emoji_1F307" msgid="2714290867291163713">"Sunset sa mga gusali"</string>
+ <string name="spoken_emoji_1F307" msgid="2714290867291163713">"Paglubog ng araw sa mga gusali"</string>
<string name="spoken_emoji_1F308" msgid="688704703985173377">"Bahaghari"</string>
<string name="spoken_emoji_1F309" msgid="6217981957992313528">"Tulay sa gabi"</string>
<string name="spoken_emoji_1F30A" msgid="4329309263152110893">"Alon ng tubig"</string>
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
index 2b4ca3e38..0566591fd 100644
--- a/java/res/values-tl/strings.xml
+++ b/java/res/values-tl/strings.xml
@@ -68,7 +68,7 @@
<string name="main_dictionary" msgid="4798763781818361168">"Pangunahing diksyonaryo"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Ipakita ang mga suhestiyon sa pagwawasto"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Ipakita ang mga iminumungkahing salita habang nagta-type"</string>
- <string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"I-block ang masakit na salita"</string>
+ <string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"I-block ang nakakapanakit na salita"</string>
<string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Huwag magmungkahi ng mga maaaring nakakapanakit na salita"</string>
<string name="auto_correction" msgid="7630720885194996950">"Auto na pagwawasto"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"Awtomatikong tinatama ng spacebar at bantas ang maling na-type"</string>
@@ -85,7 +85,7 @@
<string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Tingnan ang iminungkahing salita habang gumagalaw"</string>
<string name="gesture_space_aware" msgid="2078291600664682496">"Phrase gesture"</string>
<string name="gesture_space_aware_summary" msgid="4371385818348528538">"Maglagay ng espasyo sa pamamagitan ng pag-glide sa space key"</string>
- <string name="voice_input" msgid="3583258583521397548">"Key sa voice input"</string>
+ <string name="voice_input" msgid="3583258583521397548">"Voice input key"</string>
<string name="voice_input_disabled_summary" msgid="6323489602945135165">"Walang naka-enable na paraan ng pag-input gamit ang boses. Tingnan ang Mga setting ng wika at input."</string>
<string name="configure_input_method" msgid="373356270290742459">"I-configure ang mga pamamaraan ng pag-input"</string>
<string name="language_selection_title" msgid="3666971864764478269">"Mga Wika"</string>
@@ -204,7 +204,7 @@
<string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"I-edit ang salita"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"I-edit"</string>
<string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"I-delete"</string>
- <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"Wala kang anumang salita sa diksyonaryo ng user. Para magdagdag ng salita, i-tap ang button na Magdagdag (+)."</string>
+ <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"Wala kang anumang mga salita sa diksyonaryo ng user. Upang magdagdag ng salita, i-tap ang button na Magdagdag (+)."</string>
<string name="user_dict_settings_all_languages" msgid="8276126583216298886">"Para sa lahat ng wika"</string>
<string name="user_dict_settings_more_languages" msgid="7131268499685180461">"Higit pang mga wika..."</string>
<string name="user_dict_settings_delete" msgid="110413335187193859">"I-delete"</string>
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
index bfebd9789..d41ea6902 100644
--- a/java/res/values-tr/strings.xml
+++ b/java/res/values-tr/strings.xml
@@ -62,14 +62,14 @@
<string name="use_double_space_period" msgid="8781529969425082860">"Çift boşlukla nokta ekle"</string>
<string name="use_double_space_period_summary" msgid="6532892187247952799">"Boşluk çubuğuna iki kez dokunmak nokta ve ardından bir boşluk ekler"</string>
<string name="auto_cap" msgid="1719746674854628252">"Otomatik büyük harf yap"</string>
- <string name="auto_cap_summary" msgid="7934452761022946874">"Her cümlenin ilk harfini büyük harf yapar"</string>
+ <string name="auto_cap_summary" msgid="7934452761022946874">"Her cümlenin ilk harfini büyük harf yap"</string>
<string name="edit_personal_dictionary" msgid="3996910038952940420">"Kişisel sözlük"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Ek sözlükler"</string>
<string name="main_dictionary" msgid="4798763781818361168">"Ana sözlük"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Düzeltme önerilerini göster"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Yazarken, önerilen kelimeleri görüntüle"</string>
<string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"Rahatsız edici kelimeleri engelle"</string>
- <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Rahatsız edici olabilecek kelimeleri önermez"</string>
+ <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Rahatsız edici olabilecek kelimeleri önerme"</string>
<string name="auto_correction" msgid="7630720885194996950">"Otomatik düzelt"</string>
<string name="auto_correction_summary" msgid="5625751551134658006">"Boşluk tuşu ve noktalama işaretleri yanlış yazılan kelimeleri otomatikman düzeltir"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Kapalı"</string>
@@ -77,7 +77,7 @@
<string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Geniş ölçekte"</string>
<string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Çok geniş ölçekte"</string>
<string name="bigram_prediction" msgid="1084449187723948550">"Sonraki kelime önerileri"</string>
- <string name="bigram_prediction_summary" msgid="3896362682751109677">"Öneride bulunurken önceki kelimeyi kullanır"</string>
+ <string name="bigram_prediction_summary" msgid="3896362682751109677">"Öneride bulunurken önceki kelimeyi kullan"</string>
<string name="gesture_input" msgid="826951152254563827">"Hareketle yazmayı etkinleştir"</string>
<string name="gesture_input_summary" msgid="9180350639305731231">"Kelime girmek için parmağınızı harflerin üzerinde kaydırın"</string>
<string name="gesture_preview_trail" msgid="3802333369335722221">"Hareket izini göster"</string>
diff --git a/java/res/values-uz/strings-action-keys.xml b/java/res/values-uz/strings-action-keys.xml
index e6cb07cdd..c39590178 100644
--- a/java/res/values-uz/strings-action-keys.xml
+++ b/java/res/values-uz/strings-action-keys.xml
@@ -22,7 +22,7 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="label_go_key" msgid="4033615332628671065">"OK"</string>
<string name="label_next_key" msgid="5586407279258592635">"Keyingisi"</string>
- <string name="label_previous_key" msgid="1421141755779895275">"Orqaga"</string>
+ <string name="label_previous_key" msgid="1421141755779895275">"Avvalgi"</string>
<string name="label_done_key" msgid="7564866296502630852">"Tayyor"</string>
<string name="label_send_key" msgid="482252074224462163">"Yuborish"</string>
<string name="label_search_key" msgid="7965186050435796642">"Qidiruv"</string>
diff --git a/java/res/values-uz/strings-talkback-descriptions.xml b/java/res/values-uz/strings-talkback-descriptions.xml
index 88434b74f..d6eb3c857 100644
--- a/java/res/values-uz/strings-talkback-descriptions.xml
+++ b/java/res/values-uz/strings-talkback-descriptions.xml
@@ -44,9 +44,9 @@
<string name="spoken_description_return" msgid="3183692287397645708">"Kiritish"</string>
<string name="spoken_description_search" msgid="5099937658231911288">"Qidiruv"</string>
<string name="spoken_description_dot" msgid="5644176501632325560">"Qora nuqta"</string>
- <string name="spoken_description_language_switch" msgid="6818666779313544553">"Tilni almashtirish"</string>
+ <string name="spoken_description_language_switch" msgid="6818666779313544553">"Tilni o‘zgartirish"</string>
<string name="spoken_description_action_next" msgid="431761808119616962">"Keyingisi"</string>
- <string name="spoken_description_action_previous" msgid="2919072174697865110">"Orqaga"</string>
+ <string name="spoken_description_action_previous" msgid="2919072174697865110">"Avvalgi"</string>
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Yuqori registr yoqildi"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps Lock yoqildi"</string>
<string name="spoken_description_mode_symbol" msgid="111186851131446691">"Belgilar rejimi"</string>
@@ -65,7 +65,7 @@
<string name="keyboard_mode_text" msgid="9138789594969187494">"matn kiritish"</string>
<string name="keyboard_mode_time" msgid="8558297845514402675">"vaqt"</string>
<string name="keyboard_mode_url" msgid="8072011652949962550">"URL"</string>
- <string name="spoken_descrption_emoji_category_recents" msgid="4185344945205590692">"Oxirgilar"</string>
+ <string name="spoken_descrption_emoji_category_recents" msgid="4185344945205590692">"So‘nggi ishlatilganlar"</string>
<string name="spoken_descrption_emoji_category_people" msgid="8414196269847492817">"Odamlar"</string>
<string name="spoken_descrption_emoji_category_objects" msgid="6116297906606195278">"Narsa-buyumlar"</string>
<string name="spoken_descrption_emoji_category_nature" msgid="5018340512472354640">"Tabiat"</string>
diff --git a/java/res/values-uz/strings.xml b/java/res/values-uz/strings.xml
index e29b9fb04..fea99751f 100644
--- a/java/res/values-uz/strings.xml
+++ b/java/res/values-uz/strings.xml
@@ -31,7 +31,7 @@
<string name="settings_screen_appearance" msgid="7358046399111611615">"Ko‘rinish va sxema"</string>
<string name="settings_screen_gesture" msgid="8826372746901183556">"Qo‘l uzmasdan yozish"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Matnni tuzatish"</string>
- <string name="settings_screen_advanced" msgid="7472408607625972994">"Kengaytirilgan sozlamalar"</string>
+ <string name="settings_screen_advanced" msgid="7472408607625972994">"Qo‘shimcha sozlamalar"</string>
<string name="settings_screen_theme" msgid="2137262503543943871">"Mavzu"</string>
<string name="enable_split_keyboard" msgid="4177264923999493614">"Ikkiga ajratiladigan klaviaturani yoqish"</string>
<string name="cloud_sync_title" msgid="8579271074443847055">"Klaviaturani sinxronlash"</string>
@@ -47,8 +47,8 @@
<string name="add_account_to_enable_sync" msgid="7836932571852055265">"Ushbu imkoniyatni yoqish uchun, iltimos, Google hisobingizni qo‘shing"</string>
<string name="cloud_sync_summary_disabled_work_profile" msgid="1381770407303129164">"“Biznes uchun Google Apps” hisobi mavjud qurilmalarda sinxronlab bo‘lmaydi"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Boshqa usullarga o‘tish"</string>
- <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tilni almashtirish tugmasi matn kiritish usulini ham o‘zgartiradi"</string>
- <string name="show_language_switch_key" msgid="5915478828318774384">"Tilni almashtirish tugmasi"</string>
+ <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tilni o‘zgartirish tugmasi matn kiritish usulini ham o‘zgartiradi"</string>
+ <string name="show_language_switch_key" msgid="5915478828318774384">"Tilni o‘zgartirish tugmasi"</string>
<string name="show_language_switch_key_summary" msgid="7343403647474265713">"Bir nechta matn kiritish tili mavjud bo‘lganda ko‘rsatilsin"</string>
<string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Yopilish vaqti"</string>
<string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Kechikishsiz"</string>
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
index a9785aa07..aa39f8c35 100644
--- a/java/res/values-vi/strings.xml
+++ b/java/res/values-vi/strings.xml
@@ -25,7 +25,7 @@
<string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Trình kiểm tra chính tả sử dụng các mục nhập từ danh bạ của bạn"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Rung khi nhấn phím"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Âm thanh khi nhấn phím"</string>
- <string name="popup_on_keypress" msgid="123894815723512944">"Phông chữ lớn hơn bật lên khi nhấn phím"</string>
+ <string name="popup_on_keypress" msgid="123894815723512944">"Bật lên khi nhấn phím"</string>
<string name="settings_screen_preferences" msgid="2696713156722014624">"Tùy chọn"</string>
<string name="settings_screen_accounts" msgid="2786418968536696670">"Tài khoản và bảo mật"</string>
<string name="settings_screen_appearance" msgid="7358046399111611615">"Giao diện và bố cục"</string>
@@ -85,7 +85,7 @@
<string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Xem từ được đề xuất trong khi dùng cử chỉ"</string>
<string name="gesture_space_aware" msgid="2078291600664682496">"Cử chỉ nhập cụm từ"</string>
<string name="gesture_space_aware_summary" msgid="4371385818348528538">"Nhập dấu cách khi thực hiện cử chỉ bằng cách trượt tới phím cách"</string>
- <string name="voice_input" msgid="3583258583521397548">"Phím nhập liệu bằng giọng nói"</string>
+ <string name="voice_input" msgid="3583258583521397548">"Khóa nhập giọng nói"</string>
<string name="voice_input_disabled_summary" msgid="6323489602945135165">"Không có phương thức nhập bằng giọng nói nào được bật. Kiểm tra cài đặt Ngôn ngữ và phương thức nhập."</string>
<string name="configure_input_method" msgid="373356270290742459">"Định cấu hình phương thức nhập"</string>
<string name="language_selection_title" msgid="3666971864764478269">"Ngôn ngữ"</string>
diff --git a/java/res/values-zh-rHK/strings-talkback-descriptions.xml b/java/res/values-zh-rHK/strings-talkback-descriptions.xml
index 3930dd3ed..c7a1b25fd 100644
--- a/java/res/values-zh-rHK/strings-talkback-descriptions.xml
+++ b/java/res/values-zh-rHK/strings-talkback-descriptions.xml
@@ -20,7 +20,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="spoken_use_headphones" msgid="4313642710742229868">"插上耳機即可聽到系統讀出密碼鍵。"</string>
+ <string name="spoken_use_headphones" msgid="4313642710742229868">"插上耳機即可聽到系統朗讀密碼鍵。"</string>
<string name="spoken_current_text_is" msgid="4240549866156675799">"目前文字為 %s"</string>
<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>
diff --git a/java/res/values-zh-rHK/strings.xml b/java/res/values-zh-rHK/strings.xml
index f5b7c949d..29b6812bf 100644
--- a/java/res/values-zh-rHK/strings.xml
+++ b/java/res/values-zh-rHK/strings.xml
@@ -77,9 +77,9 @@
<string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"加強模式"</string>
<string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"極度加強模式"</string>
<string name="bigram_prediction" msgid="1084449187723948550">"建議下一個字詞"</string>
- <string name="bigram_prediction_summary" msgid="3896362682751109677">"根據上一個字詞提供建議"</string>
+ <string name="bigram_prediction_summary" msgid="3896362682751109677">"根據前一個字詞提出建議"</string>
<string name="gesture_input" msgid="826951152254563827">"啟用手勢輸入功能"</string>
- <string name="gesture_input_summary" msgid="9180350639305731231">"透過在字母上滑動輸入字詞"</string>
+ <string name="gesture_input_summary" msgid="9180350639305731231">"透過滑動手指寫出字母來輸入字詞"</string>
<string name="gesture_preview_trail" msgid="3802333369335722221">"顯示觸控蹤跡"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"動態浮動預覽"</string>
<string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"在啟用手勢輸入時顯示建議的字詞"</string>
@@ -204,7 +204,7 @@
<string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"編輯字詞"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"編輯"</string>
<string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"刪除"</string>
- <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"您的用戶字典中沒有任何字詞。如要新增字詞,請輕按 [新增] (+) 按鈕。"</string>
+ <string name="user_dict_settings_empty_text" msgid="6889278304342592383">"用戶字典中沒有任何字詞。如要新增字詞,請輕按「新增」(+) 按鈕。"</string>
<string name="user_dict_settings_all_languages" msgid="8276126583216298886">"所有語言"</string>
<string name="user_dict_settings_more_languages" msgid="7131268499685180461">"更多語言..."</string>
<string name="user_dict_settings_delete" msgid="110413335187193859">"刪除"</string>
diff --git a/java/res/values-zh-rTW/strings-config-important-notice.xml b/java/res/values-zh-rTW/strings-config-important-notice.xml
index 4c94b06f7..326d6ce64 100644
--- a/java/res/values-zh-rTW/strings-config-important-notice.xml
+++ b/java/res/values-zh-rTW/strings-config-important-notice.xml
@@ -20,5 +20,5 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="use_personalized_dicts_summary" msgid="590432261305469627">"根據你的通訊記錄和以往輸入的資料改善建議項目"</string>
+ <string name="use_personalized_dicts_summary" msgid="590432261305469627">"根據你的通訊紀錄和以往輸入的資料改善建議項目"</string>
</resources>
diff --git a/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java b/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java
index e422c4cd2..288261bf0 100644
--- a/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java
+++ b/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java
@@ -174,6 +174,9 @@ public final class FormatSpec {
public static final int VERSION202 = 202;
// format version for Fava Dictionaries.
public static final int VERSION_DELIGHT3 = 86736212;
+ public static final int MINIMUM_SUPPORTED_VERSION_OF_CODE_POINT_TABLE = VERSION201;
+ // Dictionary version used for testing.
+ public static final int VERSION4_ONLY_FOR_TESTING = 399;
public static final int VERSION402 = 402;
public static final int VERSION403 = 403;
public static final int VERSION4 = VERSION403;
diff --git a/native/Android.mk b/native/Android.mk
deleted file mode 100644
index 5053e7d64..000000000
--- a/native/Android.mk
+++ /dev/null
@@ -1 +0,0 @@
-include $(call all-subdir-makefiles)
diff --git a/native/dicttoolkit/Android.bp b/native/dicttoolkit/Android.bp
new file mode 100644
index 000000000..b214ff984
--- /dev/null
+++ b/native/dicttoolkit/Android.bp
@@ -0,0 +1,94 @@
+// 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.
+
+cc_defaults {
+ name: "dicttoolkit_defaults",
+
+ cflags: [
+ "-Werror",
+ "-Wall",
+ "-Wextra",
+ "-Weffc++",
+ "-Wformat=2",
+ "-Wcast-qual",
+ "-Wcast-align",
+ "-Wwrite-strings",
+ "-Wfloat-equal",
+ "-Wpointer-arith",
+ "-Winit-self",
+ "-Wredundant-decls",
+ "-Woverloaded-virtual",
+ "-Wsign-promo",
+ "-Wno-system-headers",
+
+ // To suppress compiler warnings for unused variables/functions used for debug features etc.
+ "-Wno-unused-parameter",
+ "-Wno-unused-function",
+ ],
+
+ local_include_dirs: ["src"],
+ // TODO
+ include_dirs: ["packages/inputmethods/LatinIME/native/jni/src"],
+
+ product_variables: {
+ unbundled_build: {
+ enabled: false,
+ },
+ },
+}
+
+cc_library_host_static {
+ name: "liblatinime_dicttoolkit",
+ defaults: ["dicttoolkit_defaults"],
+
+ srcs: [
+ "src/command_executors/diff_executor.cpp",
+ "src/command_executors/header_executor.cpp",
+ "src/command_executors/help_executor.cpp",
+ "src/command_executors/info_executor.cpp",
+ "src/command_executors/makedict_executor.cpp",
+ "src/offdevice_intermediate_dict/offdevice_intermediate_dict.cpp",
+ "src/utils/arguments_parser.cpp",
+ "src/utils/command_utils.cpp",
+ "src/utils/utf8_utils.cpp",
+
+ ":LATIN_IME_CORE_SRC_FILES",
+ ],
+}
+
+cc_binary_host {
+ name: "dicttoolkit",
+ defaults: ["dicttoolkit_defaults"],
+
+ srcs: ["dict_toolkit_main.cpp"],
+ static_libs: ["liblatinime_dicttoolkit"],
+}
+
+cc_test_host {
+ name: "dicttoolkit_unittests",
+ defaults: ["dicttoolkit_defaults"],
+
+ srcs: [
+ "tests/command_executors/diff_executor_test.cpp",
+ "tests/command_executors/header_executor_test.cpp",
+ "tests/command_executors/info_executor_test.cpp",
+ "tests/command_executors/makedict_executor_test.cpp",
+ "tests/dict_toolkit_defines_test.cpp",
+ "tests/offdevice_intermediate_dict/offdevice_intermediate_dict_test.cpp",
+ "tests/utils/arguments_parser_test.cpp",
+ "tests/utils/command_utils_test.cpp",
+ "tests/utils/utf8_utils_test.cpp",
+ ],
+ static_libs: ["liblatinime_dicttoolkit"],
+}
diff --git a/native/dicttoolkit/Android.mk b/native/dicttoolkit/Android.mk
deleted file mode 100644
index 7a446860c..000000000
--- a/native/dicttoolkit/Android.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-# 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.
-
-ifeq (,$(TARGET_BUILD_APPS))
-
-# Only build if it's explicitly requested, or running mm/mmm.
-ifneq ($(ONE_SHOT_MAKEFILE)$(filter $(MAKECMDGOALS),dicttoolkit),)
-
-# HACK: Temporarily disable host tool build on Mac until the build system is ready for C++11.
-LATINIME_HOST_OSNAME := $(shell uname -s)
-ifneq ($(LATINIME_HOST_OSNAME), Darwin) # TODO: Remove this
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LATIN_IME_CORE_PATH := $(LOCAL_PATH)/../jni
-
-LATIN_IME_DICT_TOOLKIT_SRC_DIR := src
-LATIN_IME_CORE_SRC_DIR := ../jni/src
-
-LOCAL_CFLAGS += -Werror -Wall -Wextra -Weffc++ -Wformat=2 -Wcast-qual -Wcast-align \
- -Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self -Wredundant-decls \
- -Woverloaded-virtual -Wsign-promo -Wno-system-headers
-
-# To suppress compiler warnings for unused variables/functions used for debug features etc.
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
-
-include $(LOCAL_PATH)/NativeFileList.mk
-include $(LATIN_IME_CORE_PATH)/NativeFileList.mk
-
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_DICT_TOOLKIT_SRC_DIR) \
- $(LATIN_IME_CORE_PATH)/$(LATIN_IME_CORE_SRC_DIR)
-
-LOCAL_SRC_FILES := $(LATIN_IME_DICT_TOOLKIT_MAIN_SRC_FILES) \
- $(addprefix $(LATIN_IME_DICT_TOOLKIT_SRC_DIR)/, $(LATIN_IME_DICT_TOOLKIT_SRC_FILES)) \
- $(addprefix $(LATIN_IME_CORE_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
-
-LOCAL_MODULE := dicttoolkit
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_CXX_STL := libc++
-
-include $(BUILD_HOST_EXECUTABLE)
-#################### Clean up the tmp vars
-include $(LOCAL_PATH)/CleanupNativeFileList.mk
-#################### Unit test
-include $(LOCAL_PATH)/UnitTests.mk
-
-endif # Darwin - TODO: Remove this
-
-endif
-
-endif # TARGET_BUILD_APPS
diff --git a/native/dicttoolkit/CleanupNativeFileList.mk b/native/dicttoolkit/CleanupNativeFileList.mk
deleted file mode 100644
index b804b41ed..000000000
--- a/native/dicttoolkit/CleanupNativeFileList.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# 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.
-
-LATIN_IME_DICT_TOOLKIT_MAIN_SRC_FILES :=
-LATIN_IME_DICT_TOOLKIT_SRC_FILES :=
-LATIN_IME_DICT_TOOLKIT_TEST_FILES :=
diff --git a/native/dicttoolkit/NativeFileList.mk b/native/dicttoolkit/NativeFileList.mk
deleted file mode 100644
index 9a547b054..000000000
--- a/native/dicttoolkit/NativeFileList.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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.
-
-LATIN_IME_DICT_TOOLKIT_MAIN_SRC_FILES := \
- dict_toolkit_main.cpp
-
-LATIN_IME_DICT_TOOLKIT_SRC_FILES := \
- $(addprefix command_executors/, \
- diff_executor.cpp \
- header_executor.cpp \
- help_executor.cpp \
- info_executor.cpp \
- makedict_executor.cpp) \
- $(addprefix offdevice_intermediate_dict/, \
- offdevice_intermediate_dict.cpp) \
- $(addprefix utils/, \
- arguments_parser.cpp \
- command_utils.cpp \
- utf8_utils.cpp)
-
-LATIN_IME_DICT_TOOLKIT_TEST_FILES := \
- $(addprefix command_executors/, \
- diff_executor_test.cpp \
- header_executor_test.cpp \
- info_executor_test.cpp \
- makedict_executor_test.cpp) \
- dict_toolkit_defines_test.cpp \
- $(addprefix offdevice_intermediate_dict/, \
- offdevice_intermediate_dict_test.cpp) \
- $(addprefix utils/, \
- arguments_parser_test.cpp \
- command_utils_test.cpp \
- utf8_utils_test.cpp)
diff --git a/native/dicttoolkit/UnitTests.mk b/native/dicttoolkit/UnitTests.mk
deleted file mode 100644
index 55177c084..000000000
--- a/native/dicttoolkit/UnitTests.mk
+++ /dev/null
@@ -1,65 +0,0 @@
-# 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.
-
-ifeq (,$(TARGET_BUILD_APPS))
-
-LOCAL_PATH := $(call my-dir)
-
-######################################
-include $(CLEAR_VARS)
-
-LATIN_IME_CORE_PATH := $(LOCAL_PATH)/../jni
-
-LATIN_IME_DICT_TOOLKIT_SRC_DIR := src
-LATIN_IME_CORE_SRC_DIR := ../jni/src
-LATIN_DICT_TOOLKIT_TEST_SRC_DIR := tests
-
-include $(LOCAL_PATH)/NativeFileList.mk
-include $(LATIN_IME_CORE_PATH)/NativeFileList.mk
-
-LATIN_IME_SRC_DIR := src
-LOCAL_ADDRESS_SANITIZER := true
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
-LOCAL_CXX_STL := libc++
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_DICT_TOOLKIT_SRC_DIR) \
- $(LATIN_IME_CORE_PATH)/$(LATIN_IME_CORE_SRC_DIR)
-LOCAL_MODULE := liblatinime_dicttoolkit_host_static_for_unittests
-LOCAL_MODULE_TAGS := optional
-LOCAL_SRC_FILES := \
- $(addprefix $(LATIN_IME_DICT_TOOLKIT_SRC_DIR)/, $(LATIN_IME_DICT_TOOLKIT_SRC_FILES)) \
- $(addprefix $(LATIN_IME_CORE_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-
-LOCAL_ADDRESS_SANITIZER := true
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
-LOCAL_CXX_STL := libc++
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_DICT_TOOLKIT_SRC_DIR) \
- $(LATIN_IME_CORE_PATH)/$(LATIN_IME_CORE_SRC_DIR)
-LOCAL_MODULE := dicttoolkit_unittests
-LOCAL_MODULE_TAGS := tests
-LOCAL_SRC_FILES := \
- $(addprefix $(LATIN_DICT_TOOLKIT_TEST_SRC_DIR)/, $(LATIN_IME_DICT_TOOLKIT_TEST_FILES))
-LOCAL_STATIC_LIBRARIES += liblatinime_dicttoolkit_host_static_for_unittests
-include $(BUILD_HOST_NATIVE_TEST)
-
-include $(LOCAL_PATH)/CleanupNativeFileList.mk
-
-#################### Clean up the tmp vars
-LATINIME_HOST_OSNAME :=
-LATIN_IME_SRC_DIR :=
-LATIN_IME_TEST_SRC_DIR :=
-
-endif # TARGET_BUILD_APPS
diff --git a/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.cpp b/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.cpp
index af28131cf..e94a9c2ff 100644
--- a/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.cpp
+++ b/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.cpp
@@ -93,7 +93,7 @@ const WordProperty *OffdeviceIntermediateDict::getWordProperty(
const OffdeviceIntermediateDictPtNodeArray *ptNodeArray = &mRootPtNodeArray;
for (size_t i = 0; i < codePoints.size();) {
bool foundNext = false;
- for (const auto ptNode : ptNodeArray->getPtNodeList()) {
+ for (const auto& ptNode : ptNodeArray->getPtNodeList()) {
const CodePointArrayView ptNodeCodePoints = ptNode->getPtNodeCodePoints();
if (codePoints[i] < ptNodeCodePoints[0]) {
continue;
diff --git a/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.h b/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.h
index 13d26ba91..ea17a31d3 100644
--- a/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.h
+++ b/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.h
@@ -20,7 +20,7 @@
#include "dict_toolkit_defines.h"
#include "offdevice_intermediate_dict/offdevice_intermediate_dict_header.h"
#include "offdevice_intermediate_dict/offdevice_intermediate_dict_pt_node_array.h"
-#include "suggest/core/dictionary/property/word_property.h"
+#include "dictionary/property/word_property.h"
#include "utils/int_array_view.h"
namespace latinime {
diff --git a/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict_pt_node.h b/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict_pt_node.h
index 721ccd778..e7d7e13eb 100644
--- a/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict_pt_node.h
+++ b/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict_pt_node.h
@@ -21,7 +21,7 @@
#include "dict_toolkit_defines.h"
#include "offdevice_intermediate_dict/offdevice_intermediate_dict_pt_node_array.h"
-#include "suggest/core/dictionary/property/word_property.h"
+#include "dictionary/property/word_property.h"
#include "utils/int_array_view.h"
namespace latinime {
diff --git a/native/dicttoolkit/tests/offdevice_intermediate_dict/offdevice_intermediate_dict_test.cpp b/native/dicttoolkit/tests/offdevice_intermediate_dict/offdevice_intermediate_dict_test.cpp
index f2e24ab5f..89598de60 100644
--- a/native/dicttoolkit/tests/offdevice_intermediate_dict/offdevice_intermediate_dict_test.cpp
+++ b/native/dicttoolkit/tests/offdevice_intermediate_dict/offdevice_intermediate_dict_test.cpp
@@ -20,7 +20,7 @@
#include <vector>
-#include "suggest/core/dictionary/property/word_property.h"
+#include "dictionary/property/word_property.h"
#include "utils/int_array_view.h"
namespace latinime {
diff --git a/native/jni/Android.bp b/native/jni/Android.bp
new file mode 100644
index 000000000..3bf70ad49
--- /dev/null
+++ b/native/jni/Android.bp
@@ -0,0 +1,213 @@
+// Copyright (C) 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.
+
+filegroup {
+ name: "LATIN_IME_CORE_SRC_FILES",
+ srcs: [
+ "src/dictionary/header/header_policy.cpp",
+ "src/dictionary/header/header_read_write_utils.cpp",
+ "src/dictionary/property/ngram_context.cpp",
+ "src/dictionary/structure/dictionary_structure_with_buffer_policy_factory.cpp",
+ "src/dictionary/structure/pt_common/bigram/bigram_list_read_write_utils.cpp",
+ "src/dictionary/structure/pt_common/dynamic_pt_gc_event_listeners.cpp",
+ "src/dictionary/structure/pt_common/dynamic_pt_reading_helper.cpp",
+ "src/dictionary/structure/pt_common/dynamic_pt_reading_utils.cpp",
+ "src/dictionary/structure/pt_common/dynamic_pt_updating_helper.cpp",
+ "src/dictionary/structure/pt_common/dynamic_pt_writing_utils.cpp",
+ "src/dictionary/structure/pt_common/patricia_trie_reading_utils.cpp",
+ "src/dictionary/structure/pt_common/shortcut/shortcut_list_reading_utils.cpp",
+ "src/dictionary/structure/v2/patricia_trie_policy.cpp",
+ "src/dictionary/structure/v2/ver2_patricia_trie_node_reader.cpp",
+ "src/dictionary/structure/v2/ver2_pt_node_array_reader.cpp",
+ "src/dictionary/structure/v4/ver4_dict_buffers.cpp",
+ "src/dictionary/structure/v4/ver4_dict_constants.cpp",
+ "src/dictionary/structure/v4/ver4_patricia_trie_node_reader.cpp",
+ "src/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp",
+ "src/dictionary/structure/v4/ver4_patricia_trie_policy.cpp",
+ "src/dictionary/structure/v4/ver4_patricia_trie_reading_utils.cpp",
+ "src/dictionary/structure/v4/ver4_patricia_trie_writing_helper.cpp",
+ "src/dictionary/structure/v4/ver4_pt_node_array_reader.cpp",
+ "src/dictionary/structure/v4/content/dynamic_language_model_probability_utils.cpp",
+ "src/dictionary/structure/v4/content/language_model_dict_content.cpp",
+ "src/dictionary/structure/v4/content/language_model_dict_content_global_counters.cpp",
+ "src/dictionary/structure/v4/content/shortcut_dict_content.cpp",
+ "src/dictionary/structure/v4/content/sparse_table_dict_content.cpp",
+ "src/dictionary/structure/v4/content/terminal_position_lookup_table.cpp",
+ "src/dictionary/utils/buffer_with_extendable_buffer.cpp",
+ "src/dictionary/utils/byte_array_utils.cpp",
+ "src/dictionary/utils/dict_file_writing_utils.cpp",
+ "src/dictionary/utils/file_utils.cpp",
+ "src/dictionary/utils/forgetting_curve_utils.cpp",
+ "src/dictionary/utils/format_utils.cpp",
+ "src/dictionary/utils/mmapped_buffer.cpp",
+ "src/dictionary/utils/multi_bigram_map.cpp",
+ "src/dictionary/utils/probability_utils.cpp",
+ "src/dictionary/utils/sparse_table.cpp",
+ "src/dictionary/utils/trie_map.cpp",
+ "src/suggest/core/suggest.cpp",
+ "src/suggest/core/dicnode/dic_node.cpp",
+ "src/suggest/core/dicnode/dic_node_utils.cpp",
+ "src/suggest/core/dicnode/dic_nodes_cache.cpp",
+ "src/suggest/core/dictionary/dictionary.cpp",
+ "src/suggest/core/dictionary/dictionary_utils.cpp",
+ "src/suggest/core/dictionary/digraph_utils.cpp",
+ "src/suggest/core/dictionary/error_type_utils.cpp",
+ "src/suggest/core/layout/additional_proximity_chars.cpp",
+ "src/suggest/core/layout/proximity_info.cpp",
+ "src/suggest/core/layout/proximity_info_params.cpp",
+ "src/suggest/core/layout/proximity_info_state.cpp",
+ "src/suggest/core/layout/proximity_info_state_utils.cpp",
+ "src/suggest/core/policy/weighting.cpp",
+ "src/suggest/core/session/dic_traverse_session.cpp",
+ "src/suggest/core/result/suggestion_results.cpp",
+ "src/suggest/core/result/suggestions_output_utils.cpp",
+ "src/suggest/policyimpl/gesture/gesture_suggest_policy_factory.cpp",
+ "src/suggest/policyimpl/typing/scoring_params.cpp",
+ "src/suggest/policyimpl/typing/typing_scoring.cpp",
+ "src/suggest/policyimpl/typing/typing_suggest_policy.cpp",
+ "src/suggest/policyimpl/typing/typing_traversal.cpp",
+ "src/suggest/policyimpl/typing/typing_weighting.cpp",
+ "src/utils/autocorrection_threshold_utils.cpp",
+ "src/utils/char_utils.cpp",
+ "src/utils/jni_data_utils.cpp",
+ "src/utils/log_utils.cpp",
+ "src/utils/time_keeper.cpp",
+
+ // BACKWARD_V402
+ "src/dictionary/structure/backward/v402/ver4_dict_buffers.cpp",
+ "src/dictionary/structure/backward/v402/ver4_dict_constants.cpp",
+ "src/dictionary/structure/backward/v402/ver4_patricia_trie_node_reader.cpp",
+ "src/dictionary/structure/backward/v402/ver4_patricia_trie_node_writer.cpp",
+ "src/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp",
+ "src/dictionary/structure/backward/v402/ver4_patricia_trie_reading_utils.cpp",
+ "src/dictionary/structure/backward/v402/ver4_patricia_trie_writing_helper.cpp",
+ "src/dictionary/structure/backward/v402/ver4_pt_node_array_reader.cpp",
+ "src/dictionary/structure/backward/v402/content/bigram_dict_content.cpp",
+ "src/dictionary/structure/backward/v402/content/probability_dict_content.cpp",
+ "src/dictionary/structure/backward/v402/content/shortcut_dict_content.cpp",
+ "src/dictionary/structure/backward/v402/content/sparse_table_dict_content.cpp",
+ "src/dictionary/structure/backward/v402/content/terminal_position_lookup_table.cpp",
+ "src/dictionary/structure/backward/v402/bigram/ver4_bigram_list_policy.cpp",
+ ],
+}
+
+cc_library {
+ name: "libjni_latinime",
+ host_supported: true,
+
+ sdk_version: "14",
+ cflags: [
+ "-Werror",
+ "-Wall",
+ "-Wextra",
+ "-Weffc++",
+ "-Wformat=2",
+ "-Wcast-qual",
+ "-Wcast-align",
+ "-Wwrite-strings",
+ "-Wfloat-equal",
+ "-Wpointer-arith",
+ "-Winit-self",
+ "-Wredundant-decls",
+ "-Woverloaded-virtual",
+ "-Wsign-promo",
+ "-Wno-system-headers",
+
+ // To suppress compiler warnings for unused variables/functions used for debug features etc.
+ "-Wno-unused-parameter",
+ "-Wno-unused-function",
+ ],
+ local_include_dirs: ["src"],
+
+ srcs: [
+ "com_android_inputmethod_keyboard_ProximityInfo.cpp",
+ "com_android_inputmethod_latin_BinaryDictionary.cpp",
+ "com_android_inputmethod_latin_BinaryDictionaryUtils.cpp",
+ "com_android_inputmethod_latin_DicTraverseSession.cpp",
+ "jni_common.cpp",
+
+ ":LATIN_IME_CORE_SRC_FILES",
+ ],
+
+ target: {
+ android_x86: {
+ // HACK: -mstackrealign is required for x86 builds running on pre-KitKat devices to avoid crashes
+ // with SSE instructions.
+ cflags: ["-mstackrealign"],
+ },
+ android: {
+ stl: "libc++_static",
+ },
+ host: {
+ cflags: ["-DHOST_TOOL"],
+ },
+ },
+}
+
+cc_library_static {
+ name: "liblatinime_static_for_unittests",
+ host_supported: true,
+
+ cflags: [
+ "-Wno-unused-parameter",
+ "-Wno-unused-function",
+ "-Wall",
+ "-Werror",
+ ],
+ local_include_dirs: ["src"],
+ sdk_version: "14",
+ stl: "libc++_static",
+
+ srcs: [":LATIN_IME_CORE_SRC_FILES"],
+}
+
+cc_test {
+ name: "liblatinime_unittests",
+ host_supported: true,
+
+ cflags: [
+ "-Wno-unused-parameter",
+ "-Wno-unused-function",
+ "-Wall",
+ "-Werror",
+ ],
+ local_include_dirs: ["src"],
+ sdk_version: "14",
+ stl: "libc++_static",
+
+ srcs: [
+ "tests/defines_test.cpp",
+ "tests/dictionary/header/header_read_write_utils_test.cpp",
+ "tests/dictionary/structure/v4/content/language_model_dict_content_test.cpp",
+ "tests/dictionary/structure/v4/content/language_model_dict_content_global_counters_test.cpp",
+ "tests/dictionary/structure/v4/content/probability_entry_test.cpp",
+ "tests/dictionary/structure/v4/content/terminal_position_lookup_table_test.cpp",
+ "tests/dictionary/utils/bloom_filter_test.cpp",
+ "tests/dictionary/utils/buffer_with_extendable_buffer_test.cpp",
+ "tests/dictionary/utils/byte_array_utils_test.cpp",
+ "tests/dictionary/utils/format_utils_test.cpp",
+ "tests/dictionary/utils/probability_utils_test.cpp",
+ "tests/dictionary/utils/sparse_table_test.cpp",
+ "tests/dictionary/utils/trie_map_test.cpp",
+ "tests/suggest/core/dicnode/dic_node_pool_test.cpp",
+ "tests/suggest/core/layout/geometry_utils_test.cpp",
+ "tests/suggest/core/layout/normal_distribution_2d_test.cpp",
+ "tests/suggest/policyimpl/utils/damerau_levenshtein_edit_distance_policy_test.cpp",
+ "tests/utils/autocorrection_threshold_utils_test.cpp",
+ "tests/utils/char_utils_test.cpp",
+ "tests/utils/int_array_view_test.cpp",
+ "tests/utils/time_keeper_test.cpp",
+ ],
+ static_libs: ["liblatinime_static_for_unittests"],
+}
diff --git a/native/jni/Android.mk b/native/jni/Android.mk
deleted file mode 100644
index 53846485f..000000000
--- a/native/jni/Android.mk
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright (C) 2011 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.
-
-LOCAL_PATH := $(call my-dir)
-
-############ some local flags
-# If you change any of those flags, you need to rebuild both libjni_latinime_common_static
-# and the shared library that uses libjni_latinime_common_static.
-FLAG_DBG ?= false
-FLAG_DO_PROFILE ?= false
-
-######################################
-include $(CLEAR_VARS)
-
-LATIN_IME_SRC_DIR := src
-
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
-
-LOCAL_CFLAGS += -Werror -Wall -Wextra -Weffc++ -Wformat=2 -Wcast-qual -Wcast-align \
- -Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self -Wredundant-decls \
- -Woverloaded-virtual -Wsign-promo -Wno-system-headers
-
-# To suppress compiler warnings for unused variables/functions used for debug features etc.
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
-
-# HACK: -mstackrealign is required for x86 builds running on pre-KitKat devices to avoid crashes
-# with SSE instructions.
-ifeq ($(TARGET_ARCH), x86)
- LOCAL_CFLAGS += -mstackrealign
-endif # x86
-
-include $(LOCAL_PATH)/NativeFileList.mk
-
-LOCAL_SRC_FILES := \
- $(LATIN_IME_JNI_SRC_FILES) \
- $(addprefix $(LATIN_IME_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
-
-ifeq ($(FLAG_DO_PROFILE), true)
- $(warning Making profiling version of native library)
- LOCAL_CFLAGS += -DFLAG_DO_PROFILE -funwind-tables
-else # FLAG_DO_PROFILE
-ifeq ($(FLAG_DBG), true)
- $(warning Making debug version of native library)
- LOCAL_CFLAGS += -DFLAG_DBG -funwind-tables -fno-inline
-ifeq ($(FLAG_FULL_DBG), true)
- $(warning Making full debug version of native library)
- LOCAL_CFLAGS += -DFLAG_FULL_DBG
-endif # FLAG_FULL_DBG
-endif # FLAG_DBG
-endif # FLAG_DO_PROFILE
-
-LOCAL_MODULE := libjni_latinime_common_static
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SDK_VERSION := 14
-LOCAL_NDK_STL_VARIANT := c++_static
-
-include $(BUILD_STATIC_LIBRARY)
-######################################
-include $(CLEAR_VARS)
-
-# All code in LOCAL_WHOLE_STATIC_LIBRARIES will be built into this shared library.
-LOCAL_WHOLE_STATIC_LIBRARIES := libjni_latinime_common_static
-
-ifeq ($(FLAG_DO_PROFILE), true)
- $(warning Making profiling version of native library)
- LOCAL_LDFLAGS += -llog
-else # FLAG_DO_PROFILE
-ifeq ($(FLAG_DBG), true)
- $(warning Making debug version of native library)
- LOCAL_LDFLAGS += -llog
-endif # FLAG_DBG
-endif # FLAG_DO_PROFILE
-
-LOCAL_MODULE := libjni_latinime
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SDK_VERSION := 14
-LOCAL_NDK_STL_VARIANT := c++_static
-LOCAL_CFLAGS := -Wall -Werror
-LOCAL_LDFLAGS += -ldl
-
-include $(BUILD_SHARED_LIBRARY)
-#################### Clean up the tmp vars
-include $(LOCAL_PATH)/CleanupNativeFileList.mk
-
-#################### Unit test on host environment
-include $(LOCAL_PATH)/HostUnitTests.mk
-
-#################### Unit test on target environment
-include $(LOCAL_PATH)/TargetUnitTests.mk
-//LOCAL_CFLAGS += -Wall -Werror
diff --git a/native/jni/Application.mk b/native/jni/Application.mk
deleted file mode 100644
index ce095350e..000000000
--- a/native/jni/Application.mk
+++ /dev/null
@@ -1 +0,0 @@
-APP_STL := c++_static
diff --git a/native/jni/CleanupNativeFileList.mk b/native/jni/CleanupNativeFileList.mk
deleted file mode 100644
index eed6f1e63..000000000
--- a/native/jni/CleanupNativeFileList.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (C) 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.
-
-LATIN_IME_CORE_SRC_FILES :=
-LATIN_IME_CORE_SRC_FILES_BACKWARD_V401 :=
-LATIN_IME_CORE_TEST_FILES :=
-LATIN_IME_JNI_SRC_FILES :=
-LATIN_IME_SRC_DIR :=
diff --git a/native/jni/HostUnitTests.mk b/native/jni/HostUnitTests.mk
deleted file mode 100644
index 94cd764b4..000000000
--- a/native/jni/HostUnitTests.mk
+++ /dev/null
@@ -1,63 +0,0 @@
-# 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.
-
-# Host build is never supported in unbundled (NDK/tapas) build
-ifeq (,$(TARGET_BUILD_APPS))
-
-# HACK: Temporarily disable host tool build on Mac until the build system is ready for C++11.
-LATINIME_HOST_OSNAME := $(shell uname -s)
-ifneq ($(LATINIME_HOST_OSNAME), Darwin) # TODO: Remove this
-
-LOCAL_PATH := $(call my-dir)
-
-######################################
-include $(CLEAR_VARS)
-
-include $(LOCAL_PATH)/NativeFileList.mk
-
-#################### Host library for unit test
-LATIN_IME_SRC_DIR := src
-LOCAL_ADDRESS_SANITIZER := true
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function -Wall -Werror
-LOCAL_CXX_STL := libc++
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
-LOCAL_MODULE := liblatinime_host_static_for_unittests
-LOCAL_MODULE_TAGS := optional
-LOCAL_SRC_FILES := $(addprefix $(LATIN_IME_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-#################### Host native tests
-include $(CLEAR_VARS)
-LATIN_IME_TEST_SRC_DIR := tests
-LOCAL_ADDRESS_SANITIZER := true
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
-LOCAL_CFLAGS += -Wall -Werror
-LOCAL_CXX_STL := libc++
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
-LOCAL_MODULE := liblatinime_host_unittests
-LOCAL_MODULE_TAGS := tests
-LOCAL_SRC_FILES := $(addprefix $(LATIN_IME_TEST_SRC_DIR)/, $(LATIN_IME_CORE_TEST_FILES))
-LOCAL_STATIC_LIBRARIES += liblatinime_host_static_for_unittests
-include $(BUILD_HOST_NATIVE_TEST)
-
-include $(LOCAL_PATH)/CleanupNativeFileList.mk
-
-endif # Darwin - TODO: Remove this
-
-endif # TARGET_BUILD_APPS
-
-#################### Clean up the tmp vars
-LATINIME_HOST_OSNAME :=
-LATIN_IME_SRC_DIR :=
-LATIN_IME_TEST_SRC_DIR :=
diff --git a/native/jni/NativeFileList.mk b/native/jni/NativeFileList.mk
deleted file mode 100644
index d8b69bfd7..000000000
--- a/native/jni/NativeFileList.mk
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright (C) 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.
-
-LATIN_IME_JNI_SRC_FILES := \
- com_android_inputmethod_keyboard_ProximityInfo.cpp \
- com_android_inputmethod_latin_BinaryDictionary.cpp \
- com_android_inputmethod_latin_BinaryDictionaryUtils.cpp \
- com_android_inputmethod_latin_DicTraverseSession.cpp \
- jni_common.cpp
-
-LATIN_IME_CORE_SRC_FILES := \
- $(addprefix dictionary/header/, \
- header_policy.cpp \
- header_read_write_utils.cpp) \
- dictionary/property/ngram_context.cpp \
- dictionary/structure/dictionary_structure_with_buffer_policy_factory.cpp \
- $(addprefix dictionary/structure/pt_common/, \
- bigram/bigram_list_read_write_utils.cpp \
- dynamic_pt_gc_event_listeners.cpp \
- dynamic_pt_reading_helper.cpp \
- dynamic_pt_reading_utils.cpp \
- dynamic_pt_updating_helper.cpp \
- dynamic_pt_writing_utils.cpp \
- patricia_trie_reading_utils.cpp \
- shortcut/shortcut_list_reading_utils.cpp) \
- $(addprefix dictionary/structure/v2/, \
- patricia_trie_policy.cpp \
- ver2_patricia_trie_node_reader.cpp \
- ver2_pt_node_array_reader.cpp) \
- $(addprefix dictionary/structure/v4/, \
- ver4_dict_buffers.cpp \
- ver4_dict_constants.cpp \
- ver4_patricia_trie_node_reader.cpp \
- ver4_patricia_trie_node_writer.cpp \
- ver4_patricia_trie_policy.cpp \
- ver4_patricia_trie_reading_utils.cpp \
- ver4_patricia_trie_writing_helper.cpp \
- ver4_pt_node_array_reader.cpp) \
- $(addprefix dictionary/structure/v4/content/, \
- dynamic_language_model_probability_utils.cpp \
- language_model_dict_content.cpp \
- language_model_dict_content_global_counters.cpp \
- shortcut_dict_content.cpp \
- sparse_table_dict_content.cpp \
- terminal_position_lookup_table.cpp) \
- $(addprefix dictionary/utils/, \
- buffer_with_extendable_buffer.cpp \
- byte_array_utils.cpp \
- dict_file_writing_utils.cpp \
- file_utils.cpp \
- forgetting_curve_utils.cpp \
- format_utils.cpp \
- mmapped_buffer.cpp \
- multi_bigram_map.cpp \
- probability_utils.cpp \
- sparse_table.cpp \
- trie_map.cpp ) \
- suggest/core/suggest.cpp \
- $(addprefix suggest/core/dicnode/, \
- dic_node.cpp \
- dic_node_utils.cpp \
- dic_nodes_cache.cpp) \
- $(addprefix suggest/core/dictionary/, \
- dictionary.cpp \
- dictionary_utils.cpp \
- digraph_utils.cpp \
- error_type_utils.cpp ) \
- $(addprefix suggest/core/layout/, \
- additional_proximity_chars.cpp \
- proximity_info.cpp \
- proximity_info_params.cpp \
- proximity_info_state.cpp \
- proximity_info_state_utils.cpp) \
- suggest/core/policy/weighting.cpp \
- suggest/core/session/dic_traverse_session.cpp \
- $(addprefix suggest/core/result/, \
- suggestion_results.cpp \
- suggestions_output_utils.cpp) \
- suggest/policyimpl/gesture/gesture_suggest_policy_factory.cpp \
- $(addprefix suggest/policyimpl/typing/, \
- scoring_params.cpp \
- typing_scoring.cpp \
- typing_suggest_policy.cpp \
- typing_traversal.cpp \
- typing_weighting.cpp) \
- $(addprefix utils/, \
- autocorrection_threshold_utils.cpp \
- char_utils.cpp \
- jni_data_utils.cpp \
- log_utils.cpp \
- time_keeper.cpp)
-
-LATIN_IME_CORE_SRC_FILES_BACKWARD_V402 := \
- $(addprefix dictionary/structure/backward/v402/, \
- ver4_dict_buffers.cpp \
- ver4_dict_constants.cpp \
- ver4_patricia_trie_node_reader.cpp \
- ver4_patricia_trie_node_writer.cpp \
- ver4_patricia_trie_policy.cpp \
- ver4_patricia_trie_reading_utils.cpp \
- ver4_patricia_trie_writing_helper.cpp \
- ver4_pt_node_array_reader.cpp) \
- $(addprefix dictionary/structure/backward/v402/content/, \
- bigram_dict_content.cpp \
- probability_dict_content.cpp \
- shortcut_dict_content.cpp \
- sparse_table_dict_content.cpp \
- terminal_position_lookup_table.cpp) \
- $(addprefix dictionary/structure/backward/v402/bigram/, \
- ver4_bigram_list_policy.cpp)
-
-LATIN_IME_CORE_SRC_FILES += $(LATIN_IME_CORE_SRC_FILES_BACKWARD_V402)
-
-LATIN_IME_CORE_TEST_FILES := \
- defines_test.cpp \
- dictionary/header/header_read_write_utils_test.cpp \
- dictionary/structure/v4/content/language_model_dict_content_test.cpp \
- dictionary/structure/v4/content/language_model_dict_content_global_counters_test.cpp \
- dictionary/structure/v4/content/probability_entry_test.cpp \
- dictionary/structure/v4/content/terminal_position_lookup_table_test.cpp \
- dictionary/utils/bloom_filter_test.cpp \
- dictionary/utils/buffer_with_extendable_buffer_test.cpp \
- dictionary/utils/byte_array_utils_test.cpp \
- dictionary/utils/format_utils_test.cpp \
- dictionary/utils/probability_utils_test.cpp \
- dictionary/utils/sparse_table_test.cpp \
- dictionary/utils/trie_map_test.cpp \
- suggest/core/dicnode/dic_node_pool_test.cpp \
- suggest/core/layout/geometry_utils_test.cpp \
- suggest/core/layout/normal_distribution_2d_test.cpp \
- suggest/policyimpl/utils/damerau_levenshtein_edit_distance_policy_test.cpp \
- utils/autocorrection_threshold_utils_test.cpp \
- utils/char_utils_test.cpp \
- utils/int_array_view_test.cpp \
- utils/time_keeper_test.cpp
diff --git a/native/jni/TargetUnitTests.mk b/native/jni/TargetUnitTests.mk
deleted file mode 100644
index 32aada057..000000000
--- a/native/jni/TargetUnitTests.mk
+++ /dev/null
@@ -1,50 +0,0 @@
-# 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.
-
-LOCAL_PATH := $(call my-dir)
-
-######################################
-include $(CLEAR_VARS)
-
-include $(LOCAL_PATH)/NativeFileList.mk
-
-#################### Target library for unit test
-LATIN_IME_SRC_DIR := src
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function -Wall -Werror
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
-LOCAL_MODULE := liblatinime_target_static_for_unittests
-LOCAL_MODULE_TAGS := optional
-LOCAL_SRC_FILES := $(addprefix $(LATIN_IME_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
-LOCAL_SDK_VERSION := 14
-LOCAL_NDK_STL_VARIANT := c++_static
-include $(BUILD_STATIC_LIBRARY)
-
-#################### Target native tests
-include $(CLEAR_VARS)
-LATIN_IME_TEST_SRC_DIR := tests
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function -Wall -Werror
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
-LOCAL_MODULE := liblatinime_target_unittests
-LOCAL_MODULE_TAGS := tests
-LOCAL_SRC_FILES := \
- $(addprefix $(LATIN_IME_TEST_SRC_DIR)/, $(LATIN_IME_CORE_TEST_FILES))
-LOCAL_STATIC_LIBRARIES += liblatinime_target_static_for_unittests
-LOCAL_SDK_VERSION := 14
-LOCAL_NDK_STL_VARIANT := c++_static
-include $(BUILD_NATIVE_TEST)
-
-#################### Clean up the tmp vars
-LATIN_IME_SRC_DIR :=
-LATIN_IME_TEST_SRC_DIR :=
-include $(LOCAL_PATH)/CleanupNativeFileList.mk
diff --git a/native/jni/src/dictionary/structure/v4/ver4_patricia_trie_policy.cpp b/native/jni/src/dictionary/structure/v4/ver4_patricia_trie_policy.cpp
index 1dbec5545..6f96a5a0b 100644
--- a/native/jni/src/dictionary/structure/v4/ver4_patricia_trie_policy.cpp
+++ b/native/jni/src/dictionary/structure/v4/ver4_patricia_trie_policy.cpp
@@ -141,7 +141,7 @@ void Ver4PatriciaTriePolicy::iterateNgramEntries(const WordIdArrayView prevWordI
}
const auto languageModelDictContent = mBuffers->getLanguageModelDictContent();
for (size_t i = 1; i <= prevWordIds.size(); ++i) {
- for (const auto entry : languageModelDictContent->getProbabilityEntries(
+ for (const auto& entry : languageModelDictContent->getProbabilityEntries(
prevWordIds.limit(i))) {
const ProbabilityEntry &probabilityEntry = entry.getProbabilityEntry();
if (!probabilityEntry.isValid()) {
@@ -516,7 +516,7 @@ const WordProperty Ver4PatriciaTriePolicy::getWordProperty(
int ngramPrevWordsCodePoints[MAX_PREV_WORD_COUNT_FOR_N_GRAM][MAX_WORD_LENGTH];
int ngramPrevWordsCodePointCount[MAX_PREV_WORD_COUNT_FOR_N_GRAM];
bool ngramPrevWordIsBeginningOfSentense[MAX_PREV_WORD_COUNT_FOR_N_GRAM];
- for (const auto entry : languageModelDictContent->exportAllNgramEntriesRelatedToWord(
+ for (const auto& entry : languageModelDictContent->exportAllNgramEntriesRelatedToWord(
mHeaderPolicy, wordId)) {
const int codePointCount = getCodePointsAndReturnCodePointCount(entry.getTargetWordId(),
MAX_WORD_LENGTH, ngramTargetCodePoints);
diff --git a/native/jni/src/dictionary/utils/binary_dictionary_bigrams_iterator.h b/native/jni/src/dictionary/utils/binary_dictionary_bigrams_iterator.h
index 8a614730b..a30336475 100644
--- a/native/jni/src/dictionary/utils/binary_dictionary_bigrams_iterator.h
+++ b/native/jni/src/dictionary/utils/binary_dictionary_bigrams_iterator.h
@@ -35,7 +35,7 @@ class BinaryDictionaryBigramsIterator {
mBigramPos(NOT_A_DICT_POS), mProbability(NOT_A_PROBABILITY),
mHasNext(pos != NOT_A_DICT_POS) {}
- BinaryDictionaryBigramsIterator(BinaryDictionaryBigramsIterator &&bigramsIterator)
+ BinaryDictionaryBigramsIterator(BinaryDictionaryBigramsIterator &&bigramsIterator) noexcept
: mBigramsStructurePolicy(bigramsIterator.mBigramsStructurePolicy),
mPos(bigramsIterator.mPos), mBigramPos(bigramsIterator.mBigramPos),
mProbability(bigramsIterator.mProbability), mHasNext(bigramsIterator.mHasNext) {}
diff --git a/native/jni/src/dictionary/utils/binary_dictionary_shortcut_iterator.h b/native/jni/src/dictionary/utils/binary_dictionary_shortcut_iterator.h
index a4ddd58c2..e14805e37 100644
--- a/native/jni/src/dictionary/utils/binary_dictionary_shortcut_iterator.h
+++ b/native/jni/src/dictionary/utils/binary_dictionary_shortcut_iterator.h
@@ -31,7 +31,7 @@ class BinaryDictionaryShortcutIterator {
mPos(shortcutStructurePolicy->getStartPos(shortcutPos)),
mHasNextShortcutTarget(shortcutPos != NOT_A_DICT_POS) {}
- BinaryDictionaryShortcutIterator(const BinaryDictionaryShortcutIterator &&shortcutIterator)
+ BinaryDictionaryShortcutIterator(const BinaryDictionaryShortcutIterator &&shortcutIterator) noexcept
: mShortcutStructurePolicy(shortcutIterator.mShortcutStructurePolicy),
mPos(shortcutIterator.mPos),
mHasNextShortcutTarget(shortcutIterator.mHasNextShortcutTarget) {}
diff --git a/native/jni/tests/dictionary/structure/v4/content/language_model_dict_content_test.cpp b/native/jni/tests/dictionary/structure/v4/content/language_model_dict_content_test.cpp
index ca8626e2f..ab11975c2 100644
--- a/native/jni/tests/dictionary/structure/v4/content/language_model_dict_content_test.cpp
+++ b/native/jni/tests/dictionary/structure/v4/content/language_model_dict_content_test.cpp
@@ -80,7 +80,7 @@ TEST(LanguageModelDictContentTest, TestIterateProbabilityEntry) {
languageModelDictContent.setProbabilityEntry(wordId, &originalEntry);
}
std::unordered_set<int> wordIdSet(std::begin(wordIds), std::end(wordIds));
- for (const auto entry : languageModelDictContent.getProbabilityEntries(WordIdArrayView())) {
+ for (const auto& entry : languageModelDictContent.getProbabilityEntries(WordIdArrayView())) {
EXPECT_EQ(originalEntry.getFlags(), entry.getProbabilityEntry().getFlags());
EXPECT_EQ(originalEntry.getProbability(), entry.getProbabilityEntry().getProbability());
wordIdSet.erase(entry.getWordId());
diff --git a/tests/Android.bp b/tests/Android.bp
new file mode 100644
index 000000000..a99cc5b41
--- /dev/null
+++ b/tests/Android.bp
@@ -0,0 +1,44 @@
+// Copyright (C) 2011 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.
+
+android_test {
+ name: "LatinIMETests",
+
+ certificate: "shared",
+
+ aaptflags: [
+ // Do not compress dictionary files to mmap dict data runtime
+ "-0 .dict",
+
+ // Do not compress test data file
+ "-0 .txt",
+ ],
+
+ static_libs: [
+ "android-support-test",
+ "mockito-target-minus-junit4",
+ ],
+ libs: [
+ "android.test.mock.stubs",
+ "android.test.runner.stubs",
+ "android.test.base.stubs",
+ ],
+
+ // Include all test java files.
+ srcs: ["src/**/*.java"],
+
+ instrumentation_for: "LatinIME",
+
+ sdk_version: "current",
+}
diff --git a/tests/Android.mk b/tests/Android.mk
deleted file mode 100644
index 7c0bb4f71..000000000
--- a/tests/Android.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (C) 2011 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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-LOCAL_CERTIFICATE := shared
-
-# Do not compress dictionary files to mmap dict data runtime
-LOCAL_AAPT_FLAGS += -0 .dict
-# Do not compress test data file
-LOCAL_AAPT_FLAGS += -0 .txt
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
- android-support-test \
- mockito-target-minus-junit4
-
-LOCAL_JAVA_LIBRARIES := \
- android.test.mock.stubs \
- android.test.runner.stubs \
- android.test.base.stubs \
-
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := LatinIMETests
-
-LOCAL_INSTRUMENTATION_FOR := LatinIME
-
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
diff --git a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
new file mode 100644
index 000000000..39da9fcd6
--- /dev/null
+++ b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
@@ -0,0 +1,677 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.latin.makedict;
+
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.LargeTest;
+import android.util.Log;
+import android.util.Pair;
+import android.util.SparseArray;
+
+import com.android.inputmethod.latin.BinaryDictionary;
+import com.android.inputmethod.latin.common.CodePointUtils;
+import com.android.inputmethod.latin.makedict.BinaryDictDecoderUtils.CharEncoding;
+import com.android.inputmethod.latin.makedict.BinaryDictDecoderUtils.DictBuffer;
+import com.android.inputmethod.latin.makedict.FormatSpec.FormatOptions;
+import com.android.inputmethod.latin.makedict.FusionDictionary.PtNode;
+import com.android.inputmethod.latin.makedict.FusionDictionary.PtNodeArray;
+import com.android.inputmethod.latin.utils.BinaryDictionaryUtils;
+import com.android.inputmethod.latin.utils.ByteArrayDictBuffer;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Random;
+import java.util.Set;
+import java.util.TreeMap;
+
+/**
+ * Unit tests for BinaryDictDecoderUtils and BinaryDictEncoderUtils.
+ */
+@LargeTest
+public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
+ private static final String TAG = BinaryDictDecoderEncoderTests.class.getSimpleName();
+ private static final int DEFAULT_MAX_UNIGRAMS = 300;
+ private static final int DEFAULT_CODE_POINT_SET_SIZE = 50;
+ private static final int LARGE_CODE_POINT_SET_SIZE = 300;
+ private static final int UNIGRAM_FREQ = 10;
+ private static final int BIGRAM_FREQ = 50;
+ private static final int TOLERANCE_OF_BIGRAM_FREQ = 5;
+
+ private static final ArrayList<String> sWords = new ArrayList<>();
+ private static final ArrayList<String> sWordsWithVariousCodePoints = new ArrayList<>();
+ private static final SparseArray<List<Integer>> sEmptyBigrams = new SparseArray<>();
+ private static final SparseArray<List<Integer>> sStarBigrams = new SparseArray<>();
+ private static final SparseArray<List<Integer>> sChainBigrams = new SparseArray<>();
+
+ final Random mRandom;
+
+ public BinaryDictDecoderEncoderTests() {
+ this(System.currentTimeMillis(), DEFAULT_MAX_UNIGRAMS);
+ }
+
+ public BinaryDictDecoderEncoderTests(final long seed, final int maxUnigrams) {
+ super();
+ BinaryDictionaryUtils.setCurrentTimeForTest(0);
+ Log.e(TAG, "Testing dictionary: seed is " + seed);
+ mRandom = new Random(seed);
+ sWords.clear();
+ sWordsWithVariousCodePoints.clear();
+ generateWords(maxUnigrams, mRandom);
+
+ for (int i = 0; i < sWords.size(); ++i) {
+ sChainBigrams.put(i, new ArrayList<Integer>());
+ if (i > 0) {
+ sChainBigrams.get(i - 1).add(i);
+ }
+ }
+
+ sStarBigrams.put(0, new ArrayList<Integer>());
+ // MAX - 1 because we added one above already
+ final int maxBigrams = Math.min(sWords.size(), FormatSpec.MAX_BIGRAMS_IN_A_PTNODE - 1);
+ for (int i = 1; i < maxBigrams; ++i) {
+ sStarBigrams.get(0).add(i);
+ }
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ BinaryDictionaryUtils.setCurrentTimeForTest(0);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ // Quit test mode.
+ BinaryDictionaryUtils.setCurrentTimeForTest(-1);
+ super.tearDown();
+ }
+
+ private static void generateWords(final int number, final Random random) {
+ final int[] codePointSet = CodePointUtils.generateCodePointSet(DEFAULT_CODE_POINT_SET_SIZE,
+ random);
+ final Set<String> wordSet = new HashSet<>();
+ while (wordSet.size() < number) {
+ wordSet.add(CodePointUtils.generateWord(random, codePointSet));
+ }
+ sWords.addAll(wordSet);
+
+ final int[] largeCodePointSet = CodePointUtils.generateCodePointSet(
+ LARGE_CODE_POINT_SET_SIZE, random);
+ wordSet.clear();
+ while (wordSet.size() < number) {
+ wordSet.add(CodePointUtils.generateWord(random, largeCodePointSet));
+ }
+ sWordsWithVariousCodePoints.addAll(wordSet);
+ }
+
+ /**
+ * Adds unigrams to the dictionary.
+ */
+ private static void addUnigrams(final int number, final FusionDictionary dict,
+ final List<String> words) {
+ for (int i = 0; i < number; ++i) {
+ final String word = words.get(i);
+ final ArrayList<WeightedString> shortcuts = new ArrayList<>();
+ dict.add(word, new ProbabilityInfo(UNIGRAM_FREQ), false /* isNotAWord */,
+ false /* isPossiblyOffensive */);
+ }
+ }
+
+ private static void addBigrams(final FusionDictionary dict,
+ final List<String> words,
+ final SparseArray<List<Integer>> bigrams) {
+ for (int i = 0; i < bigrams.size(); ++i) {
+ final int w1 = bigrams.keyAt(i);
+ for (int w2 : bigrams.valueAt(i)) {
+ dict.setBigram(words.get(w1), words.get(w2), new ProbabilityInfo(BIGRAM_FREQ));
+ }
+ }
+ }
+
+// The following is useful to dump the dictionary into a textual file, but it can't compile
+// on-device, so it's commented out.
+// private void dumpToCombinedFileForDebug(final FusionDictionary dict, final String filename)
+// throws IOException {
+// com.android.inputmethod.latin.dicttool.CombinedInputOutput.writeDictionaryCombined(
+// new java.io.FileWriter(new File(filename)), dict);
+// }
+
+ private static long timeWritingDictToFile(final File file, final FusionDictionary dict,
+ final FormatSpec.FormatOptions formatOptions) {
+
+ long now = -1, diff = -1;
+
+ try {
+ final DictEncoder dictEncoder = BinaryDictUtils.getDictEncoder(file, formatOptions);
+
+ now = System.currentTimeMillis();
+ // If you need to dump the dict to a textual file, uncomment the line below and the
+ // function above
+ // dumpToCombinedFileForDebug(file, "/tmp/foo");
+ dictEncoder.writeDictionary(dict, formatOptions);
+ diff = System.currentTimeMillis() - now;
+ } catch (IOException e) {
+ Log.e(TAG, "IO exception while writing file", e);
+ } catch (UnsupportedFormatException e) {
+ Log.e(TAG, "UnsupportedFormatException", e);
+ }
+
+ return diff;
+ }
+
+ private static void checkDictionary(final FusionDictionary dict, final List<String> words,
+ final SparseArray<List<Integer>> bigrams) {
+ assertNotNull(dict);
+
+ // check unigram
+ for (final String word : words) {
+ final PtNode ptNode = FusionDictionary.findWordInTree(dict.mRootNodeArray, word);
+ assertNotNull(ptNode);
+ }
+
+ // check bigram
+ for (int i = 0; i < bigrams.size(); ++i) {
+ final int w1 = bigrams.keyAt(i);
+ for (final int w2 : bigrams.valueAt(i)) {
+ final PtNode ptNode = FusionDictionary.findWordInTree(dict.mRootNodeArray,
+ words.get(w1));
+ assertNotNull(words.get(w1) + "," + words.get(w2), ptNode.getBigram(words.get(w2)));
+ }
+ }
+ }
+
+ private static String outputOptions(final int bufferType,
+ final FormatSpec.FormatOptions formatOptions) {
+ final String result = " : buffer type = "
+ + ((bufferType == BinaryDictUtils.USE_BYTE_BUFFER) ? "byte buffer" : "byte array");
+ return result + " : version = " + formatOptions.mVersion;
+ }
+
+ // Tests for readDictionaryBinary and writeDictionaryBinary
+
+ private static long timeReadingAndCheckDict(final File file, final List<String> words,
+ final SparseArray<List<Integer>> bigrams, final int bufferType) {
+ long now, diff = -1;
+
+ FusionDictionary dict = null;
+ try {
+ final DictDecoder dictDecoder = BinaryDictIOUtils.getDictDecoder(file, 0, file.length(),
+ bufferType);
+ now = System.currentTimeMillis();
+ dict = dictDecoder.readDictionaryBinary(false /* deleteDictIfBroken */);
+ diff = System.currentTimeMillis() - now;
+ } catch (IOException e) {
+ Log.e(TAG, "IOException while reading dictionary", e);
+ } catch (UnsupportedFormatException e) {
+ Log.e(TAG, "Unsupported format", e);
+ }
+
+ checkDictionary(dict, words, bigrams);
+ return diff;
+ }
+
+ // Tests for readDictionaryBinary and writeDictionaryBinary
+ private String runReadAndWrite(final List<String> words,
+ final SparseArray<List<Integer>> bigrams,
+ final int bufferType, final FormatSpec.FormatOptions formatOptions,
+ final String message) {
+
+ final String dictName = "runReadAndWrite";
+ final String dictVersion = Long.toString(System.currentTimeMillis());
+ final File file = BinaryDictUtils.getDictFile(dictName, dictVersion, formatOptions,
+ getContext().getCacheDir());
+
+ final FusionDictionary dict = new FusionDictionary(new PtNodeArray(),
+ BinaryDictUtils.makeDictionaryOptions(dictName, dictVersion, formatOptions));
+ addUnigrams(words.size(), dict, words);
+ addBigrams(dict, words, bigrams);
+ checkDictionary(dict, words, bigrams);
+
+ final long write = timeWritingDictToFile(file, dict, formatOptions);
+ final long read = timeReadingAndCheckDict(file, words, bigrams, bufferType);
+
+ return "PROF: read=" + read + "ms, write=" + write + "ms :" + message
+ + " : " + outputOptions(bufferType, formatOptions);
+ }
+
+ private void runReadAndWriteTests(final List<String> results, final int bufferType,
+ final FormatSpec.FormatOptions formatOptions) {
+ results.add(runReadAndWrite(sWords, sEmptyBigrams, bufferType,
+ formatOptions, "unigram"));
+ results.add(runReadAndWrite(sWords, sChainBigrams, bufferType,
+ formatOptions, "chain"));
+ results.add(runReadAndWrite(sWords, sStarBigrams, bufferType,
+ formatOptions, "star"));
+ results.add(runReadAndWrite(sWords, sEmptyBigrams, bufferType, formatOptions,
+ "unigram with shortcuts"));
+ results.add(runReadAndWrite(sWords, sChainBigrams, bufferType, formatOptions,
+ "chain with shortcuts"));
+ results.add(runReadAndWrite(sWords, sStarBigrams, bufferType, formatOptions,
+ "star with shortcuts"));
+ results.add(runReadAndWrite(sWordsWithVariousCodePoints, sEmptyBigrams,
+ bufferType, formatOptions,
+ "unigram with various code points"));
+ }
+
+ public void testCharacterTableIsPresent() throws IOException, UnsupportedFormatException {
+ final String[] wordSource = {"words", "used", "for", "testing", "a", "code point", "table"};
+ final List<String> words = Arrays.asList(wordSource);
+ final String correctCodePointTable = "toesdrniawuplgfcb ";
+ final String dictName = "codePointTableTest";
+ final String dictVersion = Long.toString(System.currentTimeMillis());
+ final String codePointTableAttribute = DictionaryHeader.CODE_POINT_TABLE_KEY;
+ final File file = BinaryDictUtils.getDictFile(dictName, dictVersion,
+ BinaryDictUtils.STATIC_OPTIONS, getContext().getCacheDir());
+
+ // Write a test dictionary
+ final DictEncoder dictEncoder = new Ver2DictEncoder(file,
+ Ver2DictEncoder.CODE_POINT_TABLE_ON);
+ final FormatSpec.FormatOptions formatOptions =
+ new FormatSpec.FormatOptions(
+ FormatSpec.MINIMUM_SUPPORTED_STATIC_VERSION);
+ final FusionDictionary sourcedict = new FusionDictionary(new PtNodeArray(),
+ BinaryDictUtils.makeDictionaryOptions(dictName, dictVersion, formatOptions));
+ addUnigrams(words.size(), sourcedict, words);
+ dictEncoder.writeDictionary(sourcedict, formatOptions);
+
+ // Read the dictionary
+ final DictDecoder dictDecoder = BinaryDictIOUtils.getDictDecoder(file, 0, file.length(),
+ DictDecoder.USE_BYTEARRAY);
+ final DictionaryHeader fileHeader = dictDecoder.readHeader();
+ // Check if codePointTable is present
+ assertTrue("codePointTable is not present",
+ fileHeader.mDictionaryOptions.mAttributes.containsKey(codePointTableAttribute));
+ final String codePointTable =
+ fileHeader.mDictionaryOptions.mAttributes.get(codePointTableAttribute);
+ // Check if codePointTable is correct
+ assertEquals("codePointTable is incorrect", codePointTable, correctCodePointTable);
+ }
+
+ // Unit test for CharEncoding.readString and CharEncoding.writeString.
+ public void testCharEncoding() {
+ // the max length of a word in sWords is less than 50.
+ // See generateWords.
+ final byte[] buffer = new byte[50 * 3];
+ final DictBuffer dictBuffer = new ByteArrayDictBuffer(buffer);
+ for (final String word : sWords) {
+ Arrays.fill(buffer, (byte) 0);
+ CharEncoding.writeString(buffer, 0, word, null);
+ dictBuffer.position(0);
+ final String str = CharEncoding.readString(dictBuffer);
+ assertEquals(word, str);
+ }
+ }
+
+ public void testReadAndWriteWithByteBuffer() {
+ final List<String> results = new ArrayList<>();
+
+ runReadAndWriteTests(results, BinaryDictUtils.USE_BYTE_BUFFER,
+ BinaryDictUtils.STATIC_OPTIONS);
+ runReadAndWriteTests(results, BinaryDictUtils.USE_BYTE_BUFFER,
+ BinaryDictUtils.DYNAMIC_OPTIONS_WITHOUT_TIMESTAMP);
+ runReadAndWriteTests(results, BinaryDictUtils.USE_BYTE_BUFFER,
+ BinaryDictUtils.DYNAMIC_OPTIONS_WITH_TIMESTAMP);
+ for (final String result : results) {
+ Log.d(TAG, result);
+ }
+ }
+
+ public void testReadAndWriteWithByteArray() {
+ final List<String> results = new ArrayList<>();
+
+ runReadAndWriteTests(results, BinaryDictUtils.USE_BYTE_ARRAY,
+ BinaryDictUtils.STATIC_OPTIONS);
+ runReadAndWriteTests(results, BinaryDictUtils.USE_BYTE_ARRAY,
+ BinaryDictUtils.DYNAMIC_OPTIONS_WITHOUT_TIMESTAMP);
+ runReadAndWriteTests(results, BinaryDictUtils.USE_BYTE_ARRAY,
+ BinaryDictUtils.DYNAMIC_OPTIONS_WITH_TIMESTAMP);
+
+ for (final String result : results) {
+ Log.d(TAG, result);
+ }
+ }
+
+ // Tests for readUnigramsAndBigramsBinary
+
+ private static void checkWordMap(final List<String> expectedWords,
+ final SparseArray<List<Integer>> expectedBigrams,
+ final TreeMap<Integer, String> resultWords,
+ final TreeMap<Integer, Integer> resultFrequencies,
+ final TreeMap<Integer, ArrayList<PendingAttribute>> resultBigrams,
+ final boolean checkProbability) {
+ // check unigrams
+ final Set<String> actualWordsSet = new HashSet<>(resultWords.values());
+ final Set<String> expectedWordsSet = new HashSet<>(expectedWords);
+ assertEquals(actualWordsSet, expectedWordsSet);
+ if (checkProbability) {
+ for (int freq : resultFrequencies.values()) {
+ assertEquals(freq, UNIGRAM_FREQ);
+ }
+ }
+
+ // check bigrams
+ final HashMap<String, Set<String>> expBigrams = new HashMap<>();
+ for (int i = 0; i < expectedBigrams.size(); ++i) {
+ final String word1 = expectedWords.get(expectedBigrams.keyAt(i));
+ for (int w2 : expectedBigrams.valueAt(i)) {
+ if (expBigrams.get(word1) == null) {
+ expBigrams.put(word1, new HashSet<String>());
+ }
+ expBigrams.get(word1).add(expectedWords.get(w2));
+ }
+ }
+
+ final HashMap<String, Set<String>> actBigrams = new HashMap<>();
+ for (Entry<Integer, ArrayList<PendingAttribute>> entry : resultBigrams.entrySet()) {
+ final String word1 = resultWords.get(entry.getKey());
+ final int unigramFreq = resultFrequencies.get(entry.getKey());
+ for (PendingAttribute attr : entry.getValue()) {
+ final String word2 = resultWords.get(attr.mAddress);
+ if (actBigrams.get(word1) == null) {
+ actBigrams.put(word1, new HashSet<String>());
+ }
+ actBigrams.get(word1).add(word2);
+
+ if (checkProbability) {
+ final int bigramFreq = BinaryDictIOUtils.reconstructBigramFrequency(
+ unigramFreq, attr.mFrequency);
+ assertTrue(Math.abs(bigramFreq - BIGRAM_FREQ) < TOLERANCE_OF_BIGRAM_FREQ);
+ }
+ }
+ }
+ assertEquals(actBigrams, expBigrams);
+ }
+
+ private static long timeAndCheckReadUnigramsAndBigramsBinary(final File file,
+ final List<String> words, final SparseArray<List<Integer>> bigrams,
+ final int bufferType, final boolean checkProbability) {
+ final TreeMap<Integer, String> resultWords = new TreeMap<>();
+ final TreeMap<Integer, ArrayList<PendingAttribute>> resultBigrams = new TreeMap<>();
+ final TreeMap<Integer, Integer> resultFreqs = new TreeMap<>();
+
+ long now = -1, diff = -1;
+ try {
+ final DictDecoder dictDecoder = BinaryDictIOUtils.getDictDecoder(file, 0, file.length(),
+ bufferType);
+ now = System.currentTimeMillis();
+ dictDecoder.readUnigramsAndBigramsBinary(resultWords, resultFreqs, resultBigrams);
+ diff = System.currentTimeMillis() - now;
+ } catch (IOException e) {
+ Log.e(TAG, "IOException", e);
+ } catch (UnsupportedFormatException e) {
+ Log.e(TAG, "UnsupportedFormatException", e);
+ }
+
+ checkWordMap(words, bigrams, resultWords, resultFreqs, resultBigrams, checkProbability);
+ return diff;
+ }
+
+ private String runReadUnigramsAndBigramsBinary(final ArrayList<String> words,
+ final SparseArray<List<Integer>> bigrams, final int bufferType,
+ final FormatSpec.FormatOptions formatOptions, final String message) {
+ final String dictName = "runReadUnigrams";
+ final String dictVersion = Long.toString(System.currentTimeMillis());
+ final File file = BinaryDictUtils.getDictFile(dictName, dictVersion, formatOptions,
+ getContext().getCacheDir());
+
+ // making the dictionary from lists of words.
+ final FusionDictionary dict = new FusionDictionary(new PtNodeArray(),
+ BinaryDictUtils.makeDictionaryOptions(dictName, dictVersion, formatOptions));
+ addUnigrams(words.size(), dict, words);
+ addBigrams(dict, words, bigrams);
+
+ timeWritingDictToFile(file, dict, formatOptions);
+
+ // Caveat: Currently, the Java code to read a v4 dictionary doesn't calculate the
+ // probability when there's a timestamp for the entry.
+ // TODO: Abandon the Java code, and implement the v4 dictionary reading code in native.
+ long wordMap = timeAndCheckReadUnigramsAndBigramsBinary(file, words, bigrams, bufferType,
+ !formatOptions.mHasTimestamp /* checkProbability */);
+ long fullReading = timeReadingAndCheckDict(file, words, bigrams,
+ bufferType);
+
+ return "readDictionaryBinary=" + fullReading + ", readUnigramsAndBigramsBinary=" + wordMap
+ + " : " + message + " : " + outputOptions(bufferType, formatOptions);
+ }
+
+ private void runReadUnigramsAndBigramsTests(final ArrayList<String> results,
+ final int bufferType, final FormatSpec.FormatOptions formatOptions) {
+ results.add(runReadUnigramsAndBigramsBinary(sWords, sEmptyBigrams, bufferType,
+ formatOptions, "unigram"));
+ results.add(runReadUnigramsAndBigramsBinary(sWords, sChainBigrams, bufferType,
+ formatOptions, "chain"));
+ results.add(runReadUnigramsAndBigramsBinary(sWords, sStarBigrams, bufferType,
+ formatOptions, "star"));
+ }
+
+ public void testReadUnigramsAndBigramsBinaryWithByteBuffer() {
+ final ArrayList<String> results = new ArrayList<>();
+
+ runReadUnigramsAndBigramsTests(results, BinaryDictUtils.USE_BYTE_BUFFER,
+ BinaryDictUtils.STATIC_OPTIONS);
+
+ for (final String result : results) {
+ Log.d(TAG, result);
+ }
+ }
+
+ public void testReadUnigramsAndBigramsBinaryWithByteArray() {
+ final ArrayList<String> results = new ArrayList<>();
+
+ runReadUnigramsAndBigramsTests(results, BinaryDictUtils.USE_BYTE_ARRAY,
+ BinaryDictUtils.STATIC_OPTIONS);
+
+ for (final String result : results) {
+ Log.d(TAG, result);
+ }
+ }
+
+ // Tests for getTerminalPosition
+ private static String getWordFromBinary(final DictDecoder dictDecoder, final int address) {
+ if (dictDecoder.getPosition() != 0) dictDecoder.setPosition(0);
+
+ DictionaryHeader fileHeader = null;
+ try {
+ fileHeader = dictDecoder.readHeader();
+ } catch (IOException e) {
+ return null;
+ } catch (UnsupportedFormatException e) {
+ return null;
+ }
+ if (fileHeader == null) return null;
+ return BinaryDictDecoderUtils.getWordAtPosition(dictDecoder, fileHeader.mBodyOffset,
+ address).mWord;
+ }
+
+ private static long checkGetTerminalPosition(final DictDecoder dictDecoder, final String word,
+ final boolean contained) {
+ long diff = -1;
+ int position = -1;
+ try {
+ final long now = System.nanoTime();
+ position = dictDecoder.getTerminalPosition(word);
+ diff = System.nanoTime() - now;
+ } catch (IOException e) {
+ Log.e(TAG, "IOException while getTerminalPosition", e);
+ } catch (UnsupportedFormatException e) {
+ Log.e(TAG, "UnsupportedFormatException while getTerminalPosition", e);
+ }
+
+ assertEquals(FormatSpec.NOT_VALID_WORD != position, contained);
+ if (contained) assertEquals(getWordFromBinary(dictDecoder, position), word);
+ return diff;
+ }
+
+ private void runGetTerminalPosition(final ArrayList<String> words,
+ final SparseArray<List<Integer>> bigrams, final int bufferType,
+ final FormatOptions formatOptions, final String message) {
+ final String dictName = "testGetTerminalPosition";
+ final String dictVersion = Long.toString(System.currentTimeMillis());
+ final File file = BinaryDictUtils.getDictFile(dictName, dictVersion, formatOptions,
+ getContext().getCacheDir());
+
+ final FusionDictionary dict = new FusionDictionary(new PtNodeArray(),
+ BinaryDictUtils.makeDictionaryOptions(dictName, dictVersion, formatOptions));
+ addUnigrams(sWords.size(), dict, sWords);
+ addBigrams(dict, words, bigrams);
+ timeWritingDictToFile(file, dict, formatOptions);
+
+ final DictDecoder dictDecoder = BinaryDictIOUtils.getDictDecoder(file, 0, file.length(),
+ DictDecoder.USE_BYTEARRAY);
+ try {
+ dictDecoder.openDictBuffer();
+ } catch (IOException e) {
+ Log.e(TAG, "IOException while opening the buffer", e);
+ } catch (UnsupportedFormatException e) {
+ Log.e(TAG, "IOException while opening the buffer", e);
+ }
+ assertTrue("Can't get the buffer", dictDecoder.isDictBufferOpen());
+
+ try {
+ // too long word
+ final String longWord = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
+ assertEquals(FormatSpec.NOT_VALID_WORD, dictDecoder.getTerminalPosition(longWord));
+
+ // null
+ assertEquals(FormatSpec.NOT_VALID_WORD, dictDecoder.getTerminalPosition(null));
+
+ // empty string
+ assertEquals(FormatSpec.NOT_VALID_WORD, dictDecoder.getTerminalPosition(""));
+ } catch (IOException e) {
+ } catch (UnsupportedFormatException e) {
+ }
+
+ // Test a word that is contained within the dictionary.
+ long sum = 0;
+ for (int i = 0; i < sWords.size(); ++i) {
+ final long time = checkGetTerminalPosition(dictDecoder, sWords.get(i), true);
+ sum += time == -1 ? 0 : time;
+ }
+ Log.d(TAG, "per search : " + (((double)sum) / sWords.size() / 1000000) + " : " + message
+ + " : " + outputOptions(bufferType, formatOptions));
+
+ // Test a word that isn't contained within the dictionary.
+ final int[] codePointSet = CodePointUtils.generateCodePointSet(DEFAULT_CODE_POINT_SET_SIZE,
+ mRandom);
+ for (int i = 0; i < 1000; ++i) {
+ final String word = CodePointUtils.generateWord(mRandom, codePointSet);
+ if (sWords.indexOf(word) != -1) continue;
+ checkGetTerminalPosition(dictDecoder, word, false);
+ }
+ }
+
+ private void runGetTerminalPositionTests(final int bufferType,
+ final FormatOptions formatOptions) {
+ runGetTerminalPosition(sWords, sEmptyBigrams, bufferType, formatOptions, "unigram");
+ }
+
+ public void testGetTerminalPosition() {
+ final ArrayList<String> results = new ArrayList<>();
+
+ runGetTerminalPositionTests(BinaryDictUtils.USE_BYTE_ARRAY,
+ BinaryDictUtils.STATIC_OPTIONS);
+ runGetTerminalPositionTests(BinaryDictUtils.USE_BYTE_BUFFER,
+ BinaryDictUtils.STATIC_OPTIONS);
+
+ for (final String result : results) {
+ Log.d(TAG, result);
+ }
+ }
+
+ public void testVer2DictGetWordProperty() {
+ final FormatOptions formatOptions = BinaryDictUtils.STATIC_OPTIONS;
+ final ArrayList<String> words = sWords;
+ final String dictName = "testGetWordProperty";
+ final String dictVersion = Long.toString(System.currentTimeMillis());
+ final FusionDictionary dict = new FusionDictionary(new PtNodeArray(),
+ BinaryDictUtils.makeDictionaryOptions(dictName, dictVersion, formatOptions));
+ addUnigrams(words.size(), dict, words);
+ addBigrams(dict, words, sEmptyBigrams);
+ final File file = BinaryDictUtils.getDictFile(dictName, dictVersion, formatOptions,
+ getContext().getCacheDir());
+ file.delete();
+ timeWritingDictToFile(file, dict, formatOptions);
+ final BinaryDictionary binaryDictionary = new BinaryDictionary(file.getAbsolutePath(),
+ 0 /* offset */, file.length(), true /* useFullEditDistance */,
+ Locale.ENGLISH, dictName, false /* isUpdatable */);
+ for (final String word : words) {
+ final WordProperty wordProperty = binaryDictionary.getWordProperty(word,
+ false /* isBeginningOfSentence */);
+ assertEquals(word, wordProperty.mWord);
+ assertEquals(UNIGRAM_FREQ, wordProperty.getProbability());
+ }
+ }
+
+ public void testVer2DictIteration() {
+ final FormatOptions formatOptions = BinaryDictUtils.STATIC_OPTIONS;
+ final ArrayList<String> words = sWords;
+ final SparseArray<List<Integer>> bigrams = sEmptyBigrams;
+ final String dictName = "testGetWordProperty";
+ final String dictVersion = Long.toString(System.currentTimeMillis());
+ final FusionDictionary dict = new FusionDictionary(new PtNodeArray(),
+ BinaryDictUtils.makeDictionaryOptions(dictName, dictVersion, formatOptions));
+ addUnigrams(words.size(), dict, words);
+ addBigrams(dict, words, bigrams);
+ final File file = BinaryDictUtils.getDictFile(dictName, dictVersion, formatOptions,
+ getContext().getCacheDir());
+ timeWritingDictToFile(file, dict, formatOptions);
+ Log.d(TAG, file.getAbsolutePath());
+ final BinaryDictionary binaryDictionary = new BinaryDictionary(file.getAbsolutePath(),
+ 0 /* offset */, file.length(), true /* useFullEditDistance */,
+ Locale.ENGLISH, dictName, false /* isUpdatable */);
+
+ final HashSet<String> wordSet = new HashSet<>(words);
+ final HashSet<Pair<String, String>> bigramSet = new HashSet<>();
+
+ for (int i = 0; i < words.size(); i++) {
+ final List<Integer> bigramList = bigrams.get(i);
+ if (bigramList != null) {
+ for (final Integer word1Index : bigramList) {
+ final String word1 = words.get(word1Index);
+ bigramSet.add(new Pair<>(words.get(i), word1));
+ }
+ }
+ }
+ int token = 0;
+ do {
+ final BinaryDictionary.GetNextWordPropertyResult result =
+ binaryDictionary.getNextWordProperty(token);
+ final WordProperty wordProperty = result.mWordProperty;
+ final String word0 = wordProperty.mWord;
+ assertEquals(UNIGRAM_FREQ, wordProperty.mProbabilityInfo.mProbability);
+ wordSet.remove(word0);
+ if (wordProperty.mHasNgrams) {
+ for (final WeightedString bigramTarget : wordProperty.getBigrams()) {
+ final String word1 = bigramTarget.mWord;
+ final Pair<String, String> bigram = new Pair<>(word0, word1);
+ assertTrue(bigramSet.contains(bigram));
+ bigramSet.remove(bigram);
+ }
+ }
+ token = result.mNextToken;
+ } while (token != 0);
+ assertTrue(wordSet.isEmpty());
+ assertTrue(bigramSet.isEmpty());
+ }
+}
diff --git a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictUtils.java b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictUtils.java
new file mode 100644
index 000000000..9c1e4cf84
--- /dev/null
+++ b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictUtils.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 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.
+ */
+
+package com.android.inputmethod.latin.makedict;
+
+import com.android.inputmethod.latin.makedict.FormatSpec.DictionaryOptions;
+import com.android.inputmethod.latin.makedict.FormatSpec.FormatOptions;
+
+import java.io.File;
+import java.util.HashMap;
+
+public class BinaryDictUtils {
+ public static final int USE_BYTE_ARRAY = 1;
+ public static final int USE_BYTE_BUFFER = 2;
+
+ public static final String TEST_DICT_FILE_EXTENSION = ".testDict";
+
+ public static final FormatSpec.FormatOptions STATIC_OPTIONS =
+ new FormatSpec.FormatOptions(FormatSpec.VERSION202);
+ public static final FormatSpec.FormatOptions DYNAMIC_OPTIONS_WITHOUT_TIMESTAMP =
+ new FormatSpec.FormatOptions(FormatSpec.VERSION4, false /* hasTimestamp */);
+ public static final FormatSpec.FormatOptions DYNAMIC_OPTIONS_WITH_TIMESTAMP =
+ new FormatSpec.FormatOptions(FormatSpec.VERSION4, true /* hasTimestamp */);
+
+ public static DictionaryOptions makeDictionaryOptions(final String id, final String version,
+ final FormatSpec.FormatOptions formatOptions) {
+ final DictionaryOptions options = new DictionaryOptions(new HashMap<String, String>());
+ options.mAttributes.put(DictionaryHeader.DICTIONARY_LOCALE_KEY, "en_US");
+ options.mAttributes.put(DictionaryHeader.DICTIONARY_ID_KEY, id);
+ options.mAttributes.put(DictionaryHeader.DICTIONARY_VERSION_KEY, version);
+ if (formatOptions.mHasTimestamp) {
+ options.mAttributes.put(DictionaryHeader.HAS_HISTORICAL_INFO_KEY,
+ DictionaryHeader.ATTRIBUTE_VALUE_TRUE);
+ options.mAttributes.put(DictionaryHeader.USES_FORGETTING_CURVE_KEY,
+ DictionaryHeader.ATTRIBUTE_VALUE_TRUE);
+ }
+ return options;
+ }
+
+ public static File getDictFile(final String name, final String version,
+ final FormatOptions formatOptions, final File directory) {
+ if (formatOptions.mVersion == FormatSpec.VERSION2
+ || formatOptions.mVersion == FormatSpec.VERSION201
+ || formatOptions.mVersion == FormatSpec.VERSION202) {
+ return new File(directory, name + "." + version + TEST_DICT_FILE_EXTENSION);
+ } else if (formatOptions.mVersion == FormatSpec.VERSION4) {
+ return new File(directory, name + "." + version);
+ } else {
+ throw new RuntimeException("the format option has a wrong version : "
+ + formatOptions.mVersion);
+ }
+ }
+
+ public static DictEncoder getDictEncoder(final File file, final FormatOptions formatOptions) {
+ if (formatOptions.mVersion == FormatSpec.VERSION4) {
+ if (!file.isDirectory()) {
+ file.mkdir();
+ }
+ return new Ver4DictEncoder(file);
+ } else if (formatOptions.mVersion == FormatSpec.VERSION202) {
+ return new Ver2DictEncoder(file, Ver2DictEncoder.CODE_POINT_TABLE_OFF);
+ } else {
+ throw new RuntimeException("The format option has a wrong version : "
+ + formatOptions.mVersion);
+ }
+ }
+}
diff --git a/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java b/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java
new file mode 100644
index 000000000..c63b972eb
--- /dev/null
+++ b/tests/src/com/android/inputmethod/latin/makedict/Ver2DictEncoder.java
@@ -0,0 +1,279 @@
+/*
+ * Copyright (C) 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.
+ */
+
+package com.android.inputmethod.latin.makedict;
+
+import com.android.inputmethod.annotations.UsedForTesting;
+import com.android.inputmethod.latin.makedict.BinaryDictDecoderUtils.CharEncoding;
+import com.android.inputmethod.latin.makedict.BinaryDictEncoderUtils.CodePointTable;
+import com.android.inputmethod.latin.makedict.FormatSpec.FormatOptions;
+import com.android.inputmethod.latin.makedict.FusionDictionary.PtNode;
+import com.android.inputmethod.latin.makedict.FusionDictionary.PtNodeArray;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map.Entry;
+
+/**
+ * An implementation of DictEncoder for version 2 binary dictionary.
+ */
+@UsedForTesting
+public class Ver2DictEncoder implements DictEncoder {
+
+ private final File mDictFile;
+ private OutputStream mOutStream;
+ private byte[] mBuffer;
+ private int mPosition;
+ private final int mCodePointTableMode;
+ public static final int CODE_POINT_TABLE_OFF = 0;
+ public static final int CODE_POINT_TABLE_ON = 1;
+
+ @UsedForTesting
+ public Ver2DictEncoder(final File dictFile, final int codePointTableMode) {
+ mDictFile = dictFile;
+ mOutStream = null;
+ mBuffer = null;
+ mCodePointTableMode = codePointTableMode;
+ }
+
+ // This constructor is used only by BinaryDictOffdeviceUtilsTests.
+ // If you want to use this in the production code, you should consider keeping consistency of
+ // the interface of Ver3DictDecoder by using factory.
+ @UsedForTesting
+ public Ver2DictEncoder(final OutputStream outStream) {
+ mDictFile = null;
+ mOutStream = outStream;
+ mCodePointTableMode = CODE_POINT_TABLE_OFF;
+ }
+
+ private void openStream() throws FileNotFoundException {
+ mOutStream = new FileOutputStream(mDictFile);
+ }
+
+ private void close() throws IOException {
+ if (mOutStream != null) {
+ mOutStream.close();
+ mOutStream = null;
+ }
+ }
+
+ // Package for testing
+ static CodePointTable makeCodePointTable(final FusionDictionary dict) {
+ final HashMap<Integer, Integer> codePointOccurrenceCounts = new HashMap<>();
+ for (final WordProperty word : dict) {
+ // Store per code point occurrence
+ final String wordString = word.mWord;
+ for (int i = 0; i < wordString.length(); ++i) {
+ final int codePoint = Character.codePointAt(wordString, i);
+ if (codePointOccurrenceCounts.containsKey(codePoint)) {
+ codePointOccurrenceCounts.put(codePoint,
+ codePointOccurrenceCounts.get(codePoint) + 1);
+ } else {
+ codePointOccurrenceCounts.put(codePoint, 1);
+ }
+ }
+ }
+ final ArrayList<Entry<Integer, Integer>> codePointOccurrenceArray =
+ new ArrayList<>(codePointOccurrenceCounts.entrySet());
+ // Descending order sort by occurrence (value side)
+ Collections.sort(codePointOccurrenceArray, new Comparator<Entry<Integer, Integer>>() {
+ @Override
+ public int compare(final Entry<Integer, Integer> a, final Entry<Integer, Integer> b) {
+ if (a.getValue() != b.getValue()) {
+ return b.getValue().compareTo(a.getValue());
+ }
+ return b.getKey().compareTo(a.getKey());
+ }
+ });
+ int currentCodePointTableIndex = FormatSpec.MINIMAL_ONE_BYTE_CHARACTER_VALUE;
+ // Temporary map for writing of nodes
+ final HashMap<Integer, Integer> codePointToOneByteCodeMap = new HashMap<>();
+ for (final Entry<Integer, Integer> entry : codePointOccurrenceArray) {
+ // Put a relation from the original code point to the one byte code.
+ codePointToOneByteCodeMap.put(entry.getKey(), currentCodePointTableIndex);
+ if (FormatSpec.MAXIMAL_ONE_BYTE_CHARACTER_VALUE < ++currentCodePointTableIndex) {
+ break;
+ }
+ }
+ // codePointToOneByteCodeMap for writing the trie
+ // codePointOccurrenceArray for writing the header
+ return new CodePointTable(codePointToOneByteCodeMap, codePointOccurrenceArray);
+ }
+
+ @Override
+ public void writeDictionary(final FusionDictionary dict, final FormatOptions formatOptions)
+ throws IOException, UnsupportedFormatException {
+ // We no longer support anything but the latest version of v2.
+ if (formatOptions.mVersion != FormatSpec.VERSION202) {
+ throw new UnsupportedFormatException(
+ "The given format options has wrong version number : "
+ + formatOptions.mVersion);
+ }
+
+ if (mOutStream == null) {
+ openStream();
+ }
+
+ // Make code point conversion table ordered by occurrence of code points
+ // Version 201 or later have codePointTable
+ final CodePointTable codePointTable;
+ if (mCodePointTableMode == CODE_POINT_TABLE_OFF || formatOptions.mVersion
+ < FormatSpec.MINIMUM_SUPPORTED_VERSION_OF_CODE_POINT_TABLE) {
+ codePointTable = new CodePointTable();
+ } else {
+ codePointTable = makeCodePointTable(dict);
+ }
+
+ BinaryDictEncoderUtils.writeDictionaryHeader(mOutStream, dict, formatOptions,
+ codePointTable.mCodePointOccurrenceArray);
+
+ // Addresses are limited to 3 bytes, but since addresses can be relative to each node
+ // array, the structure itself is not limited to 16MB. However, if it is over 16MB deciding
+ // the order of the PtNode arrays becomes a quite complicated problem, because though the
+ // dictionary itself does not have a size limit, each node array must still be within 16MB
+ // of all its children and parents. As long as this is ensured, the dictionary file may
+ // grow to any size.
+
+ // Leave the choice of the optimal node order to the flattenTree function.
+ MakedictLog.i("Flattening the tree...");
+ ArrayList<PtNodeArray> flatNodes = BinaryDictEncoderUtils.flattenTree(dict.mRootNodeArray);
+
+ MakedictLog.i("Computing addresses...");
+ BinaryDictEncoderUtils.computeAddresses(dict, flatNodes,
+ codePointTable.mCodePointToOneByteCodeMap);
+ MakedictLog.i("Checking PtNode array...");
+ if (MakedictLog.DBG) BinaryDictEncoderUtils.checkFlatPtNodeArrayList(flatNodes);
+
+ // Create a buffer that matches the final dictionary size.
+ final PtNodeArray lastNodeArray = flatNodes.get(flatNodes.size() - 1);
+ final int bufferSize = lastNodeArray.mCachedAddressAfterUpdate + lastNodeArray.mCachedSize;
+ mBuffer = new byte[bufferSize];
+
+ MakedictLog.i("Writing file...");
+
+ for (PtNodeArray nodeArray : flatNodes) {
+ BinaryDictEncoderUtils.writePlacedPtNodeArray(dict, this, nodeArray,
+ codePointTable.mCodePointToOneByteCodeMap);
+ }
+ if (MakedictLog.DBG) BinaryDictEncoderUtils.showStatistics(flatNodes);
+ mOutStream.write(mBuffer, 0, mPosition);
+
+ MakedictLog.i("Done");
+ close();
+ }
+
+ @Override
+ public void setPosition(final int position) {
+ if (mBuffer == null || position < 0 || position >= mBuffer.length) return;
+ mPosition = position;
+ }
+
+ @Override
+ public int getPosition() {
+ return mPosition;
+ }
+
+ @Override
+ public void writePtNodeCount(final int ptNodeCount) {
+ final int countSize = BinaryDictIOUtils.getPtNodeCountSize(ptNodeCount);
+ if (countSize != 1 && countSize != 2) {
+ throw new RuntimeException("Strange size from getGroupCountSize : " + countSize);
+ }
+ final int encodedPtNodeCount = (countSize == 2) ?
+ (ptNodeCount | FormatSpec.LARGE_PTNODE_ARRAY_SIZE_FIELD_SIZE_FLAG) : ptNodeCount;
+ mPosition = BinaryDictEncoderUtils.writeUIntToBuffer(mBuffer, mPosition, encodedPtNodeCount,
+ countSize);
+ }
+
+ private void writePtNodeFlags(final PtNode ptNode,
+ final HashMap<Integer, Integer> codePointToOneByteCodeMap) {
+ final int childrenPos = BinaryDictEncoderUtils.getChildrenPosition(ptNode,
+ codePointToOneByteCodeMap);
+ mPosition = BinaryDictEncoderUtils.writeUIntToBuffer(mBuffer, mPosition,
+ BinaryDictEncoderUtils.makePtNodeFlags(ptNode, childrenPos),
+ FormatSpec.PTNODE_FLAGS_SIZE);
+ }
+
+ private void writeCharacters(final int[] codePoints, final boolean hasSeveralChars,
+ final HashMap<Integer, Integer> codePointToOneByteCodeMap) {
+ mPosition = CharEncoding.writeCharArray(codePoints, mBuffer, mPosition,
+ codePointToOneByteCodeMap);
+ if (hasSeveralChars) {
+ mBuffer[mPosition++] = FormatSpec.PTNODE_CHARACTERS_TERMINATOR;
+ }
+ }
+
+ private void writeFrequency(final int frequency) {
+ if (frequency >= 0) {
+ mPosition = BinaryDictEncoderUtils.writeUIntToBuffer(mBuffer, mPosition, frequency,
+ FormatSpec.PTNODE_FREQUENCY_SIZE);
+ }
+ }
+
+ private void writeChildrenPosition(final PtNode ptNode,
+ final HashMap<Integer, Integer> codePointToOneByteCodeMap) {
+ final int childrenPos = BinaryDictEncoderUtils.getChildrenPosition(ptNode,
+ codePointToOneByteCodeMap);
+ mPosition += BinaryDictEncoderUtils.writeChildrenPosition(mBuffer, mPosition,
+ childrenPos);
+ }
+
+ /**
+ * Write a bigram attributes list to mBuffer.
+ *
+ * @param bigrams the bigram attributes list.
+ * @param dict the dictionary the node array is a part of (for relative offsets).
+ */
+ private void writeBigrams(final ArrayList<WeightedString> bigrams,
+ final FusionDictionary dict) {
+ if (bigrams == null) return;
+
+ final Iterator<WeightedString> bigramIterator = bigrams.iterator();
+ while (bigramIterator.hasNext()) {
+ final WeightedString bigram = bigramIterator.next();
+ final PtNode target =
+ FusionDictionary.findWordInTree(dict.mRootNodeArray, bigram.mWord);
+ final int addressOfBigram = target.mCachedAddressAfterUpdate;
+ final int unigramFrequencyForThisWord = target.getProbability();
+ final int offset = addressOfBigram
+ - (mPosition + FormatSpec.PTNODE_ATTRIBUTE_FLAGS_SIZE);
+ final int bigramFlags = BinaryDictEncoderUtils.makeBigramFlags(bigramIterator.hasNext(),
+ offset, bigram.getProbability(), unigramFrequencyForThisWord, bigram.mWord);
+ mPosition = BinaryDictEncoderUtils.writeUIntToBuffer(mBuffer, mPosition, bigramFlags,
+ FormatSpec.PTNODE_ATTRIBUTE_FLAGS_SIZE);
+ mPosition += BinaryDictEncoderUtils.writeChildrenPosition(mBuffer, mPosition,
+ Math.abs(offset));
+ }
+ }
+
+ @Override
+ public void writePtNode(final PtNode ptNode, final FusionDictionary dict,
+ final HashMap<Integer, Integer> codePointToOneByteCodeMap) {
+ writePtNodeFlags(ptNode, codePointToOneByteCodeMap);
+ writeCharacters(ptNode.mChars, ptNode.hasSeveralChars(), codePointToOneByteCodeMap);
+ writeFrequency(ptNode.getProbability());
+ writeChildrenPosition(ptNode, codePointToOneByteCodeMap);
+ writeBigrams(ptNode.mBigrams, dict);
+ }
+}
diff --git a/tests/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java b/tests/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java
new file mode 100644
index 000000000..6e7b37d54
--- /dev/null
+++ b/tests/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 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.
+ */
+
+package com.android.inputmethod.latin.makedict;
+
+import com.android.inputmethod.annotations.UsedForTesting;
+import com.android.inputmethod.latin.BinaryDictionary;
+import com.android.inputmethod.latin.Dictionary;
+import com.android.inputmethod.latin.NgramContext;
+import com.android.inputmethod.latin.common.LocaleUtils;
+import com.android.inputmethod.latin.makedict.FormatSpec.FormatOptions;
+import com.android.inputmethod.latin.makedict.FusionDictionary.PtNode;
+import com.android.inputmethod.latin.utils.BinaryDictionaryUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+
+/**
+ * An implementation of DictEncoder for version 4 binary dictionary.
+ */
+@UsedForTesting
+public class Ver4DictEncoder implements DictEncoder {
+ private final File mDictPlacedDir;
+
+ @UsedForTesting
+ public Ver4DictEncoder(final File dictPlacedDir) {
+ mDictPlacedDir = dictPlacedDir;
+ }
+
+ // TODO: This builds a FusionDictionary first and iterates it to add words to the binary
+ // dictionary. However, it is possible to just add words directly to the binary dictionary
+ // instead.
+ // In the long run, when we stop supporting version 2, FusionDictionary will become deprecated
+ // and we can remove it. Then we'll be able to just call BinaryDictionary directly.
+ @Override
+ public void writeDictionary(FusionDictionary dict, FormatOptions formatOptions)
+ throws IOException, UnsupportedFormatException {
+ if (formatOptions.mVersion != FormatSpec.VERSION4) {
+ throw new UnsupportedFormatException("File header has a wrong version number : "
+ + formatOptions.mVersion);
+ }
+ if (!mDictPlacedDir.isDirectory()) {
+ throw new UnsupportedFormatException("Given path is not a directory.");
+ }
+ if (!BinaryDictionaryUtils.createEmptyDictFile(mDictPlacedDir.getAbsolutePath(),
+ FormatSpec.VERSION4, LocaleUtils.constructLocaleFromString(
+ dict.mOptions.mAttributes.get(DictionaryHeader.DICTIONARY_LOCALE_KEY)),
+ dict.mOptions.mAttributes)) {
+ throw new IOException("Cannot create dictionary file : "
+ + mDictPlacedDir.getAbsolutePath());
+ }
+ final BinaryDictionary binaryDict = new BinaryDictionary(mDictPlacedDir.getAbsolutePath(),
+ 0l, mDictPlacedDir.length(), true /* useFullEditDistance */,
+ LocaleUtils.constructLocaleFromString(dict.mOptions.mAttributes.get(
+ DictionaryHeader.DICTIONARY_LOCALE_KEY)),
+ Dictionary.TYPE_USER /* Dictionary type. Does not matter for us */,
+ true /* isUpdatable */);
+ if (!binaryDict.isValidDictionary()) {
+ // Somehow createEmptyDictFile returned true, but the file was not created correctly
+ throw new IOException("Cannot create dictionary file");
+ }
+ for (final WordProperty wordProperty : dict) {
+ if (!binaryDict.addUnigramEntry(wordProperty.mWord, wordProperty.getProbability(),
+ wordProperty.mIsBeginningOfSentence, wordProperty.mIsNotAWord,
+ wordProperty.mIsPossiblyOffensive, 0 /* timestamp */)) {
+ MakedictLog.e("Cannot add unigram entry for " + wordProperty.mWord);
+ }
+ if (binaryDict.needsToRunGC(true /* mindsBlockByGC */)) {
+ if (!binaryDict.flushWithGC()) {
+ MakedictLog.e("Cannot flush dict with GC.");
+ return;
+ }
+ }
+ }
+ for (final WordProperty word0Property : dict) {
+ if (!word0Property.mHasNgrams) continue;
+ // TODO: Support ngram.
+ for (final WeightedString word1 : word0Property.getBigrams()) {
+ final NgramContext ngramContext =
+ new NgramContext(new NgramContext.WordInfo(word0Property.mWord));
+ if (!binaryDict.addNgramEntry(ngramContext, word1.mWord,
+ word1.getProbability(), 0 /* timestamp */)) {
+ MakedictLog.e("Cannot add n-gram entry for "
+ + ngramContext + " -> " + word1.mWord);
+ return;
+ }
+ if (binaryDict.needsToRunGC(true /* mindsBlockByGC */)) {
+ if (!binaryDict.flushWithGC()) {
+ MakedictLog.e("Cannot flush dict with GC.");
+ return;
+ }
+ }
+ }
+ }
+ if (!binaryDict.flushWithGC()) {
+ MakedictLog.e("Cannot flush dict with GC.");
+ return;
+ }
+ binaryDict.close();
+ }
+
+ @Override
+ public void setPosition(int position) {
+ }
+
+ @Override
+ public int getPosition() {
+ return 0;
+ }
+
+ @Override
+ public void writePtNodeCount(int ptNodeCount) {
+ }
+
+ @Override
+ public void writePtNode(PtNode ptNode, FusionDictionary dict,
+ HashMap<Integer, Integer> codePointToOneByteCodeMap) {
+ }
+}
diff --git a/tools/Android.mk b/tools/Android.mk
deleted file mode 100644
index 91b2fbbb0..000000000
--- a/tools/Android.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (C) 2010 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.
-
-include $(call all-subdir-makefiles)
diff --git a/tools/dicttool/Android.bp b/tools/dicttool/Android.bp
new file mode 100644
index 000000000..83b4ed32c
--- /dev/null
+++ b/tools/dicttool/Android.bp
@@ -0,0 +1,32 @@
+// Copyright (C) 2012 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+java_binary_host {
+ name: "dicttool_aosp",
+
+ srcs: [
+ "src/**/*.java",
+ "tests/**/*.java",
+ "compat/**/*.java",
+ ":dicttool_deps",
+ ],
+
+ libs: ["junit"],
+ static_libs: [
+ "jsr305",
+ "latinime-common",
+ ],
+ required: ["libjni_latinime"],
+ main_class: "com.android.inputmethod.latin.dicttool.Dicttool",
+}
diff --git a/tools/dicttool/Android.mk b/tools/dicttool/Android.mk
deleted file mode 100644
index 49816294f..000000000
--- a/tools/dicttool/Android.mk
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# Copyright (C) 2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Only build if it's explicitly requested, or running mm/mmm.
-ifneq ($(ONE_SHOT_MAKEFILE)$(filter $(MAKECMDGOALS),dicttool_aosp),)
-
-LATINIME_DICTTOOL_AOSP_LOCAL_PATH := $(call my-dir)
-LOCAL_PATH := $(LATINIME_DICTTOOL_AOSP_LOCAL_PATH)
-LATINIME_HOST_NATIVE_LIBNAME := liblatinime-aosp-dicttool-host
-include $(LOCAL_PATH)/NativeLib.mk
-
-######################################
-LOCAL_PATH := $(LATINIME_DICTTOOL_AOSP_LOCAL_PATH)
-include $(CLEAR_VARS)
-
-LATINIME_LOCAL_DIR := ../..
-LATINIME_BASE_SRC_DIR := $(LATINIME_LOCAL_DIR)/java/src/com/android/inputmethod
-LATINIME_BASE_OVERRIDABLE_SRC_DIR := \
- $(LATINIME_LOCAL_DIR)/java-overridable/src/com/android/inputmethod
-MAKEDICT_CORE_SRC_DIR := $(LATINIME_BASE_SRC_DIR)/latin/makedict
-LATINIME_TESTS_SRC_DIR := $(LATINIME_LOCAL_DIR)/tests/src/com/android/inputmethod/latin
-
-# Dependencies for Dicttool. Most of these files are needed by BinaryDictionary.java. Note that
-# a significant part of the dependencies are mocked in the compat/ directory, with empty or
-# nearly-empty implementations, for parts that we don't use in Dicttool.
-LATINIME_SRC_FILES_FOR_DICTTOOL := \
- latin/BinaryDictionary.java \
- latin/DicTraverseSession.java \
- latin/Dictionary.java \
- latin/NgramContext.java \
- latin/SuggestedWords.java \
- latin/settings/SettingsValuesForSuggestion.java \
- latin/utils/BinaryDictionaryUtils.java \
- latin/utils/CombinedFormatUtils.java \
- latin/utils/JniUtils.java
-
-LATINIME_OVERRIDABLE_SRC_FILES_FOR_DICTTOOL := \
- latin/define/DebugFlags.java
-
-LATINIME_TEST_SRC_FILES_FOR_DICTTOOL := \
- utils/ByteArrayDictBuffer.java
-
-USED_TARGETED_SRC_FILES := \
- $(addprefix $(LATINIME_BASE_SRC_DIR)/, $(LATINIME_SRC_FILES_FOR_DICTTOOL)) \
- $(addprefix $(LATINIME_BASE_OVERRIDABLE_SRC_DIR)/, \
- $(LATINIME_OVERRIDABLE_SRC_FILES_FOR_DICTTOOL)) \
- $(addprefix $(LATINIME_TESTS_SRC_DIR)/, $(LATINIME_TEST_SRC_FILES_FOR_DICTTOOL))
-
-DICTTOOL_ONDEVICE_TESTS_DIR := \
- $(LATINIME_LOCAL_DIR)/tests/src/com/android/inputmethod/latin/makedict/
-DICTTOOL_COMPAT_TESTS_DIR := compat
-
-LOCAL_MAIN_SRC_FILES := $(call all-java-files-under, $(MAKEDICT_CORE_SRC_DIR))
-LOCAL_TOOL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_SRC_FILES := $(LOCAL_TOOL_SRC_FILES) \
- $(filter-out $(addprefix %/, $(notdir $(LOCAL_TOOL_SRC_FILES))), $(LOCAL_MAIN_SRC_FILES)) \
- $(USED_TARGETED_SRC_FILES) \
- $(call all-java-files-under, \
- tests $(DICTTOOL_COMPAT_TESTS_DIR) $(DICTTOOL_ONDEVICE_TESTS_DIR))
-
-LOCAL_JAVA_LIBRARIES := junit-host
-LOCAL_STATIC_JAVA_LIBRARIES := jsr305lib latinime-common-host
-LOCAL_REQUIRED_MODULES := $(LATINIME_HOST_NATIVE_LIBNAME)
-LOCAL_JAR_MANIFEST := etc/manifest.txt
-LOCAL_MODULE := dicttool_aosp
-
-include $(BUILD_HOST_JAVA_LIBRARY)
-include $(LOCAL_PATH)/etc/Android.mk
-
-# Clear our private variables
-LATINIME_DICTTOOL_AOSP_LOCAL_PATH :=
-LATINIME_LOCAL_DIR :=
-
-endif
diff --git a/tools/dicttool/NativeLib.mk b/tools/dicttool/NativeLib.mk
deleted file mode 100644
index 510f18c4e..000000000
--- a/tools/dicttool/NativeLib.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright (C) 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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# Need to define the name of the library in the caller in LATINIME_HOST_NATIVE_LIBNAME
-
-LATINIME_DIR_RELATIVE_TO_DICTTOOL := ../..
-
-ifeq ($(FLAG_DBG), true)
- $(warning Making debug version of native library)
- LOCAL_CFLAGS += -DFLAG_DBG -funwind-tables -fno-inline
-endif #FLAG_DBG
-
-LOCAL_CFLAGS += -DHOST_TOOL -fPIC -Wno-deprecated -Wno-unused-parameter -Wno-unused-function
-
-LATINIME_NATIVE_JNI_DIR := $(LATINIME_DIR_RELATIVE_TO_DICTTOOL)/native/jni
-LATINIME_NATIVE_SRC_DIR := $(LATINIME_DIR_RELATIVE_TO_DICTTOOL)/native/jni/src
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(LATINIME_NATIVE_SRC_DIR)
-
-include $(LOCAL_PATH)/$(LATINIME_NATIVE_JNI_DIR)/NativeFileList.mk
-
-LOCAL_SRC_FILES := \
- $(addprefix $(LATINIME_NATIVE_JNI_DIR)/, $(LATIN_IME_JNI_SRC_FILES)) \
- $(addprefix $(LATINIME_NATIVE_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
-
-LOCAL_MODULE := $(LATINIME_HOST_NATIVE_LIBNAME)
-
-include $(BUILD_HOST_SHARED_LIBRARY)
-
-# Clear our private variables
-include $(LOCAL_PATH)/$(LATINIME_NATIVE_JNI_DIR)/CleanupNativeFileList.mk
-LATINIME_DIR_RELATIVE_TO_DICTTOOL := ../..
diff --git a/tools/dicttool/compat/com/android/inputmethod/latin/define/JniLibName.java b/tools/dicttool/compat/com/android/inputmethod/latin/define/JniLibName.java
index d6d5e2d61..93ac1980a 100644
--- a/tools/dicttool/compat/com/android/inputmethod/latin/define/JniLibName.java
+++ b/tools/dicttool/compat/com/android/inputmethod/latin/define/JniLibName.java
@@ -21,5 +21,5 @@ public final class JniLibName {
// This class is not publicly instantiable.
}
- public static final String JNI_LIB_NAME = "latinime-aosp-dicttool-host";
+ public static final String JNI_LIB_NAME = "jni_latinime";
}
diff --git a/tools/dicttool/etc/Android.mk b/tools/dicttool/etc/Android.mk
deleted file mode 100644
index 0c611b7e9..000000000
--- a/tools/dicttool/etc/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (C) 2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_PREBUILT_EXECUTABLES := dicttool_aosp makedict_aosp
-include $(BUILD_HOST_PREBUILT)
diff --git a/tools/dicttool/etc/dicttool_aosp b/tools/dicttool/etc/dicttool_aosp
deleted file mode 100755
index fc918f0f8..000000000
--- a/tools/dicttool/etc/dicttool_aosp
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/sh
-# Copyright 2011, 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.
-
-# Set up prog to be the path of this script, including following symlinks,
-# and set up progdir to be the fully-qualified pathname of its directory.
-prog="$0"
-while [ -h "${prog}" ]; do
- newProg=`/bin/ls -ld "${prog}"`
- newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
- if expr "x${newProg}" : 'x/' >/dev/null; then
- prog="${newProg}"
- else
- progdir=`dirname "${prog}"`
- prog="${progdir}/${newProg}"
- fi
-done
-oldwd=`pwd`
-progdir=`dirname "${prog}"`
-cd "${progdir}"
-progdir=`pwd`
-prog="${progdir}"/`basename "${prog}"`
-cd "${oldwd}"
-
-classname=com.android.inputmethod.latin.dicttool.Dicttool
-jarfile=dicttool_aosp.jar
-frameworkdir="$progdir"
-if [ ! -r "$frameworkdir/$jarfile" ]
-then
- frameworkdir=`dirname "$progdir"`/framework
- libdir=`dirname "$progdir"`/lib64
-fi
-if [ ! -r "$frameworkdir/$jarfile" ]
-then
- echo `basename "$prog"`": can't find $jarfile"
- exit 1
-fi
-
-lib=junit.jar
-if [ ! -r "$frameworkdir/$lib" ]
-then
- echo `basename "$prog"`": can't find lib $lib"
- exit 1
-fi
-
-if [ "$OSTYPE" = "cygwin" ] ; then
- jarpath=`cygpath -w "$frameworkdir/$jarfile"`
- libpath=`cygpath -w "$frameworkdir/$lib"`
- progdir=`cygpath -w "$progdir"`
-else
- jarpath="$frameworkdir/$jarfile"
- libpath="$frameworkdir/$lib"
-fi
-
-# might need more memory, e.g. -Xmx128M
-exec java -ea -classpath "$libpath":"$jarpath" -Djava.library.path="$libdir" "$classname" "$@"
diff --git a/tools/dicttool/etc/makedict_aosp b/tools/dicttool/etc/makedict_aosp
deleted file mode 100755
index 095c50538..000000000
--- a/tools/dicttool/etc/makedict_aosp
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2012, The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Dicttool supports making the dictionary using the 'makedict' command and
-# the same arguments that the old 'makedict' command used to accept.
-dicttool_aosp makedict $@
diff --git a/tools/dicttool/etc/manifest.txt b/tools/dicttool/etc/manifest.txt
deleted file mode 100644
index 67c85214c..000000000
--- a/tools/dicttool/etc/manifest.txt
+++ /dev/null
@@ -1 +0,0 @@
-Main-Class: com.android.inputmethod.latin.dicttool.Dicttool
diff --git a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/CombinedInputOutput.java b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/CombinedInputOutput.java
index 955c5728c..5e7aca5bb 100644
--- a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/CombinedInputOutput.java
+++ b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/CombinedInputOutput.java
@@ -106,8 +106,7 @@ public class CombinedInputOutput {
final String args[] = line.trim().split(",");
if (args[0].matches(CombinedFormatUtils.WORD_TAG + "=.*")) {
if (null != word) {
- dict.add(word, probabilityInfo, shortcuts.isEmpty() ? null : shortcuts,
- isNotAWord, isPossiblyOffensive);
+ dict.add(word, probabilityInfo, isNotAWord, isPossiblyOffensive);
for (WeightedString s : bigrams) {
dict.setBigram(word, s.mWord, s.mProbabilityInfo);
}
@@ -148,25 +147,6 @@ public class CombinedInputOutput {
break;
}
}
- } else if (args[0].matches(CombinedFormatUtils.SHORTCUT_TAG + "=.*")) {
- String shortcut = null;
- int shortcutFreq = 0;
- for (String param : args) {
- final String params[] = param.split("=", 2);
- if (2 != params.length) throw new RuntimeException("Wrong format : " + line);
- if (CombinedFormatUtils.SHORTCUT_TAG.equals(params[0])) {
- shortcut = params[1];
- } else if (CombinedFormatUtils.PROBABILITY_TAG.equals(params[0])) {
- shortcutFreq = WHITELIST_TAG.equals(params[1])
- ? FormatSpec.SHORTCUT_WHITELIST_FREQUENCY
- : Integer.parseInt(params[1]);
- }
- }
- if (null != shortcut) {
- shortcuts.add(new WeightedString(shortcut, shortcutFreq));
- } else {
- throw new RuntimeException("Wrong format : " + line);
- }
} else if (args[0].matches(CombinedFormatUtils.BIGRAM_TAG + "=.*")) {
String secondWordOfBigram = null;
ProbabilityInfo bigramProbabilityInfo = new ProbabilityInfo(0);
@@ -200,8 +180,7 @@ public class CombinedInputOutput {
}
}
if (null != word) {
- dict.add(word, probabilityInfo, shortcuts.isEmpty() ? null : shortcuts, isNotAWord,
- isPossiblyOffensive);
+ dict.add(word, probabilityInfo, isNotAWord, isPossiblyOffensive);
for (WeightedString s : bigrams) {
dict.setBigram(word, s.mWord, s.mProbabilityInfo);
}
diff --git a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Diff.java b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Diff.java
index f97fbef2c..4ba7e1309 100644
--- a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Diff.java
+++ b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Diff.java
@@ -136,9 +136,6 @@ public class Diff extends Dicttool.Command {
}
hasDifferences |= hasAttributesDifferencesAndPrintThemIfAny(word0Property.mWord,
"Bigram", word0Property.getBigrams(), word1PtNode.getBigrams());
- hasDifferences |= hasAttributesDifferencesAndPrintThemIfAny(word0Property.mWord,
- "Shortcut", word0Property.mShortcutTargets,
- word1PtNode.getShortcutTargets());
}
}
for (final WordProperty word1Property : dict1) {
diff --git a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Info.java b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Info.java
index b8a64e31a..d516d60c3 100644
--- a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Info.java
+++ b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Info.java
@@ -48,15 +48,6 @@ public class Info extends Dicttool.Command {
if (wordProperty.mHasNgrams) {
bigramCount += wordProperty.mNgrams.size();
}
- if (null != wordProperty.mShortcutTargets) {
- shortcutCount += wordProperty.mShortcutTargets.size();
- for (WeightedString shortcutTarget : wordProperty.mShortcutTargets) {
- if (FormatSpec.SHORTCUT_WHITELIST_FREQUENCY
- == shortcutTarget.getProbability()) {
- ++whitelistCount;
- }
- }
- }
}
System.out.println("Words in the dictionary : " + wordCount);
System.out.println("Bigram count : " + bigramCount);
@@ -78,17 +69,6 @@ public class Info extends Dicttool.Command {
if (ptNode.getIsPossiblyOffensive()) {
System.out.println(" Is possibly offensive");
}
- final ArrayList<WeightedString> shortcutTargets = ptNode.getShortcutTargets();
- if (null == shortcutTargets || shortcutTargets.isEmpty()) {
- System.out.println(" No shortcuts");
- } else {
- for (final WeightedString shortcutTarget : shortcutTargets) {
- System.out.println(" Shortcut target: " + shortcutTarget.mWord + " ("
- + (FormatSpec.SHORTCUT_WHITELIST_FREQUENCY
- == shortcutTarget.getProbability() ?
- "whitelist" : shortcutTarget.getProbability()) + ")");
- }
- }
final ArrayList<WeightedString> bigrams = ptNode.getBigrams();
if (null == bigrams || bigrams.isEmpty()) {
System.out.println(" No bigrams");
diff --git a/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java b/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java
index e68aeb0eb..84d36a0c3 100644
--- a/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java
+++ b/tools/dicttool/tests/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtilsTests.java
@@ -85,15 +85,15 @@ public class BinaryDictOffdeviceUtilsTests extends TestCase {
testOptions.mAttributes.put(DictionaryHeader.DICTIONARY_LOCALE_KEY, LOCALE);
testOptions.mAttributes.put(DictionaryHeader.DICTIONARY_ID_KEY, ID);
final FusionDictionary dict = new FusionDictionary(new PtNodeArray(), testOptions);
- dict.add("foo", new ProbabilityInfo(TEST_FREQ), null, false /* isNotAWord */,
+ dict.add("foo", new ProbabilityInfo(TEST_FREQ), false /* isNotAWord */,
false /* isPossiblyOffensive */);
- dict.add("fta", new ProbabilityInfo(1), null, false /* isNotAWord */,
+ dict.add("fta", new ProbabilityInfo(1), false /* isNotAWord */,
false /* isPossiblyOffensive */);
- dict.add("ftb", new ProbabilityInfo(1), null, false /* isNotAWord */,
+ dict.add("ftb", new ProbabilityInfo(1), false /* isNotAWord */,
false /* isPossiblyOffensive */);
- dict.add("bar", new ProbabilityInfo(1), null, false /* isNotAWord */,
+ dict.add("bar", new ProbabilityInfo(1), false /* isNotAWord */,
false /* isPossiblyOffensive */);
- dict.add("fool", new ProbabilityInfo(1), null, false /* isNotAWord */,
+ dict.add("fool", new ProbabilityInfo(1), false /* isNotAWord */,
false /* isPossiblyOffensive */);
final File dst = File.createTempFile("testGetRawDict", ".tmp");
@@ -171,8 +171,8 @@ public class BinaryDictOffdeviceUtilsTests extends TestCase {
for (int i = 0; i < sWords.size(); ++i) {
final String word = sWords.get(i);
- dict.add(word, new ProbabilityInfo(TEST_FREQ), null /* shortcuts */,
- false /* isNotAWord */, false /* isPossiblyOffensive */);
+ dict.add(word, new ProbabilityInfo(TEST_FREQ), false /* isNotAWord */,
+ false /* isPossiblyOffensive */);
}
File file = File.createTempFile(dictName, ".tmp");
diff --git a/tools/dicttool/tests/com/android/inputmethod/latin/makedict/BinaryDictEncoderFlattenTreeTests.java b/tools/dicttool/tests/com/android/inputmethod/latin/makedict/BinaryDictEncoderFlattenTreeTests.java
index dc9981d1a..178fc41e2 100644
--- a/tools/dicttool/tests/com/android/inputmethod/latin/makedict/BinaryDictEncoderFlattenTreeTests.java
+++ b/tools/dicttool/tests/com/android/inputmethod/latin/makedict/BinaryDictEncoderFlattenTreeTests.java
@@ -33,15 +33,15 @@ public class BinaryDictEncoderFlattenTreeTests extends TestCase {
public void testFlattenNodes() {
final FusionDictionary dict = new FusionDictionary(new PtNodeArray(),
new DictionaryOptions(new HashMap<String, String>()));
- dict.add("foo", new ProbabilityInfo(1), null, false /* isNotAWord */,
+ dict.add("foo", new ProbabilityInfo(1), false /* isNotAWord */,
false /* isPossiblyOffensive */);
- dict.add("fta", new ProbabilityInfo(1), null, false /* isNotAWord */,
+ dict.add("fta", new ProbabilityInfo(1), false /* isNotAWord */,
false /* isPossiblyOffensive */);
- dict.add("ftb", new ProbabilityInfo(1), null, false /* isNotAWord */,
+ dict.add("ftb", new ProbabilityInfo(1), false /* isNotAWord */,
false /* isPossiblyOffensive */);
- dict.add("bar", new ProbabilityInfo(1), null, false /* isNotAWord */,
+ dict.add("bar", new ProbabilityInfo(1), false /* isNotAWord */,
false /* isPossiblyOffensive */);
- dict.add("fool", new ProbabilityInfo(1), null, false /* isNotAWord */,
+ dict.add("fool", new ProbabilityInfo(1), false /* isNotAWord */,
false /* isPossiblyOffensive */);
final ArrayList<PtNodeArray> result =
BinaryDictEncoderUtils.flattenTree(dict.mRootNodeArray);
diff --git a/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java b/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java
index 1a4f096e4..626023920 100644
--- a/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java
+++ b/tools/dicttool/tests/com/android/inputmethod/latin/makedict/FusionDictionaryTest.java
@@ -102,7 +102,7 @@ public class FusionDictionaryTest extends TestCase {
prepare(time);
for (int i = 0; i < sWords.size(); ++i) {
System.out.println("Adding in pos " + i + " : " + dumpWord(sWords.get(i)));
- dict.add(sWords.get(i), new ProbabilityInfo(180), null, false,
+ dict.add(sWords.get(i), new ProbabilityInfo(180), false,
false /* isPossiblyOffensive */);
dumpDict(dict);
checkDictionary(dict, sWords, i);
diff --git a/tools/make-keyboard-text/Android.bp b/tools/make-keyboard-text/Android.bp
new file mode 100644
index 000000000..4976051da
--- /dev/null
+++ b/tools/make-keyboard-text/Android.bp
@@ -0,0 +1,22 @@
+//
+// Copyright (C) 2012 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+java_binary_host {
+ name: "make-keyboard-text",
+
+ srcs: ["src/**/*.java"],
+ main_class: "com.android.inputmethod.keyboard.tools.MakeKeyboardText",
+ java_resource_dirs: ["res"],
+}
diff --git a/tools/make-keyboard-text/Android.mk b/tools/make-keyboard-text/Android.mk
deleted file mode 100644
index 87601489e..000000000
--- a/tools/make-keyboard-text/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES += $(call all-java-files-under,src)
-LOCAL_JAR_MANIFEST := etc/manifest.txt
-LOCAL_JAVA_RESOURCE_DIRS := res
-LOCAL_MODULE := make-keyboard-text
-
-include $(BUILD_HOST_JAVA_LIBRARY)
-include $(LOCAL_PATH)/etc/Android.mk
diff --git a/tools/make-keyboard-text/etc/Android.mk b/tools/make-keyboard-text/etc/Android.mk
deleted file mode 100644
index 0fbf4ffe9..000000000
--- a/tools/make-keyboard-text/etc/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (C) 2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_PREBUILT_EXECUTABLES := make-keyboard-text
-
-include $(BUILD_HOST_PREBUILT)
diff --git a/tools/make-keyboard-text/etc/make-keyboard-text b/tools/make-keyboard-text/etc/make-keyboard-text
deleted file mode 100755
index 156f9ec5f..000000000
--- a/tools/make-keyboard-text/etc/make-keyboard-text
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/sh
-# Copyright 2012, The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Set up prog to be the path of this script, including following symlinks,
-# and set up progdir to be the fully-qualified pathname of its directory.
-prog="$0"
-while [ -h "${prog}" ]; do
- newProg=`/bin/ls -ld "${prog}"`
- newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
- if expr "x${newProg}" : 'x/' >/dev/null; then
- prog="${newProg}"
- else
- progdir=`dirname "${prog}"`
- prog="${progdir}/${newProg}"
- fi
-done
-oldwd=`pwd`
-progdir=`dirname "${prog}"`
-cd "${progdir}"
-progdir=`pwd`
-prog="${progdir}"/`basename "${prog}"`
-cd "${oldwd}"
-
-jarfile=make-keyboard-text.jar
-frameworkdir="$progdir"
-if [ ! -r "$frameworkdir/$jarfile" ]
-then
- frameworkdir=`dirname "$progdir"`/tools/lib
- libdir=`dirname "$progdir"`/tools/lib
-fi
-if [ ! -r "$frameworkdir/$jarfile" ]
-then
- frameworkdir=`dirname "$progdir"`/framework
- libdir=`dirname "$progdir"`/lib
-fi
-if [ ! -r "$frameworkdir/$jarfile" ]
-then
- echo `basename "$prog"`": can't find $jarfile"
- exit 1
-fi
-
-if [ "$OSTYPE" = "cygwin" ] ; then
- jarpath=`cygpath -w "$frameworkdir/$jarfile"`
- progdir=`cygpath -w "$progdir"`
-else
- jarpath="$frameworkdir/$jarfile"
-fi
-
-# need to use "java.ext.dirs" because "-jar" causes classpath to be ignored
-# might need more memory, e.g. -Xmx128M
-exec java -ea -jar "$jarpath" "$@"
diff --git a/tools/make-keyboard-text/etc/manifest.txt b/tools/make-keyboard-text/etc/manifest.txt
deleted file mode 100644
index 8ad4db059..000000000
--- a/tools/make-keyboard-text/etc/manifest.txt
+++ /dev/null
@@ -1 +0,0 @@
-Main-Class: com.android.inputmethod.keyboard.tools.MakeKeyboardText