Merge "Remove DicNode.getPtNodePos()."
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_active_lxx_dark.9.png b/java/res/drawable-hdpi/btn_keyboard_key_active_lxx_dark.9.png
index bbdc411..55ef3e7 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_active_lxx_dark.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_active_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_active_lxx_light.9.png b/java/res/drawable-hdpi/btn_keyboard_key_active_lxx_light.9.png
index 854c849..9f307dc 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_active_lxx_light.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_active_lxx_light.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png b/java/res/drawable-hdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
index 33f7d80..17a77cc 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_active_pressed_lxx_light.9.png b/java/res/drawable-hdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
index 7a7e982..55ef3e7 100644
--- a/java/res/drawable-hdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
+++ b/java/res/drawable-hdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_active_lxx_dark.9.png b/java/res/drawable-mdpi/btn_keyboard_key_active_lxx_dark.9.png
index 787ce45..7651918 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_active_lxx_dark.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_active_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_active_lxx_light.9.png b/java/res/drawable-mdpi/btn_keyboard_key_active_lxx_light.9.png
index e7a585b..8131549 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_active_lxx_light.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_active_lxx_light.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png b/java/res/drawable-mdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
index 7e34c6c..dcf814a 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_active_pressed_lxx_light.9.png b/java/res/drawable-mdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
index 5a65133..7651918 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_active_lxx_dark.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_active_lxx_dark.9.png
index 4726406..0f3d319 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_active_lxx_dark.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_active_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_active_lxx_light.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_active_lxx_light.9.png
index dca7a32..cef6d00 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_active_lxx_light.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_active_lxx_light.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
index 8063fcd..b5768e6 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_active_pressed_lxx_light.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
index fa32a2c..0f3d319 100644
--- a/java/res/drawable-xhdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
+++ b/java/res/drawable-xhdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_active_lxx_dark.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_active_lxx_dark.9.png
index f492397..927d87b 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_active_lxx_dark.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_active_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_active_lxx_light.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_active_lxx_light.9.png
index 1f5f922..ce84bde 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_active_lxx_light.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_active_lxx_light.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
index 65e455c..5b0854e 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_active_pressed_lxx_dark.9.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_active_pressed_lxx_light.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
index 0310143..927d87b 100644
--- a/java/res/drawable-xxhdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
+++ b/java/res/drawable-xxhdpi/btn_keyboard_key_active_pressed_lxx_light.9.png
Binary files differ
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
index e90e543..72a390f 100644
--- a/java/res/values-af/strings.xml
+++ b/java/res/values-af/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Vertraging van sleutellangdruk"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Sleuteldruk se vibrasie-tydsduur"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Sleuteldruk se klankvolume"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Pasmaak sleutelvoorskou-animasie"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Lees eksterne woordeboeklêer"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Geen woordeboeklêers in die aflaaiselsvouer nie"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Kies \'n woordeboeklêer om te installeer"</string>
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml
index 34f4890..63c1eb2 100644
--- a/java/res/values-am/strings.xml
+++ b/java/res/values-am/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"የሰሌዳ ቁልፍ ጠቅታ በመጫን መዘግየት"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"የቁልፍ ጭነት ንዝረት ርዝመት"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"የቁልፍ ጭነት ድምጽ መጠን"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"ቁልፍ የቅድመ-እይታ እነማን ያብጁ"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"ውጫዊ የመዝገበቃላት ፋይል አንብብ"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"በውርዶች አቃፊው ውስጥ ምንም የመዝገበ-ፋይሎች የሉም"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"የሚጭኑት የመዝገበ-ቃላት ፋይል ይምረጡ"</string>
diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml
index 2b4686b..f550c34 100644
--- a/java/res/values-ar/strings.xml
+++ b/java/res/values-ar/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"تأخير الضغط الطويل للمفاتيح"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"مدة اهتزاز الضغط على المفاتيح"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"مستوى صوت الضغط على المفاتيح"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"تخصيص الرسم المتحرك لمعاينة المفاتيح"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"قراءة ملف قاموس خارجي"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ليست هناك ملفات قواميس في مجلد التنزيلات"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"تحديد ملف قاموس للتثبيت"</string>
diff --git a/java/res/values-az-rAZ/strings.xml b/java/res/values-az-rAZ/strings.xml
index 2487748..5bb5b14 100644
--- a/java/res/values-az-rAZ/strings.xml
+++ b/java/res/values-az-rAZ/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Klavişi uzun müddət basmada gecikmə"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Vibrasiyalı klikləmə müddəti"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Səsli klikləmə səsi"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Xarici lüğət faylını oxuyun"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Endirmə Qovluğunda heç bir lüğət faylı yoxdur"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Yükləmək üçün lüğət faylı seçin"</string>
diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml
index 1ead030..8b14733 100644
--- a/java/res/values-bg/strings.xml
+++ b/java/res/values-bg/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Забавяне при продълж. натискане"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Продълж. на вибриране при натискане"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Сила на звука при натиск. на клавиш"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Аним. за визуал. на клавишите: Перс."</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Четене на файл за външен речник"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"В папката „Изтегляния“ няма файлове за речник"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Изберете файл за речника, който да инсталирате"</string>
diff --git a/java/res/values-bn-rBD/strings.xml b/java/res/values-bn-rBD/strings.xml
index f8ea9ad..53fcde3 100644
--- a/java/res/values-bn-rBD/strings.xml
+++ b/java/res/values-bn-rBD/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"কী প্রেসে দীর্ঘ বিলম্ব"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"কীপ্রেস কম্পন সময়কাল"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"কীপ্রেস সাউন্ড ভলিউম"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"কী-এর পূর্বরূপের অ্যানিমেশন কাস্টমাইজ করুন"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"বহিরাগত অভিধান ফাইলটি পড়ুন"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ডাউনলোডস ফোল্ডারে কোনো অভিধান ফাইল নেই"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ইনস্টল করার জন্য একটি অভিধান ফাইল নির্বাচন করুন"</string>
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index e37bd05..6fe958b 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Retard en mantenir premut"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Durada vibració en prémer"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volum del so en prémer tecles"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Personal. animació vis. prèv. tecla"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Lectura d\'un fitxer de diccionari extern"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"No hi ha cap fitxer de diccionari a la carpeta Baixades"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Selecció d\'un fitxer de diccionari per instal·lar"</string>
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
index 883fbdf..5a67fa5 100644
--- a/java/res/values-cs/strings.xml
+++ b/java/res/values-cs/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Prodleva dlouhého stisknutí"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Délka vibrace u stisku klávesy"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Hlasitost stisknutí klávesy"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Upravit animaci náhledu kláves"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Číst soubor externího slovníku"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Ve složce Stažené nejsou žádné soubory slovníků."</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Vyberte soubor slovníku k instalaci"</string>
diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml
index caaafcc..f5a09e9 100644
--- a/java/res/values-da/strings.xml
+++ b/java/res/values-da/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Forsinket langt tastetryk"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Vibrationstid ved tastetryk"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Lydstyrke ved tastetryk"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Tilpas animation for tastgennemsyn"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Læs ekstern ordbogsfil"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Der er ingen ordbogsfiler i mappen Downloads"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Vælg den ordbog, som du vil installere"</string>
diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml
index 0a6155a..47b6184 100644
--- a/java/res/values-de/strings.xml
+++ b/java/res/values-de/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Verzögerung für langes Drücken"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Vibrationsdauer bei Tastendruck"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Tonlautstärke bei Tastendruck"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Vorschau-Animation anpassen"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Externe Wörterbuchdatei lesen"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Keine Wörterbuchdateien im Ordner \"Downloads\""</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Wörterbuchdatei zum Installieren auswählen"</string>
diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml
index 825af72..fc3983b 100644
--- a/java/res/values-el/strings.xml
+++ b/java/res/values-el/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Καθυστέρηση παρατεταμένου πατήματος πλήκτρου"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Διάρκεια δόνησης πατήμ. πλήκτ."</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Ένταση ήχου πατήματος πλήκτρου"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Προσαρμ. κιν. εικόνα προεπ.κλειδιού"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Ανάγνωση εξωτερικού αρχείου λεξικού"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Δεν υπάρχουν αρχεία λεξικού στο φάκελο \"Λήψεις\""</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Επιλογή αρχείου λεξικού για εγκατάσταση"</string>
diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml
index a671c2a..c1c9399 100644
--- a/java/res/values-en-rGB/strings.xml
+++ b/java/res/values-en-rGB/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Key long press delay"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Keypress vibration duration"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Keypress sound volume"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Customise key preview animation"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Read external dictionary file"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"No dictionary files in the Downloads folder"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Select a dictionary file to install"</string>
diff --git a/java/res/values-en-rIN/strings.xml b/java/res/values-en-rIN/strings.xml
index a671c2a..c1c9399 100644
--- a/java/res/values-en-rIN/strings.xml
+++ b/java/res/values-en-rIN/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Key long press delay"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Keypress vibration duration"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Keypress sound volume"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Customise key preview animation"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Read external dictionary file"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"No dictionary files in the Downloads folder"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Select a dictionary file to install"</string>
diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml
index b643d5a..7dc0275 100644
--- a/java/res/values-es-rUS/strings.xml
+++ b/java/res/values-es-rUS/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Demora de presión prolongada"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Durac. vibrac. al presionar"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Vol. sonido al presionar tecla"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Personaliz. anim. vista prev. clave"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Leer archivo de diccionario externo"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"No hay archivos de diccionario en la carpeta de descargas."</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Seleccionar archivo de diccionario para instalar"</string>
diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml
index 07b4bff..affaae4 100644
--- a/java/res/values-es/strings.xml
+++ b/java/res/values-es/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Retraso de pulsación prolongada"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Duración vibración al pulsar"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volumen sonido al pulsar tecla"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Personalizar animación vista previa clave"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Leer archivo de diccionario externo"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"No hay archivos de diccionario en la carpeta de descargas."</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Selecciona un archivo de diccionario para instalar"</string>
diff --git a/java/res/values-et-rEE/strings.xml b/java/res/values-et-rEE/strings.xml
index c4f940b..7e771bc 100644
--- a/java/res/values-et-rEE/strings.xml
+++ b/java/res/values-et-rEE/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Pika klahvivajutuse viide"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Klahvivajutuse vibreerimise kestus"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Klahvivajutuse helitugevus"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Klahvi eelvaate anim. kohandamine"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Välise sõnastikufaili lugemine"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Kaustas Allalaadimised pole ühtegi sõnastikufaili"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Installitava sõnastikufaili valimine"</string>
diff --git a/java/res/values-eu-rES/strings.xml b/java/res/values-eu-rES/strings.xml
index f3704ad..ce5036b 100644
--- a/java/res/values-eu-rES/strings.xml
+++ b/java/res/values-eu-rES/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Tekla luze sakatzearen atzerapena"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Tekla sakatzearen dardararen iraupena"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Tekla sakatzearen bolumena"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Pertsonalizatu tekla aurreikusteko animazioa"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Irakurri kanpoko hiztegi-fitxategia"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Ez dago hiztegi-fitxategirik Deskargak karpetan"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Hautatu hiztegi-fitxategi bat instalatzeko"</string>
diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml
index dbde38f..73aaacd 100644
--- a/java/res/values-fa/strings.xml
+++ b/java/res/values-fa/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"تأخیر فشار طولانی کلید"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"طول مدت لرزش در اثر فشردن کلید"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"میزان صدای فشردن کلید"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"سفارشی کردن پویانمایی پیش‌دید اصلی"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"خواندن فایل فرهنگ لغت خارجی"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"فایل فرهنگ لغتی در پوشه دانلودها وجود ندارد"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"یک فایل فرهنگ لغت برای نصب انتخاب کنید"</string>
diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml
index 1dbdb5a..447f7a8 100644
--- a/java/res/values-fi/strings.xml
+++ b/java/res/values-fi/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Pitkän painalluksen viive"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Painalluksen värinän kesto"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Näppäinpainalluksen äänenvoim."</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Lue ulkoista sanakirjatiedostoa"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Lataukset-kansiossa ei ole sanakirjatiedostoja"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Valitse asennettava sanakirjatiedosto"</string>
diff --git a/java/res/values-fr-rCA/strings.xml b/java/res/values-fr-rCA/strings.xml
index dbfb588..1b0f97b 100644
--- a/java/res/values-fr-rCA/strings.xml
+++ b/java/res/values-fr-rCA/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Délai appui prolongé sur touche"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Durée vibration press. touche"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volume pression de touche"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Personn. animation clé de l\'aperçu"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Lire un fichier de dictionnaire externe"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Aucun fichier de dictionnaire dans le dossier \"Téléchargements\""</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Sélectionner un fichier de dictionnaire à installer"</string>
diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml
index 3a308f9..e41f08d 100644
--- a/java/res/values-fr/strings.xml
+++ b/java/res/values-fr/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Délai appui prolongé sur touche"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Durée vibration press. touche"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volume son pression de touche"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Personnaliser animation aperçu clé"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Lire un fichier de dictionnaire externe"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Aucun fichier de dictionnaire dans le dossier \"Téléchargements\""</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Sélectionner un fichier de dictionnaire à installer"</string>
diff --git a/java/res/values-gl-rES/strings.xml b/java/res/values-gl-rES/strings.xml
index 9b24949..9ef23e8 100644
--- a/java/res/values-gl-rES/strings.xml
+++ b/java/res/values-gl-rES/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Retraso de pulsación prolongada"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Duración vibración ao premer teclas"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volume do son ao premer teclas"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Person. animación vista prev. clave"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Ler ficheiro de dicionario externo"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Non hai ningún ficheiro de dicionario no cartafol de descargas"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Selecciona un ficheiro de dicionario para instalar"</string>
diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml
index ab6eb81..ccd195f 100644
--- a/java/res/values-hi/strings.xml
+++ b/java/res/values-hi/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"कुंजी को देर तक दबाने का विलंब"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"कुंजी-स्पर्श कंपन अवधि"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"कुंजी-स्पर्श ध्वनि आवाज़"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"कुंजी पूर्वावलोकन एनिमेशन कस्टमाइज़ करें"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"बाहरी शब्दकोश फ़ाइल पढ़ें"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"डाउनलोड फ़ोल्डर में कोई शब्दकोश फ़ाइल नहीं है"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"इंस्टॉल करने के लिए कोई शब्दकोश फ़ाइल चुनें"</string>
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
index 668d6c5..4e9c1b6 100644
--- a/java/res/values-hr/strings.xml
+++ b/java/res/values-hr/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Odgoda dugog pritiska tipke"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Trajanje vibracije pritiska"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Glasnoća pritiska tipke"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Prilagodi animaciju pregleda tipki"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Čitanje datoteke vanjskog rječnika"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"U mapi Preuzimanja nema datoteka rječnika"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Odabir datoteke rječnika za instaliranje"</string>
diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml
index 4560788..4d5aab2 100644
--- a/java/res/values-hu/strings.xml
+++ b/java/res/values-hu/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Hosszú nyomás késleltetése"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Gombnyomás rezgési időtartama"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Gombnyomás hangereje"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Animáció-előnézet billentyűje"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Külső szótárfájl olvasása"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Nincs szótárfájl a Letöltések mappában."</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Válasszon ki egy szótárfájlt a telepítéshez."</string>
diff --git a/java/res/values-hy-rAM/strings.xml b/java/res/values-hy-rAM/strings.xml
index 1e14263..0445438 100644
--- a/java/res/values-hy-rAM/strings.xml
+++ b/java/res/values-hy-rAM/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Ստեղնի երկար սեղմման ուշացում"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Սեղմման թրթռոցի տևողություն"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Սեղմման ձայնի բարձրությունը"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Կարդալ արտաքին բառարանի ֆայլը"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Ներբեռնումների թղթապանակում բառարանային ֆայլեր չկան"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Ընտրեք բառարանային ֆայլը տեղադրման համար"</string>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index 0169995..f68e454 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Penundaan tekan lama tombol"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Durasi getar saat tekan tombol"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volume suara saat tekan tombol"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Sesuaikan animasi pratinjau kunci"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Membaca file kamus eksternal"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Tidak ada file kamus di folder Unduhan"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Pilih file kamus untuk dipasang"</string>
diff --git a/java/res/values-is-rIS/strings.xml b/java/res/values-is-rIS/strings.xml
index 51f4f9b..d2aaf1d 100644
--- a/java/res/values-is-rIS/strings.xml
+++ b/java/res/values-is-rIS/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Töf áður en lykli er haldið inni"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Lengd lyklatitrings"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Styrkur lyklahljóða"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Sérsníða hreyfingu lykilforskoðunar"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Lesa utanaðkomandi orðabókarskrá"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Engar orðabókarskrár í niðurhalsmöppunni"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Veldu orðabókarskrá til að setja upp"</string>
diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml
index 32a9e37..8fc88c8 100644
--- a/java/res/values-it/strings.xml
+++ b/java/res/values-it/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Ritardo pressione lunga tasti"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Durata vibraz. pressione tasto"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volume audio a pressione tasto"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Personalizza animaz. anteprima tasti"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Leggi file dizionario esterno"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Nessun file di dizionario nella cartella Download"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Seleziona un file di dizionario da installare"</string>
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
index be4f8fe..918a0de 100644
--- a/java/res/values-iw/strings.xml
+++ b/java/res/values-iw/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"השהיית לחיצה ארוכה על מקש"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"משך רטט של לחיצת מקש"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"עוצמת קול של לחיצת מקש"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"התאם הנפשת תצוגה מקדימה של מפתח"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"קריאה של קובץ מילון חיצוני"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"אין קובצי מילונים בתיקיית ההורדות"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"בחירת קובץ מילון להתקנה"</string>
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
index 26da044..56dc96b 100644
--- a/java/res/values-ja/strings.xml
+++ b/java/res/values-ja/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"キーの長押し時間"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"キー操作バイブの振動時間"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"キー操作音の音量"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"外部辞書ファイルの読み取り"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ダウンロードフォルダに辞書ファイルはありません"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"インストールする辞書ファイルの選択"</string>
diff --git a/java/res/values-ka-rGE/strings.xml b/java/res/values-ka-rGE/strings.xml
index 784edd2..31aefbd 100644
--- a/java/res/values-ka-rGE/strings.xml
+++ b/java/res/values-ka-rGE/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"კლავიშზე გრძელი დაჭერის დაყოვნება"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"კლავიშზე დაჭერის ვიბრაციის ხანგრძლივობა"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"კლავიშზე დაჭერის ხმა"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"გარე ლექსიკონის ფაილის წაკითხვა"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ჩამოტვირთვების საქაღალდეში ლექსიკონის ფაილები არ არის"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ინსტალაციისათვის აირჩიეთ ლექსიკონის ფაილი"</string>
diff --git a/java/res/values-kk-rKZ/strings.xml b/java/res/values-kk-rKZ/strings.xml
index 490c357..e290d6d 100644
--- a/java/res/values-kk-rKZ/strings.xml
+++ b/java/res/values-kk-rKZ/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Пернені ұзақ басу кідірісі"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Пернені басқан кездегі діріл ұзақтығы"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Пернені басқан кездегі дыбыс деңгейі"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Перн. алдын ала қарау аним. теңшеу"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Сыртқы сөздік файлын оқу"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Жүктеп алулар қалтасында сөздік файлдары жоқ"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Орнату үшін сөздік файлын таңдау"</string>
diff --git a/java/res/values-km-rKH/strings.xml b/java/res/values-km-rKH/strings.xml
index 31efc8b..ad1d5f3 100644
--- a/java/res/values-km-rKH/strings.xml
+++ b/java/res/values-km-rKH/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"ពន្យារពេល​​​ចុច​គ្រាប់​ចុច​ឲ្យ​​យូរ"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"ថិរវេលា​​ញ័រ​​ពេល​ចុច​គ្រាប់ចុច"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"កម្រិត​សំឡេង​ពេល​ចុច​គ្រាប់​ចុច"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"ប្ដូរចលនាមើលជាមុនសំខាន់តាមតម្រូវការ"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"អាន​ឯកសារ​វចនានុក្រម​ខាង​ក្រៅ"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"គ្មាន​ឯកសារ​វចនានុក្រម​នៅ​ក្នុង​ថត​ទាញ​យក​​"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ជ្រើស​ឯកសារ​វចនានុក្រម​ ដើម្បី​ដំឡើង"</string>
diff --git a/java/res/values-kn-rIN/strings.xml b/java/res/values-kn-rIN/strings.xml
index 4a9bd52..7319ebd 100644
--- a/java/res/values-kn-rIN/strings.xml
+++ b/java/res/values-kn-rIN/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"ಕೀಯ ದೀರ್ಘ ಒತ್ತುವ ವಿಳಂಬ"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"ಕೀಒತ್ತುವ ವೈಬ್ರೇಷನ್‌‌ ಅವಧಿ"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"ಕೀಒತ್ತುವ ಶಬ್ದದ ವಾಲ್ಯೂಮ್"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"ಪೂರ್ವವೀಕ್ಷಣೆ ಅನಿಮೇಷನ್‌ನ ಕಸ್ಟಮೈಸ್ ಕೀ"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"ಬಾಹ್ಯ ನಿಘಂಟು ಫೈಲ್ ಓದಿ"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ಡೌನ್‌ಲೋಡ್ ಫೋಲ್ಡರ್‌ನಲ್ಲಿ ಯಾವುದೇ ನಿಘಂಟು ಫೈಲ್‌ಗಳಿಲ್ಲ"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ಸ್ಥಾಪಿಸಬೇಕಾದ ನಿಘಂಟು ಫೈಲ್ ಆಯ್ಕೆಮಾಡಿ"</string>
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
index 12ca801..ab6e10e 100644
--- a/java/res/values-ko/strings.xml
+++ b/java/res/values-ko/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"키 길게 누르기 지연"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"키를 누를 때 진동 시간"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"키를 누를 때 소리 볼륨"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"외부 사전 파일 읽기"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"다운로드 폴더에 사전 파일이 없음"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"설치할 사전 파일 선택"</string>
diff --git a/java/res/values-ky-rKG/strings.xml b/java/res/values-ky-rKG/strings.xml
index 6552aff..6205dd8 100644
--- a/java/res/values-ky-rKG/strings.xml
+++ b/java/res/values-ky-rKG/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Баскычты көпкө басууну кечиктирүү"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Басылган баскычтын дирлдөө узактгы"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Басылган баскычтын үнүнүн катуулугу"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Баскч алдырт көрүү анимцясн өзгөчлш"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Тышкы сөздүк файлын окуу"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Жүктөп алынгандар папкасында сөздүк файлдары жок"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Орнотула турган сөздүк файлын тандаңыз"</string>
diff --git a/java/res/values-lo-rLA/strings.xml b/java/res/values-lo-rLA/strings.xml
index 906bd3e..6830c08 100644
--- a/java/res/values-lo-rLA/strings.xml
+++ b/java/res/values-lo-rLA/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"ໄລຍະເວລາຂອງການກົດປຸ່ມ"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"ໄລຍະເວລາຂອງການສັ່ນໃນການກົດປຸ່ມ"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"ລະດັບສຽງຂອງການກົດປຸ່ມ"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"ປັບແຕ່ງ​ອະນິເມຊັນ​ຕົວຢ່າງ​ປຸ່ມ​ກົດ"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"ອ່ານໄຟລ໌ວັດຈະນານຸກົມພາຍນອກ"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ບໍ່ມີໄຟລ໌ວັດຈະນານຸກົມໃນໂຟນເດີຂອງການດາວໂຫລດ"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ເລືອກໄຟລ໌ວັດຈະນານຸກົມເພື່ອຕິດຕັ້ງ"</string>
diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml
index 0e4b316..ab55c1f 100644
--- a/java/res/values-lt/strings.xml
+++ b/java/res/values-lt/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Klavišo ilgo paspaudimo delsa"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Vibrav. paspaudus mygt. trukmė"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Garso paspaudus mygt. garsumas"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Skaityti išorinį žodyno failą"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Atsisiuntimų aplanke nėra žodyno failų"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Pasirinkite diegiamą žodyno failą"</string>
diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml
index 80dd00c..4579a29 100644
--- a/java/res/values-lv/strings.xml
+++ b/java/res/values-lv/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Taustiņa ilgās nosp. noildze"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Taust. nosp. vibrācijas ilgums"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Taustiņu nosp. skaņas skaļums"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Atslēgas animācijas pielāgošana"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Ārējās vārdnīcas faila nolasīšana"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Mapē Lejupielādes nav neviena vārdnīcas faila."</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Instalējamā vārdnīcas faila atlasīšana"</string>
diff --git a/java/res/values-mk-rMK/strings.xml b/java/res/values-mk-rMK/strings.xml
index 7ef9ff3..f3c2fea 100644
--- a/java/res/values-mk-rMK/strings.xml
+++ b/java/res/values-mk-rMK/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Доцнење на долго притискање копче"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Траење на вибрација од копче"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Копче за јачина на звук"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Приспособи го приказот на клучот"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Прочитај надворешна датотека на речник"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Нема датотеки на речник во папката Преземања"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Изберете датотека на речник за инсталирање"</string>
diff --git a/java/res/values-ml-rIN/strings.xml b/java/res/values-ml-rIN/strings.xml
index b87c0af..b05457c 100644
--- a/java/res/values-ml-rIN/strings.xml
+++ b/java/res/values-ml-rIN/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"കീ ദീർഘനേരം അമർത്തിപ്പിടിക്കൽ കാലതാമസം"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"കീ അമർത്തുമ്പോഴുള്ള വൈബ്രേഷൻ ദൈർഘ്യം"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"കീ അമർത്തുമ്പോഴുള്ള ശബ്‌ദ വോളിയം"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"കീ പ്രിവ്യൂ ആനിമേഷൻ ഇഷ്‌ടാനുസൃതമാക്കുക"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"ബാഹ്യ നിഘണ്ടു ഫയൽ റീഡുചെയ്യുക"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ഡൗൺലോഡുകളുടെ ഫോൾഡറിൽ നിഘണ്ടു ഫയലുകളൊന്നുമില്ല"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ഇൻസ്‌റ്റാൾ ചെയ്യുന്നതിനായി ഒരു നിഘണ്ടു ഫയൽ തിരഞ്ഞെടുക്കുക"</string>
diff --git a/java/res/values-mn-rMN/strings.xml b/java/res/values-mn-rMN/strings.xml
index f922c0e..d65e0e4 100644
--- a/java/res/values-mn-rMN/strings.xml
+++ b/java/res/values-mn-rMN/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Товч удаан дарах хугацааны тохиргоо"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Товч дарах чичиргээний хугацаа"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Товчны дууны хэмжээ"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Урьдчилан үзэх анимацийг тохируулах"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Толь бичгийн гадны файлыг унших"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Татаж авсан фолдерт толь бичгийн файл байхгүй байна"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Суулгах толь бичгийн файлыг сонгоно уу"</string>
diff --git a/java/res/values-mr-rIN/strings.xml b/java/res/values-mr-rIN/strings.xml
index c950e28..ba33e2a 100644
--- a/java/res/values-mr-rIN/strings.xml
+++ b/java/res/values-mr-rIN/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"की जास्त दाबण्यात विलंब"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"कीप्रेस कंपन कालावधी"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"कीप्रेस ध्वनी तीव्रता"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"सानुकूल की पूर्वावलोकन अॅनिमेशन"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"बाह्य शब्दकोश फाईल वाचा"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"डाउनलोड फोल्डरमध्ये शब्दकोश फायली नाहीत"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"स्थापित करण्यासाठी शब्दकोश फाईल निवडा"</string>
diff --git a/java/res/values-ms-rMY/strings.xml b/java/res/values-ms-rMY/strings.xml
index a07e77d..738ec13 100644
--- a/java/res/values-ms-rMY/strings.xml
+++ b/java/res/values-ms-rMY/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Kelewatan tekan lama kekunci"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Tempoh getaran tekan kekunci"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Kelantangan bunyi tekan kekunci"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Baca fail kamus luaran"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Tiada fail kamus dalam folder Muat Turun"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Pilih fail kamus untuk dipasang"</string>
diff --git a/java/res/values-my-rMM/strings-letter-descriptions.xml b/java/res/values-my-rMM/strings-letter-descriptions.xml
index 6dabe0f..2d5338b 100644
--- a/java/res/values-my-rMM/strings-letter-descriptions.xml
+++ b/java/res/values-my-rMM/strings-letter-descriptions.xml
@@ -200,7 +200,7 @@
     <string name="spoken_symbol_2105" msgid="7289404939366976829">"Care of"</string>
     <string name="spoken_symbol_2192" msgid="827804523596125414">"ညာညွှန်း မြား"</string>
     <string name="spoken_symbol_2193" msgid="2659541693445985717">"အောက်ညွှန်း မြား"</string>
