diff --git a/java/res/values-da/altchars.xml b/java/res/values-da/altchars.xml
index c165b11c5..7b313bdba 100644
--- a/java/res/values-da/altchars.xml
+++ b/java/res/values-da/altchars.xml
@@ -18,13 +18,21 @@
*/
-->
- àáâãäåæ
- èéêë
- ìíîï
- òóôõöœø
- ùúûü
- §ß
- ñ
- ç
- ýÿ
+ áàâąã
+ éèêëę€
+ íìîï
+ óòôõ
+ úùûū
+ śšşß
+ ńñň
+ çćč
+ ýÿü
+ ðď
+ ř
+ ťþ
+ źžż
+ ł
+ w
+ ä
+ öœ
diff --git a/java/res/values-nb/altchars.xml b/java/res/values-nb/altchars.xml
index 0bb186bc8..2019f44f1 100644
--- a/java/res/values-nb/altchars.xml
+++ b/java/res/values-nb/altchars.xml
@@ -18,13 +18,20 @@
*/
-->
- åæáàâãä
- éèêë
+ äáàâąã
+ éèêëę€
íìîï
- ôóòöõœø
- üùúû
- ߧ
- ñ
- ç
+ öóòôõ
+ üúùûū
+ śšşß
+ ńñň
+ çćč
ýÿ
+ ðď
+ ř
+ ťþ
+ źžż
+ ł
+ w
+ œ
diff --git a/java/res/values-ru/altchars.xml b/java/res/values-ru/altchars.xml
index c165b11c5..f54586783 100644
--- a/java/res/values-ru/altchars.xml
+++ b/java/res/values-ru/altchars.xml
@@ -27,4 +27,6 @@
ñ
ç
ýÿ
+ ё
+ ъ
diff --git a/java/res/values-sv/altchars.xml b/java/res/values-sv/altchars.xml
index c165b11c5..33a367bc2 100644
--- a/java/res/values-sv/altchars.xml
+++ b/java/res/values-sv/altchars.xml
@@ -18,13 +18,21 @@
*/
-->
- àáâãäåæ
- èéêë
- ìíîï
- òóôõöœø
- ùúûü
- §ß
- ñ
- ç
- ýÿ
+ áàâąã
+ éèêëę€
+ íìîï
+ óòôõ
+ úùûū
+ śšşß
+ ńñň
+ çćč
+ ýÿü
+ ðď
+ ř
+ ťþ
+ źžż
+ ł
+ w
+ æ
+ øœ
diff --git a/java/res/values-tr/altchars.xml b/java/res/values-tr/altchars.xml
index e51e7cff1..55ad8a75e 100644
--- a/java/res/values-tr/altchars.xml
+++ b/java/res/values-tr/altchars.xml
@@ -20,7 +20,7 @@
àáâãäåæ
èéêë
- iìíîï
+ ìíîï
öòóôõœø
üùúû
ş§ß
diff --git a/java/res/values/altchars.xml b/java/res/values/altchars.xml
index ff12a3f26..bba7282c9 100644
--- a/java/res/values/altchars.xml
+++ b/java/res/values/altchars.xml
@@ -36,4 +36,11 @@
0
+
+
+
+
+
+
+
diff --git a/java/res/xml-da/kbd_qwerty.xml b/java/res/xml-da/kbd_qwerty.xml
index 3bbd55251..53b4d5018 100644
--- a/java/res/xml-da/kbd_qwerty.xml
+++ b/java/res/xml-da/kbd_qwerty.xml
@@ -41,31 +41,31 @@
+ android:popupCharacters="@string/alternates_for_e" />
+ android:popupCharacters="@string/alternates_for_r" />
+ android:popupCharacters="@string/alternates_for_t" />
+ android:popupCharacters="@string/alternates_for_y" />
+ android:popupCharacters="@string/alternates_for_u" />
+ android:popupCharacters="@string/alternates_for_i" />
+ android:popupCharacters="@string/alternates_for_o" />
+ android:popupCharacters="@string/alternates_for_s" />
+ android:popupCharacters="@string/alternates_for_d" />
+ android:popupCharacters="@string/alternates_for_l" />
+ android:popupCharacters="@string/alternates_for_ae" />
@@ -127,23 +127,23 @@
+ android:popupCharacters="@string/alternates_for_z" />
+ android:popupCharacters="@string/alternates_for_c" />
+ android:popupCharacters="@string/alternates_for_v" />
+ android:popupCharacters="@string/alternates_for_n" />
+ android:popupCharacters="@string/alternates_for_e" />
+ android:popupCharacters="@string/alternates_for_r" />
+ android:popupCharacters="@string/alternates_for_t" />
+ android:popupCharacters="@string/alternates_for_y" />
+ android:popupCharacters="@string/alternates_for_u" />
+ android:popupCharacters="@string/alternates_for_i" />
+ android:popupCharacters="@string/alternates_for_o" />
+ android:popupCharacters="@string/alternates_for_s" />
+ android:popupCharacters="@string/alternates_for_d" />
+ android:popupCharacters="@string/alternates_for_l" />
+ android:popupCharacters="@string/alternates_for_ae" />
@@ -127,23 +127,23 @@
+ android:popupCharacters="@string/alternates_for_z" />
+ android:popupCharacters="@string/alternates_for_c" />
+ android:popupCharacters="@string/alternates_for_v" />
+ android:popupCharacters="@string/alternates_for_n" />
+ android:popupCharacters="@string/alternates_for_e" />
+ android:popupCharacters="@string/alternates_for_r" />
+ android:popupCharacters="@string/alternates_for_t" />
+ android:popupCharacters="@string/alternates_for_y" />
+ android:popupCharacters="@string/alternates_for_u" />
+ android:popupCharacters="@string/alternates_for_i" />
+ android:popupCharacters="@string/alternates_for_o" />
+ android:popupCharacters="@string/alternates_for_s" />
+ android:popupCharacters="@string/alternates_for_d" />
+ android:popupCharacters="@string/alternates_for_l" />
+ android:popupCharacters="@string/alternates_for_oe" />
+ android:popupCharacters="@string/alternates_for_z" />
+ android:popupCharacters="@string/alternates_for_c" />
+ android:popupCharacters="@string/alternates_for_v" />
+ android:popupCharacters="@string/alternates_for_n" />
+ android:popupCharacters="@string/alternates_for_e" />
+ android:popupCharacters="@string/alternates_for_r" />
+ android:popupCharacters="@string/alternates_for_t" />
+ android:popupCharacters="@string/alternates_for_y" />
+ android:popupCharacters="@string/alternates_for_u" />
+ android:popupCharacters="@string/alternates_for_i" />
+ android:popupCharacters="@string/alternates_for_o" />
+ android:popupCharacters="@string/alternates_for_s" />
+ android:popupCharacters="@string/alternates_for_d" />
+ android:popupCharacters="@string/alternates_for_l" />
+ android:popupCharacters="@string/alternates_for_oe" />
+ android:popupCharacters="@string/alternates_for_z" />
+ android:popupCharacters="@string/alternates_for_c" />
+ android:popupCharacters="@string/alternates_for_v" />
+ android:popupCharacters="@string/alternates_for_n" />
+ android:popupCharacters="@string/alternates_for_cyrillic_e" />
+ android:popupCharacters="@string/alternates_for_cyrillic_soft_sign" />
+ android:popupCharacters="@string/alternates_for_cyrillic_e" />
+ android:popupCharacters="@string/alternates_for_cyrillic_soft_sign" />
+ android:popupCharacters="@string/alternates_for_e" />
+ android:popupCharacters="@string/alternates_for_r" />
+ android:popupCharacters="@string/alternates_for_t" />
+ android:popupCharacters="@string/alternates_for_y" />
+ android:popupCharacters="@string/alternates_for_u" />
+ android:popupCharacters="@string/alternates_for_i" />
+ android:popupCharacters="@string/alternates_for_o" />
+ android:popupCharacters="@string/alternates_for_s" />
+ android:popupCharacters="@string/alternates_for_d" />
+ android:popupCharacters="@string/alternates_for_l" />
+ android:popupCharacters="@string/alternates_for_o_umlaut" />
@@ -129,23 +129,23 @@
+ android:popupCharacters="@string/alternates_for_z" />
+ android:popupCharacters="@string/alternates_for_c" />
+ android:popupCharacters="@string/alternates_for_v" />
+ android:popupCharacters="@string/alternates_for_n" />
+ android:popupCharacters="@string/alternates_for_e" />
+ android:popupCharacters="@string/alternates_for_r" />
+ android:popupCharacters="@string/alternates_for_t" />
+ android:popupCharacters="@string/alternates_for_y" />
+ android:popupCharacters="@string/alternates_for_u" />
+ android:popupCharacters="@string/alternates_for_i" />
+ android:popupCharacters="@string/alternates_for_o" />
+ android:popupCharacters="@string/alternates_for_s" />
+ android:popupCharacters="@string/alternates_for_d" />
+ android:popupCharacters="@string/alternates_for_l" />
+ android:popupCharacters="@string/alternates_for_o_umlaut" />
@@ -129,23 +129,23 @@
+ android:popupCharacters="@string/alternates_for_z" />
+ android:popupCharacters="@string/alternates_for_c" />
+ android:popupCharacters="@string/alternates_for_v" />
+ android:popupCharacters="@string/alternates_for_n" />