-    <string name="spoken_symbol_2205" msgid="4457188084269117343">"ပလာ set"</string>
+    <string name="spoken_symbol_2205" msgid="4457188084269117343">"နေရာလွတ်"</string>
     <string name="spoken_symbol_2206" msgid="4856786565708380687">"Increment"</string>
     <string name="spoken_symbol_2264" msgid="5092061257745123554">"ထက်နည်း သို့မဟုတ် တူညီ"</string>
     <string name="spoken_symbol_2265" msgid="1907966479878036357">"ထက်ကြီး သို့မဟုတ် တူညီ"</string>
diff --git a/java/res/values-my-rMM/strings-talkback-descriptions.xml b/java/res/values-my-rMM/strings-talkback-descriptions.xml
index 45ad60c..0e32db0 100644
--- a/java/res/values-my-rMM/strings-talkback-descriptions.xml
+++ b/java/res/values-my-rMM/strings-talkback-descriptions.xml
@@ -44,7 +44,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">"Shift ဖွင့်ထားသည်"</string>
     <string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"စာလုံးကြီးရိုက်ရန် ဖွင့်ထားသည်"</string>
diff --git a/java/res/values-my-rMM/strings.xml b/java/res/values-my-rMM/strings.xml
index f07d887..85aaf59 100644
--- a/java/res/values-my-rMM/strings.xml
+++ b/java/res/values-my-rMM/strings.xml
@@ -107,7 +107,7 @@
     <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="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>
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"ကီးကြာမြင့်စွာ ဖိနှိပ်မှုနှုန်း"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"ခလုတ်နှိပ်တုန်ခါမှု ကြာမြင့်ချိန်"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"ခလုတ်နှိပ်သည့် အသံအတိုးကျယ်"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"ကီး လှုပ်ပုံ စမ်းကြည့် စိတ်တိုင်းကျ"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"ပြင်ပ အဘိဓါန်ဖိုင် ဖတ်မည်"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ဒေါင်းလုပ်ဖိုင်တွဲထဲတွင် အဘိဓါန်ဖိုင်များ မရှိပါ"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ထည့်သွင်းရန် အဘိဓါန်ဖိုင်အားရွေးပါ"</string>
diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml
index fcc5c97..11a8747 100644
--- a/java/res/values-nb/strings.xml
+++ b/java/res/values-nb/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Forsinkelse lange tastetrykk"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Vibrasjonstid ved tastetrykk"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Lydstyrke ved tastetrykk"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Bruk en ekstern ordlistefil"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Det ligger ingen ordboksfiler i Nedlastinger-mappen"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Velg ordboksfilen du vil installere"</string>
diff --git a/java/res/values-ne-rNP/strings.xml b/java/res/values-ne-rNP/strings.xml
index 1764e76..606517a 100644
--- a/java/res/values-ne-rNP/strings.xml
+++ b/java/res/values-ne-rNP/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"कुञ्जी लामो थिचाइ ढिलाइ"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"कुञ्जी थिचाइ भाइब्रेसन अवधि"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"कुञ्जी थिचाइ आवाज भोल्युम"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"प्रमुख पूर्वावलोकन एनिमेसन अनुकूलित"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"बाह्य शब्दकोश फाइल पढ्नुहोस्"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"डाउनलोड फोल्डरमा कुनै शब्दकोश फाइलहरू छैनन्।"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"स्थापना गर्न कुनै शब्दकोश फाइल चयन गर्नुहोस्"</string>
diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml
index 8ee5e4b..9a27aa1 100644
--- a/java/res/values-nl/strings.xml
+++ b/java/res/values-nl/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Vertraging toets lang indrukkn"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Trilingsduur bij toetsgebruik"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Geluidsvolume bij toetsgebruik"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Toetsvoorbeeldanimatie aanpassen"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Extern woordenboekbestand lezen"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Geen woordenboekbestanden in de map \'Downloads\'"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Selecteer een woordenboekbestand om te installeren"</string>
diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml
index 70fb091..c0b93d6 100644
--- a/java/res/values-pl/strings.xml
+++ b/java/res/values-pl/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Opóźnienie przy długim naciśnięciu"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Wibracja przy naciśniętym klawiszu"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Głośność przy naciśniętym klawiszu"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Dostosowywanie animacji podglądu klucza"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Odczyt zewnętrznego pliku słownika"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Brak plików słownika w folderze Pobrane pliki"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Wybierz plik słownika do zainstalowania"</string>
diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml
index 9c3bc4c..ec506c0 100644
--- a/java/res/values-pt-rPT/strings.xml
+++ b/java/res/values-pt-rPT/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Atraso ao manter tecla premida"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Duração vibr. ao premir teclas"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volume do som ao premir teclas"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Pers. animação de pré-vis. teclas"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Ler ficheiro de dicionário externo"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Não há ficheiros de dicionário na pasta Transferências"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Selecione um ficheiro de dicionário para instalar"</string>
diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml
index 7bc8581..bf8c07a 100644
--- a/java/res/values-pt/strings.xml
+++ b/java/res/values-pt/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Atraso ao pressionar teclas"</string>
     <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_customize_key_preview_animation" msgid="4537507402140318920">"Person. princ. anim. de visualiz."</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Ler arquivo de dicionário externo"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Nenhum arquivo de dicionário na pasta Downloads"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Selecione um arquivo de dicionário para instalar"</string>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index 8af7b2f..0ec513a 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Timpul apăsării lungi a tastei"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Vibrare după apăsarea tastei"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Sunet la apăsarea tastelor"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Citiți fișierul de dicționar extern"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Nu există fișiere dicționar în dosarul Descărcări"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Selectați un fișier dicționar de instalat"</string>
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
index 15843ea..016bcb3 100644
--- a/java/res/values-ru/strings.xml
+++ b/java/res/values-ru/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Долгое нажатие"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Вибросигнал при нажатии клавиш"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Звук при нажатии клавиш"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Загрузить словарь из файла"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"В папке \"Загрузки\" нет словарей"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Выберите файл словаря"</string>
diff --git a/java/res/values-si-rLK/strings.xml b/java/res/values-si-rLK/strings.xml
index 7c1ebcb..98caa36 100644
--- a/java/res/values-si-rLK/strings.xml
+++ b/java/res/values-si-rLK/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"යතුරු දිගු එබීම් ප්‍රමාදය"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"යතුරු එබිම් කම්පන කාලපරිච්ඡේදය"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"යතුරු එබීම් හඬ තීව්‍රතාවය"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"බාහිර ශබ්ද කෝෂ ගොනුව කියවන්න"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"බාගැනීම් ෆෝල්ඩරය තුළ ශබ්දකෝෂ ගොනු නොමැත"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ස්ථාපනය කිරීමට ශබ්ද කෝෂ ගොනුවක් තෝරන්න"</string>
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
index 02e7c97..6a16492 100644
--- a/java/res/values-sk/strings.xml
+++ b/java/res/values-sk/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Oneskor. pri stlač. a podržaní"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Trvanie vibrov. pri stlač. kl."</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Hlasitosť pri stlačení klávesu"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Prispôsobiť animáciu ukážky kľúča"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Čítať súbor externého slovníka"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"V priečinku Sťahovanie nie sú žiadne súbory slovníka"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Vyberte súbor slovníka, ktorý chcete nainštalovať"</string>
diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml
index 2374147..692ec60 100644
--- a/java/res/values-sl/strings.xml
+++ b/java/res/values-sl/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Zakasn. za dolg pritisk tipke"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Trajanje vibr. ob prit. tipke"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Glasn. zvoka ob pritisku tipke"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Prilagaj. animacij predogleda tipk"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Branje zunanje datoteke slovarja"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"V mapi »Prenosi« ni nobene datoteke slovarja"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Izberite datoteko slovarja, ki jo želite namestiti"</string>
diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml
index c217775..6e2f266 100644
--- a/java/res/values-sr/strings.xml
+++ b/java/res/values-sr/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Одлагање при дугом притиску"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Трајање вибрације при притиску"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Јачина звука при притиску"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Прилаг. анимац. за преглед тастера"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Читање датотеке спољног речника"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"У директоријуму Преузимања нема датотека речника"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Избор датотеке речника за инсталирање"</string>
diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml
index 30a390b..3ea4b9d 100644
--- a/java/res/values-sv/strings.xml
+++ b/java/res/values-sv/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Fördröjning vid långt tryck"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Vibrationslängd för tangenter"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Ljudvolym för tangenter"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Läs extern ordboksfil"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Inga ordboksfiler i mappen Hämtningar"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Välj en ordboksfil att installera"</string>
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index 6060d08..cfcf2af 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Ubofyaji kitufe kunakochelewa"</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_customize_key_preview_animation" msgid="4537507402140318920">"Wekea mapendeleo uhuishaji maalum wa kuchungulia kwanza"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Soma faili ya kamusi ya nje"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Hakuna faili za kamusi katika folda ya Vilivyopakuliwa"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Chagua faili ya kamusi ya kusakinisha"</string>
diff --git a/java/res/values-ta-rIN/strings.xml b/java/res/values-ta-rIN/strings.xml
index 475a1ef..3b59535 100644
--- a/java/res/values-ta-rIN/strings.xml
+++ b/java/res/values-ta-rIN/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"விசையின் நீண்ட அழுத்தத்தின் தாமதம்"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"விசையழுத்த அதிர்வின் காலஅளவு"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"விசையழுத்த ஒலியளவு"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"விசை முன்னோட்ட அனிமேஷனைத் தனிப்பயனாக்கு"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"வெளிப்புற அகராதி கோப்பைப் படித்தல்"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"பதிவிறக்கங்கள் கோப்புறையில் அகராதி கோப்புகள் எதுவும் இல்லை"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"நிறுவுவதற்கு அகராதி கோப்பைத் தேர்ந்தெடுக்கவும்"</string>
diff --git a/java/res/values-te-rIN/strings.xml b/java/res/values-te-rIN/strings.xml
index 2b961c0..340553d 100644
--- a/java/res/values-te-rIN/strings.xml
+++ b/java/res/values-te-rIN/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"కీని ఎక్కువసేపు నొక్కి ఉంచాల్సిన సమయంలో ఆలస్యం"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"కీని నొక్కినప్పుడు వైబ్రేషన్ వ్యవధి"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"కీని నొక్కినప్పుడు చేసే ధ్వని వాల్యూమ్"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"కీ పరిదృశ్య యానిమే. అనుకూలీకరించండి"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"బాహ్య నిఘంటువు ఫైల్‌ను చదవండి"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"డౌన్‌లోడ్‌ల ఫోల్డర్‌లో నిఘంటువు ఫైల్‌లు ఏవీ లేవు"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ఇన్‌స్టాల్ చేయాల్సిన నిఘంటువు ఫైల్‌ను ఎంచుకోండి"</string>
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index 9f4d9b6..3e69f12 100644
--- a/java/res/values-th/strings.xml
+++ b/java/res/values-th/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"การหน่วงเวลาของการกดแป้นค้าง"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"ระยะเวลาการสั่นเมื่อกดแป้นพิมพ์"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"ระดับเสียงเมื่อกดแป้นพิมพ์"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"อ่านไฟล์พจนานุกรมภายนอก"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ไม่มีไฟล์พจนานุกรมในโฟลเดอร์ดาวน์โหลด"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"เลือกไฟล์พจนานุกรมที่จะติดตั้ง"</string>
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
index dd9332d..69c3250 100644
--- a/java/res/values-tl/strings.xml
+++ b/java/res/values-tl/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Key long press delay"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Tagal ng vibration ng keypress"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volume ng tunog ng keypress"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Magbasa ng panlabas na file ng diksyunaryo"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Walang mga file ng diksyunaryo sa folder na Mga Download"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Pumili ng file ng diksyunaryo na ii-install"</string>
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
index 09f5409..84313cb 100644
--- a/java/res/values-tr/strings.xml
+++ b/java/res/values-tr/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Tuşa uzun basma gecikmesi"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Tuşa basma titreşim süresi"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Tuşa basma ses seviyesi"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Harici sözlük dosyasını oku"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"İndirilenler klasöründe sözlük dosyası yok"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Yüklemek için bir sözlük dosyası seçin"</string>
diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml
index 762dd22..a2a1531 100644
--- a/java/res/values-uk/strings.xml
+++ b/java/res/values-uk/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Затримка довгого натискання"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Вібрація при натисканні клавіш"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Гучність натискання клавіш"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Налаштування анімації перегляду"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Читати файл зовнішнього словника"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"У папці \"Завантаження\" немає файлів словника"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Вибрати файл словника, який потрібно встановити"</string>
diff --git a/java/res/values-ur-rPK/strings.xml b/java/res/values-ur-rPK/strings.xml
index 28eebd2..433bd2b 100644
--- a/java/res/values-ur-rPK/strings.xml
+++ b/java/res/values-ur-rPK/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"کلید کو دیر تک دبانے کی تاخیر"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"کلید دبانے پر وائبریشن کا دورانیہ"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"کلید دبانے پر آواز کا والیوم"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"خارجی لغت کی فائل پڑھیں"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ڈاؤن لوڈز فولڈر میں کوئی لغت فائلیں نہیں ہیں"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"انسٹال کرنے کیلئے ایک لغت فائل منتخب کریں"</string>
diff --git a/java/res/values-uz-rUZ/strings.xml b/java/res/values-uz-rUZ/strings.xml
index eb7d630..ab0c474 100644
--- a/java/res/values-uz-rUZ/strings.xml
+++ b/java/res/values-uz-rUZ/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Uzoq bosib turish"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Tugma bosilganda tebranish vaqti"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Tugma bosilgandagi ovoz"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Tugma animatsiyasini sozlash"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Tashqi fayldagi lug‘atni yuklash"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Yuklab olinganlar jildida hech qanday lug‘at fayli mavjud emas"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"O‘rnatish uchun lug‘at faylini tanlang"</string>
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
index a0057e6..0a46139 100644
--- a/java/res/values-vi/strings.xml
+++ b/java/res/values-vi/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Tgian chờ cho nhấn và giữ phím"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Thời gian rung khi nhấn phím"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Âm lượng khi nhấn phím"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Đọc tệp từ điển bên ngoài"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Không có tệp từ điển nào trong thư mục Nội dung tải xuống"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Chọn tệp từ điển để cài đặt"</string>
diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml
index 0986a8e..8d90f37 100644
--- a/java/res/values-zh-rCN/strings.xml
+++ b/java/res/values-zh-rCN/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"按键长按延迟"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"按键振动时长"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"按键音量"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"读取外部字典文件"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"“下载内容”文件夹中没有字典文件"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"选择要安装的字典文件"</string>
diff --git a/java/res/values-zh-rHK/strings.xml b/java/res/values-zh-rHK/strings.xml
index cd744d6..94052d6 100644
--- a/java/res/values-zh-rHK/strings.xml
+++ b/java/res/values-zh-rHK/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"長按鍵延遲"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"按鍵震動時間"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"按鍵音量"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"讀取外部字典檔案"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"「下載」資料夾中沒有任何字典檔案"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"選取要安裝的字典檔案"</string>
diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml
index 726c697..37c16a5 100644
--- a/java/res/values-zh-rTW/strings.xml
+++ b/java/res/values-zh-rTW/strings.xml
@@ -117,6 +117,8 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"按鍵長按延遲"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"按鍵震動持續時間"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"按鍵音量"</string>
+    <!-- no translation found for prefs_customize_key_preview_animation (4537507402140318920) -->
+    <skip />
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"讀取外部字典檔案"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"「下載」資料夾中沒有任何字典檔案"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"選取要安裝的字典檔案"</string>
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
index 1ad0f1e..c824848 100644
--- a/java/res/values-zu/strings.xml
+++ b/java/res/values-zu/strings.xml
@@ -117,6 +117,7 @@
     <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Ukulibazisa ukucindezela isikhashana ukhiye"</string>
     <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Ubude besikhathi sokudlidliza ukucindezela ukhiye"</string>
     <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Ivolumu yomsindo wokucindezela ukhiye"</string>
+    <string name="prefs_customize_key_preview_animation" msgid="4537507402140318920">"Yenza ngokwezifiso opopayi bokubuka kuqala abangukhiye"</string>
     <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Funda ifayela elangaphandle lesichazamazwi"</string>
     <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Awekho amafayela wesichazamazwi kufolda yokulandiwe"</string>
     <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Khetha ifayela lesichazamazwi ukuze ulifake"</string>
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
index 480bd1f..fde94da 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
@@ -62,10 +62,10 @@
     private static final int CAPITALIZED_FORM_MAX_PROBABILITY_FOR_INSERT = 140;
     private static final int MAX_DICTIONARY_FACILITATOR_CACHE_SIZE = 3;
 
-    private Dictionaries mDictionaries = new Dictionaries();
+    private DictionaryGroup mDictionaryGroup = new DictionaryGroup();
     private boolean mIsUserDictEnabled = false;
     private volatile CountDownLatch mLatchForWaitingLoadingMainDictionary = new CountDownLatch(0);
-    // To synchronize assigning mDictionaries to ensure closing dictionaries.
+    // To synchronize assigning mDictionaryGroup to ensure closing dictionaries.
     private final Object mLock = new Object();
     private final DistracterFilter mDistracterFilter;
     private final DictionaryFacilitatorLruCache mFacilitatorCacheForPersonalization;
@@ -100,22 +100,22 @@
                     DICT_TYPES_ORDERED_TO_GET_SUGGESTIONS.length);
 
     /**
-     * Class contains dictionaries for a locale.
+     * A group of dictionaries that work together for a single language.
      */
-    private static class Dictionaries {
+    private static class DictionaryGroup {
         public final Locale mLocale;
         private Dictionary mMainDict;
         public final ConcurrentHashMap<String, ExpandableBinaryDictionary> mSubDictMap =
                 new ConcurrentHashMap<>();
 
-        public Dictionaries() {
+        public DictionaryGroup() {
             mLocale = null;
         }
 
-        public Dictionaries(final Locale locale, final Dictionary mainDict,
+        public DictionaryGroup(final Locale locale, final Dictionary mainDict,
                 final Map<String, ExpandableBinaryDictionary> subDicts) {
             mLocale = locale;
-            // Main dictionary can be asynchronously loaded.
+            // The main dictionary can be asynchronously loaded.
             setMainDict(mainDict);
             for (final Map.Entry<String, ExpandableBinaryDictionary> entry : subDicts.entrySet()) {
                 setSubDict(entry.getKey(), entry.getValue());
@@ -191,7 +191,7 @@
     }
 
     public Locale getLocale() {
-        return mDictionaries.mLocale;
+        return mDictionaryGroup.mLocale;
     }
 
     private static ExpandableBinaryDictionary getSubDict(final String dictType,
@@ -228,7 +228,7 @@
             final boolean forceReloadMainDictionary,
             final DictionaryInitializationListener listener,
             final String dictNamePrefix) {
-        final boolean localeHasBeenChanged = !newLocale.equals(mDictionaries.mLocale);
+        final boolean localeHasBeenChanged = !newLocale.equals(mDictionaryGroup.mLocale);
         // We always try to have the main dictionary. Other dictionaries can be unused.
         final boolean reloadMainDictionary = localeHasBeenChanged || forceReloadMainDictionary;
         // TODO: Make subDictTypesToUse configurable by resource or a static final list.
@@ -248,7 +248,7 @@
             // The main dictionary will be asynchronously loaded.
             newMainDict = null;
         } else {
-            newMainDict = mDictionaries.getDict(Dictionary.TYPE_MAIN);
+            newMainDict = mDictionaryGroup.getDict(Dictionary.TYPE_MAIN);
         }
 
         final Map<String, ExpandableBinaryDictionary> subDicts = new HashMap<>();
@@ -258,9 +258,9 @@
                 continue;
             }
             final ExpandableBinaryDictionary dict;
-            if (!localeHasBeenChanged && mDictionaries.hasDict(dictType)) {
+            if (!localeHasBeenChanged && mDictionaryGroup.hasDict(dictType)) {
                 // Continue to use current dictionary.
-                dict = mDictionaries.getSubDict(dictType);
+                dict = mDictionaryGroup.getSubDict(dictType);
             } else {
                 // Start to use new dictionary.
                 dict = getSubDict(dictType, context, newLocale, null /* dictFile */,
@@ -269,12 +269,12 @@
             subDicts.put(dictType, dict);
         }
 
-        // Replace Dictionaries.
-        final Dictionaries newDictionaries = new Dictionaries(newLocale, newMainDict, subDicts);
-        final Dictionaries oldDictionaries;
+        // Replace DictionaryGroup.
+        final DictionaryGroup newDictionaryGroup = new DictionaryGroup(newLocale, newMainDict, subDicts);
+        final DictionaryGroup oldDictionaryGroup;
         synchronized (mLock) {
-            oldDictionaries = mDictionaries;
-            mDictionaries = newDictionaries;
+            oldDictionaryGroup = mDictionaryGroup;
+            mDictionaryGroup = newDictionaryGroup;
             mIsUserDictEnabled = UserBinaryDictionary.isEnabled(context);
             if (reloadMainDictionary) {
                 asyncReloadMainDictionary(context, newLocale, listener);
@@ -285,14 +285,14 @@
         }
         // Clean up old dictionaries.
         if (reloadMainDictionary) {
-            oldDictionaries.closeDict(Dictionary.TYPE_MAIN);
+            oldDictionaryGroup.closeDict(Dictionary.TYPE_MAIN);
         }
         for (final String dictType : SUB_DICT_TYPES) {
             if (localeHasBeenChanged || !subDictTypesToUse.contains(dictType)) {
-                oldDictionaries.closeDict(dictType);
+                oldDictionaryGroup.closeDict(dictType);
             }
         }
-        oldDictionaries.mSubDictMap.clear();
+        oldDictionaryGroup.mSubDictMap.clear();
     }
 
     private void asyncReloadMainDictionary(final Context context, final Locale locale,
@@ -305,8 +305,8 @@
                 final Dictionary mainDict =
                         DictionaryFactory.createMainDictionaryFromManager(context, locale);
                 synchronized (mLock) {
-                    if (locale.equals(mDictionaries.mLocale)) {
-                        mDictionaries.setMainDict(mainDict);
+                    if (locale.equals(mDictionaryGroup.mLocale)) {
+                        mDictionaryGroup.setMainDict(mainDict);
                     } else {
                         // Dictionary facilitator has been reset for another locale.
                         mainDict.close();
@@ -346,17 +346,17 @@
                 subDicts.put(dictType, dict);
             }
         }
-        mDictionaries = new Dictionaries(locale, mainDictionary, subDicts);
+        mDictionaryGroup = new DictionaryGroup(locale, mainDictionary, subDicts);
     }
 
     public void closeDictionaries() {
-        final Dictionaries dictionaries;
+        final DictionaryGroup dictionaryGroup;
         synchronized (mLock) {
-            dictionaries = mDictionaries;
-            mDictionaries = new Dictionaries();
+            dictionaryGroup = mDictionaryGroup;
+            mDictionaryGroup = new DictionaryGroup();
         }
         for (final String dictType : DICT_TYPES_ORDERED_TO_GET_SUGGESTIONS) {
-            dictionaries.closeDict(dictType);
+            dictionaryGroup.closeDict(dictType);
         }
         if (mFacilitatorCacheForPersonalization != null) {
             mFacilitatorCacheForPersonalization.evictAll();
@@ -366,23 +366,23 @@
 
     @UsedForTesting
     public ExpandableBinaryDictionary getSubDictForTesting(final String dictName) {
-        return mDictionaries.getSubDict(dictName);
+        return mDictionaryGroup.getSubDict(dictName);
     }
 
     // The main dictionary could have been loaded asynchronously.  Don't cache the return value
     // of this method.
     public boolean hasInitializedMainDictionary() {
-        final Dictionary mainDict = mDictionaries.getDict(Dictionary.TYPE_MAIN);
+        final Dictionary mainDict = mDictionaryGroup.getDict(Dictionary.TYPE_MAIN);
         return mainDict != null && mainDict.isInitialized();
     }
 
     public boolean hasPersonalizationDictionary() {
-        return mDictionaries.hasDict(Dictionary.TYPE_PERSONALIZATION);
+        return mDictionaryGroup.hasDict(Dictionary.TYPE_PERSONALIZATION);
     }
 
     public void flushPersonalizationDictionary() {
         final ExpandableBinaryDictionary personalizationDict =
-                mDictionaries.getSubDict(Dictionary.TYPE_PERSONALIZATION);
+                mDictionaryGroup.getSubDict(Dictionary.TYPE_PERSONALIZATION);
         if (personalizationDict != null) {
             personalizationDict.asyncFlushBinaryDictionary();
         }
@@ -397,7 +397,7 @@
     public void waitForLoadingDictionariesForTesting(final long timeout, final TimeUnit unit)
             throws InterruptedException {
         waitForLoadingMainDictionary(timeout, unit);
-        final Map<String, ExpandableBinaryDictionary> dictMap = mDictionaries.mSubDictMap;
+        final Map<String, ExpandableBinaryDictionary> dictMap = mDictionaryGroup.mSubDictMap;
         for (final ExpandableBinaryDictionary dict : dictMap.values()) {
             dict.waitAllTasksForTests();
         }
@@ -418,24 +418,24 @@
     public void addToUserHistory(final String suggestion, final boolean wasAutoCapitalized,
             final PrevWordsInfo prevWordsInfo, final int timeStampInSeconds,
             final boolean blockPotentiallyOffensive) {
-        final Dictionaries dictionaries = mDictionaries;
+        final DictionaryGroup dictionaryGroup = mDictionaryGroup;
         final String[] words = suggestion.split(Constants.WORD_SEPARATOR);
         PrevWordsInfo prevWordsInfoForCurrentWord = prevWordsInfo;
         for (int i = 0; i < words.length; i++) {
             final String currentWord = words[i];
             final boolean wasCurrentWordAutoCapitalized = (i == 0) ? wasAutoCapitalized : false;
-            addWordToUserHistory(dictionaries, prevWordsInfoForCurrentWord, currentWord,
+            addWordToUserHistory(dictionaryGroup, prevWordsInfoForCurrentWord, currentWord,
                     wasCurrentWordAutoCapitalized, timeStampInSeconds, blockPotentiallyOffensive);
             prevWordsInfoForCurrentWord =
                     prevWordsInfoForCurrentWord.getNextPrevWordsInfo(new WordInfo(currentWord));
         }
     }
 
-    private void addWordToUserHistory(final Dictionaries dictionaries,
+    private void addWordToUserHistory(final DictionaryGroup dictionaryGroup,
             final PrevWordsInfo prevWordsInfo, final String word, final boolean wasAutoCapitalized,
             final int timeStampInSeconds, final boolean blockPotentiallyOffensive) {
         final ExpandableBinaryDictionary userHistoryDictionary =
-                dictionaries.getSubDict(Dictionary.TYPE_USER_HISTORY);
+                dictionaryGroup.getSubDict(Dictionary.TYPE_USER_HISTORY);
         if (userHistoryDictionary == null) {
             return;
         }
@@ -443,7 +443,7 @@
         if (maxFreq == 0 && blockPotentiallyOffensive) {
             return;
         }
-        final String lowerCasedWord = word.toLowerCase(dictionaries.mLocale);
+        final String lowerCasedWord = word.toLowerCase(dictionaryGroup.mLocale);
         final String secondWord;
         if (wasAutoCapitalized) {
             if (isValidWord(word, false /* ignoreCase */)
@@ -464,8 +464,8 @@
             // History dictionary in order to avoid suggesting them until the dictionary
             // consolidation is done.
             // TODO: Remove this hack when ready.
-            final int lowerCaseFreqInMainDict = dictionaries.hasDict(Dictionary.TYPE_MAIN) ?
-                    dictionaries.getDict(Dictionary.TYPE_MAIN).getFrequency(lowerCasedWord) :
+            final int lowerCaseFreqInMainDict = dictionaryGroup.hasDict(Dictionary.TYPE_MAIN) ?
+                    dictionaryGroup.getDict(Dictionary.TYPE_MAIN).getFrequency(lowerCasedWord) :
                             Dictionary.NOT_A_PROBABILITY;
             if (maxFreq < lowerCaseFreqInMainDict
                     && lowerCaseFreqInMainDict >= CAPITALIZED_FORM_MAX_PROBABILITY_FOR_INSERT) {
@@ -485,7 +485,7 @@
     }
 
     private void removeWord(final String dictName, final String word) {
-        final ExpandableBinaryDictionary dictionary = mDictionaries.getSubDict(dictName);
+        final ExpandableBinaryDictionary dictionary = mDictionaryGroup.getSubDict(dictName);
         if (dictionary != null) {
             dictionary.removeUnigramEntryDynamically(word);
         }
@@ -501,12 +501,12 @@
     public SuggestionResults getSuggestionResults(final WordComposer composer,
             final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
             final SettingsValuesForSuggestion settingsValuesForSuggestion, final int sessionId) {
-        final Dictionaries dictionaries = mDictionaries;
+        final DictionaryGroup dictionaryGroup = mDictionaryGroup;
         final SuggestionResults suggestionResults =
                 new SuggestionResults(SuggestedWords.MAX_SUGGESTIONS);
         final float[] languageWeight = new float[] { Dictionary.NOT_A_LANGUAGE_WEIGHT };
         for (final String dictType : DICT_TYPES_ORDERED_TO_GET_SUGGESTIONS) {
-            final Dictionary dictionary = dictionaries.getDict(dictType);
+            final Dictionary dictionary = dictionaryGroup.getDict(dictType);
             if (null == dictionary) continue;
             final ArrayList<SuggestedWordInfo> dictionarySuggestions =
                     dictionary.getSuggestions(composer, prevWordsInfo, proximityInfo,
@@ -524,13 +524,13 @@
         if (TextUtils.isEmpty(word)) {
             return false;
         }
-        final Dictionaries dictionaries = mDictionaries;
-        if (dictionaries.mLocale == null) {
+        final DictionaryGroup dictionaryGroup = mDictionaryGroup;
+        if (dictionaryGroup.mLocale == null) {
             return false;
         }
-        final String lowerCasedWord = word.toLowerCase(dictionaries.mLocale);
+        final String lowerCasedWord = word.toLowerCase(dictionaryGroup.mLocale);
         for (final String dictType : DICT_TYPES_ORDERED_TO_GET_SUGGESTIONS) {
-            final Dictionary dictionary = dictionaries.getDict(dictType);
+            final Dictionary dictionary = dictionaryGroup.getDict(dictType);
             // Ideally the passed map would come out of a {@link java.util.concurrent.Future} and
             // would be immutable once it's finished initializing, but concretely a null test is
             // probably good enough for the time being.
@@ -549,9 +549,9 @@
             return Dictionary.NOT_A_PROBABILITY;
         }
         int maxFreq = Dictionary.NOT_A_PROBABILITY;
-        final Dictionaries dictionaries = mDictionaries;
+        final DictionaryGroup dictionaryGroup = mDictionaryGroup;
         for (final String dictType : DICT_TYPES_ORDERED_TO_GET_SUGGESTIONS) {
-            final Dictionary dictionary = dictionaries.getDict(dictType);
+            final Dictionary dictionary = dictionaryGroup.getDict(dictType);
             if (dictionary == null) continue;
             final int tempFreq;
             if (isGettingMaxFrequencyOfExactMatches) {
@@ -575,7 +575,7 @@
     }
 
     private void clearSubDictionary(final String dictName) {
-        final ExpandableBinaryDictionary dictionary = mDictionaries.getSubDict(dictName);
+        final ExpandableBinaryDictionary dictionary = mDictionaryGroup.getSubDict(dictName);
         if (dictionary != null) {
             dictionary.clear();
         }
@@ -600,7 +600,7 @@
             final SpacingAndPunctuations spacingAndPunctuations,
             final ExpandableBinaryDictionary.AddMultipleDictionaryEntriesCallback callback) {
         final ExpandableBinaryDictionary personalizationDict =
-                mDictionaries.getSubDict(Dictionary.TYPE_PERSONALIZATION);
+                mDictionaryGroup.getSubDict(Dictionary.TYPE_PERSONALIZATION);
         if (personalizationDict == null) {
             if (callback != null) {
                 callback.onFinished();
@@ -630,7 +630,7 @@
     public void addPhraseToContextualDictionary(final String[] phrase, final int probability,
             final int bigramProbabilityForWords, final int bigramProbabilityForPhrases) {
         final ExpandableBinaryDictionary contextualDict =
-                mDictionaries.getSubDict(Dictionary.TYPE_CONTEXTUAL);
+                mDictionaryGroup.getSubDict(Dictionary.TYPE_CONTEXTUAL);
         if (contextualDict == null) {
             return;
         }
@@ -663,7 +663,7 @@
     }
 
     public void dumpDictionaryForDebug(final String dictName) {
-        final ExpandableBinaryDictionary dictToDump = mDictionaries.getSubDict(dictName);
+        final ExpandableBinaryDictionary dictToDump = mDictionaryGroup.getSubDict(dictName);
         if (dictToDump == null) {
             Log.e(TAG, "Cannot dump " + dictName + ". "
                     + "The dictionary is not being used for suggestion or cannot be dumped.");
@@ -674,9 +674,9 @@
 
     public ArrayList<Pair<String, DictionaryStats>> getStatsOfEnabledSubDicts() {
         final ArrayList<Pair<String, DictionaryStats>> statsOfEnabledSubDicts = new ArrayList<>();
-        final Dictionaries dictionaries = mDictionaries;
+        final DictionaryGroup dictionaryGroup = mDictionaryGroup;
         for (final String dictType : SUB_DICT_TYPES) {
-            final ExpandableBinaryDictionary dictionary = dictionaries.getSubDict(dictType);
+            final ExpandableBinaryDictionary dictionary = dictionaryGroup.getSubDict(dictType);
             if (dictionary == null) continue;
             statsOfEnabledSubDicts.add(new Pair<>(dictType, dictionary.getDictionaryStats()));
         }
diff --git a/java/src/com/android/inputmethod/latin/utils/CapsModeUtils.java b/java/src/com/android/inputmethod/latin/utils/CapsModeUtils.java
index 9362193..92bd02c 100644
--- a/java/src/com/android/inputmethod/latin/utils/CapsModeUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/CapsModeUtils.java
@@ -217,7 +217,8 @@
         // a sentence. If it's neither, the only remaining case is the period so we get the opposite
         // case out of the way.
         if (c == Constants.CODE_QUESTION_MARK || c == Constants.CODE_EXCLAMATION_MARK) {
-            return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_SENTENCES) & reqModes;
+            return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_WORDS
+                    | TextUtils.CAP_MODE_SENTENCES) & reqModes;
         }
         if (!spacingAndPunctuations.isSentenceSeparator(c) || j <= 0) {
             return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_WORDS) & reqModes;
diff --git a/native/jni/NativeFileList.mk b/native/jni/NativeFileList.mk
index 4f77388..68d2bbd 100644
--- a/native/jni/NativeFileList.mk
+++ b/native/jni/NativeFileList.mk
@@ -125,6 +125,7 @@
     suggest/core/dictionary/bloom_filter_test.cpp \
     suggest/core/layout/geometry_utils_test.cpp \
     suggest/core/layout/normal_distribution_2d_test.cpp \
+    suggest/policyimpl/dictionary/header/header_read_write_utils_test.cpp \
     suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content_test.cpp \
     suggest/policyimpl/dictionary/structure/v4/content/probability_entry_test.cpp \
     suggest/policyimpl/dictionary/structure/v4/content/terminal_position_lookup_table_test.cpp \
diff --git a/native/jni/src/suggest/policyimpl/dictionary/header/header_read_write_utils.cpp b/native/jni/src/suggest/policyimpl/dictionary/header/header_read_write_utils.cpp
index a8f8f28..d2c3d2f 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/header/header_read_write_utils.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/header/header_read_write_utils.cpp
@@ -142,7 +142,8 @@
 }
 
 /* static */ void HeaderReadWriteUtils::setCodePointVectorAttribute(
-        AttributeMap *const headerAttributes, const char *const key, const std::vector<int> value) {
+        AttributeMap *const headerAttributes, const char *const key,
+        const std::vector<int> &value) {
     AttributeMap::key_type keyVector;
     insertCharactersIntoVector(key, &keyVector);
     (*headerAttributes)[keyVector] = value;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/header/header_read_write_utils.h b/native/jni/src/suggest/policyimpl/dictionary/header/header_read_write_utils.h
index 9b90488..1ab2eec 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/header/header_read_write_utils.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/header/header_read_write_utils.h
@@ -64,7 +64,7 @@
      */
     static void setCodePointVectorAttribute(
             DictionaryHeaderStructurePolicy::AttributeMap *const headerAttributes,
-            const char *const key, const std::vector<int> value);
+            const char *const key, const std::vector<int> &value);
 
     static void setBoolAttribute(
             DictionaryHeaderStructurePolicy::AttributeMap *const headerAttributes,
diff --git a/native/jni/tests/suggest/policyimpl/dictionary/header/header_read_write_utils_test.cpp b/native/jni/tests/suggest/policyimpl/dictionary/header/header_read_write_utils_test.cpp
new file mode 100644
index 0000000..da6a2af
--- /dev/null
+++ b/native/jni/tests/suggest/policyimpl/dictionary/header/header_read_write_utils_test.cpp
@@ -0,0 +1,78 @@
+/*
+ * 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.
+ */
+
+#include "suggest/policyimpl/dictionary/header/header_read_write_utils.h"
+
+#include <gtest/gtest.h>
+
+#include <cstring>
+#include <vector>
+
+#include "suggest/core/policy/dictionary_header_structure_policy.h"
+
+namespace latinime {
+namespace {
+
+TEST(HeaderReadWriteUtilsTest, TestInsertCharactersIntoVector) {
+    DictionaryHeaderStructurePolicy::AttributeMap::key_type vector;
+
+    HeaderReadWriteUtils::insertCharactersIntoVector("", &vector);
+    EXPECT_TRUE(vector.empty());
+
+    static const char *str = "abc-xyz!?";
+    HeaderReadWriteUtils::insertCharactersIntoVector(str, &vector);
+    EXPECT_EQ(strlen(str) , vector.size());
+    for (size_t i = 0; i < vector.size(); ++i) {
+        EXPECT_EQ(str[i], vector[i]);
+    }
+}
+
+TEST(HeaderReadWriteUtilsTest, TestAttributeMapForInt) {
+    DictionaryHeaderStructurePolicy::AttributeMap attributeMap;
+
+    // Returns default value if not exists.
+    EXPECT_EQ(-1, HeaderReadWriteUtils::readIntAttributeValue(&attributeMap, "", -1));
+    EXPECT_EQ(100, HeaderReadWriteUtils::readIntAttributeValue(&attributeMap, "abc", 100));
+
+    HeaderReadWriteUtils::setIntAttribute(&attributeMap, "abc", 10);
+    EXPECT_EQ(10, HeaderReadWriteUtils::readIntAttributeValue(&attributeMap, "abc", 100));
+    HeaderReadWriteUtils::setIntAttribute(&attributeMap, "abc", 20);
+    EXPECT_EQ(20, HeaderReadWriteUtils::readIntAttributeValue(&attributeMap, "abc", 100));
+    HeaderReadWriteUtils::setIntAttribute(&attributeMap, "abcd", 30);
+    EXPECT_EQ(30, HeaderReadWriteUtils::readIntAttributeValue(&attributeMap, "abcd", 100));
+    EXPECT_EQ(20, HeaderReadWriteUtils::readIntAttributeValue(&attributeMap, "abc", 100));
+}
+
+TEST(HeaderReadWriteUtilsTest, TestAttributeMapCodeForPoints) {
+    DictionaryHeaderStructurePolicy::AttributeMap attributeMap;
+
+    // Returns empty vector if not exists.
+    EXPECT_TRUE(HeaderReadWriteUtils::readCodePointVectorAttributeValue(&attributeMap, "").empty());
+    EXPECT_TRUE(HeaderReadWriteUtils::readCodePointVectorAttributeValue(
+            &attributeMap, "abc").empty());
+
+    HeaderReadWriteUtils::setCodePointVectorAttribute(&attributeMap, "abc", {});
+    EXPECT_TRUE(HeaderReadWriteUtils::readCodePointVectorAttributeValue(
+            &attributeMap, "abc").empty());
+
+    const std::vector<int> codePoints = { 0x0, 0x20, 0x1F, 0x100000 };
+    HeaderReadWriteUtils::setCodePointVectorAttribute(&attributeMap, "abc", codePoints);
+    EXPECT_EQ(codePoints, HeaderReadWriteUtils::readCodePointVectorAttributeValue(
+            &attributeMap, "abc"));
+}
+
+}  // namespace
+}  // namespace latinime
diff --git a/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java b/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java
index c746c83..5d36647 100644
--- a/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java
+++ b/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java
@@ -124,5 +124,17 @@
         allPathsForCaps("Word. ", c | w, sp, false);
         // Armenian period : capitalize if MODE_SENTENCES
         allPathsForCaps("Word\u0589 ", c | w | s, sp, false);
+
+        // Test for sentence terminators
+        sp = job.runInLocale(res, Locale.ENGLISH);
+        allPathsForCaps("Word? ", c | w | s, sp, false);
+        allPathsForCaps("Word?", c | w | s, sp, true);
+        allPathsForCaps("Word?", c, sp, false);
+        allPathsForCaps("Word! ", c | w | s, sp, false);
+        allPathsForCaps("Word!", c | w | s, sp, true);
+        allPathsForCaps("Word!", c, sp, false);
+        allPathsForCaps("Word; ", c | w, sp, false);
+        allPathsForCaps("Word;", c | w, sp, true);
+        allPathsForCaps("Word;", c, sp, false);
     }
 }